Why choose React Native to develop your mobile app?
Tags: react, reactnative, mobile, startup
Published: 2018-05-10 00:05:16

---
title: Why choose React Native to develop your mobile app?
published: true
description: 
tags: #react #reactnative #mobile #startup
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ndhymuptp6x1efo5j3rt.jpg
---

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](https://facebook.github.io/react-native/docs/getting-started.html) 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](https://expo.io/), 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!

![](https://thepracticaldev.s3.amazonaws.com/i/hyfjpxmfl8ocqxchzvnj.png)

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.

![](https://thepracticaldev.s3.amazonaws.com/i/rhau2pzjaugqqq0vuzlq.png)

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](https://br.udacity.com/course/react-nanodegree--nd019) whose teachers are the creators of React-Router! And also [Dan Abramov's Redux online courses](https://egghead.io/courses/getting-started-with-redux) are great!

If you want to ask something to me or just talk, [here's my twitter!](https://twitter.com/diogomqbm_)

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!