Skip to main content
Lucas Lois Portfolio

I’ve had a handful of conversation with folks online about moving to Mobile as React developers. I’ve tried to summarize the advice and feedback here, in case it’s useful to others too.

React Native is a great way to build mobile apps if you’re already familiar with React. It is recommended as such by the official React Docs, the way in which you can build for both web and mobile “using the same skills”.

However, while the core aspects of React will be shared, there are some key differences that you’ll need to know if you want to be effective in building mobile apps. If you focus on these main differences, you’ll be able to get up to speed quickly and start building mobile apps in no time.

Navigation

As it’s been my experience getting React devs up to speed with React Native, navigation is what catches most folks off guard. Unlike the web, with route-based navigation, mobile apps are more explicit about modeling navigation with screens and hierarchies that stack them one on top of the other.

React Navigation is the gold standard. Most courses will teach that, and building things as you read the docs will be a great way to learn further.

Building and Environment Setup

Building and environment setup is much better now than a couple of years ago. You’ll have to get used to XCode and Android Studio mostly for writing some config, but it’s something you’ll need to use less and less. Most things work fine out of the box and building from the CLI is usually just fine. Expo is pretty good for this, but there are still a lot of companies not using it, so I still feel folks should know how to work without it.

Here the React Native Docs are perfect. I suggest going through the “Basics” section along with the “Environment Setup” one.

Permissions, Notifications and Going Native™

This aspect is the most different from React. There’s a different library for any native feature of the phone you want to use: camera, getting a push notification, etc. It is also possible to build your own native modules, but that’s much rarer, and I would suggest learning it when it’s necessary, for a very specific use case.

Push notifications are an experience many look for when deciding to build a native mobile app. React Native Firebase is a great library to get started with this.

Learn by Doing

I’m big on learning by doing - and learning by sharing. There’s a Udemy course by Schwarzmüller I really liked at the time that goes through some sample apps, and a Codecademy course that I’ve heard lots of good things about (Learn React Native). But overall, the official docs are still the go-to resource for me. You’ll just have to dig a little more.

Regardless of the resource you choose to get material, or whatever combination, the thing I think makes anyone the best dev they can be is getting things one. Play with the code. Build something you want, build something you think is fun, and build it with friends and other learners!