DEV Community

Cover image for Why choose React Native to develop your mobile app?
Diogo Mafra
Diogo Mafra

Posted on

Why choose React Native to develop your mobile app?

In this article, I'll tell you how I realized that I should develop my startup app with React Native instead of native (Swift, Kotlin...).

Let's start from the beginning, We're a small group of people with a dream of making our project real, reaching real people! By small group I mean 4 (Frontend/Mobile dev, Backend dev, Designer and Businessman). Everyone was studying as hard as they could to make the best choices in each area and I my biggest question was "What stack should I choose to develop this app?".

After a ton of research, React Native got me hooked, I was the only dev and needed something relatively fast and obviously, hybrid. For those who don't know React Native, you code basically JavaScript and it works on Android and IOS. Amazing right?! And it also has a huge company supporting it, Facebook. Then I started studying it from scratch, I've seen almost every post and online courses and also read the React Native documentation which is very well written.

Some of the pros of React Native is that it has the best performance among the hybrid mobile techs, you can bootstrap the environment with "create-react-native-app yourApp", you can develop for IOS and Android with Linux/Windows/Mac powered by Expo, you can use your phone as development environment instead of the simulator, you don't need to learn a new programming language to develop, it's just JavaScript!

Some of the cons are that you'll be a little limited by React Native libraries, elements (but they cover almost everything), I'm talking about that little different detail you want in your app and it doesn't have support for that, you'll maybe find some repo on Github which made a component for that detail but it could break after an update. Or you can code it with native code and integrate into your application. It isn't a good choice if you're looking for a long-term app or you have more devs that can work with mobile because you will have fewer problems regarding making particularities and single details of your app.

Overall, I chose React Native because my goal is to launch an MVP(Minimum Viable Product) on the market as fast as we can then we'll definitely migrate to a native environment. In our case, we have some details that are crucial to user experience and we can't miss that!

For those who are looking for online courses, I can suggest Udacity React Developer Nanodegree whose teachers are the creators of React-Router! And also Dan Abramov's Redux online courses are great!

If you want to ask something to me or just talk, here's my twitter!

Regarding the startup, we'll be announcing some news soon! I'll let you guys know!

If you have anything to share, please leave a comment below!

Oldest comments (4)

Collapse
 
renanpallin profile image
renanpallin • Edited

Great article, Diogo!
I've been using React Native over the years and it fulfill all my needs.

I think I have some to add here for those who want to learn this amazing technology, especially brazilians. I was invited by Udemy to make a course with React Native as major topic, and this is the result:

udemy.com/construa-aplicativos-mob...

Of course, with and discount coupon =)
Renan

Collapse
 
markosullivan94 profile image
Mark O'Sullivan

Cons: Android apps won't be able to be published on the store after November 2018 because RN isn't using target api 26 by default.

Note - this actually applies to a lot of RN plugins as well (not sure if this will affect the ability to publish apps though). Wouldn't hurt upgrading ALL of them to target API 26+ though.

Collapse
 
rubensdemelo profile image
rubensdemelo

Testou o Ionic? Acho que se encaixa bem para produzir um MVP.

Collapse
 
diogomqbm_ profile image
Diogo Mafra

Então cara, o React Native me chamou mais atenção pq é mais performático que o Ionic. Mas se vc está mais acostumado com Angular, Ionic pode ser uma boa escolha.