coungdo profile image Coung Do ・1 min read

Hello Guys πŸ–οΈ

Here we are with one more poll question.

React Native or Native Mobile?πŸ‘¨β€πŸ’»
Which is the best for mobile app development?

Let us know in the comment section below πŸ‘‡


markdown guide

This is probably going to be a great discussion.

For me - it comes down to what you want the app to do. If you need to use a lot of native code for things like he accelerometer, bluetooth or GPS, I would go with native apps. If you are just building a simple app that will show some data, calling a database, etc, I would go with React Native.


I am a sole developer, I don't have a team to help and I've chosen React Native for my app development.

I'll qualify this with - I have not used Swift, Kotlin or Flutter so the things I mention below may be true of these as well, although I don't think they all are. I also have a HORRIBLE allergy to Java and get coughing fits and migraines when using Objective C :)

That said, to answer your question -
It really depends on the developer skills you (or your team) have and like @muni mentioned what you want your app to do.

I really like React Native because it is quite easy to get up and running, has a pretty low learning curve and if you need to you can dive into native code and calls.

If you've used React (web) at all, then the transition will be fairly straight forward. It's not a one-for-one transition, but the concepts are pretty tightly coupled with React (web).

You style components (elements on the screen) with something akin to CSS. It is in fact called a StyleSheet and the syntax parallels what you'd think of as CSS with camelCase naming as opposed to the hyphenated web css classes (ie. background-color vs backgroundColor)

The rapid screen refresh as you build is priceless and a time saver I can barely put into words. You make a change and the Simulator / Emulator refreshes immediately. You can even easily change the opening screen, so for example if you're working on a setting screen, you don't have to have the Simulator refresh then tap the Settings screen. You can make an easy change in the navigation options and the first screen that renders in the Simulator will be your Settings. When you're done, change it back to Home or another screen you're working on. Priceless time-saver right there.

There are a host of packages and libraries you can pull into your project to keep you from having to re-invent the wheel. These are especially useful if you're prototyping. I feel you can spin up a usable MVP pretty quickly.

If you're working with a designer for graphics and layout type things, it's easy to make their design "come true", unless it's totally wack, and you have crazy shapes, etc. Probably still doable, just not straight forward.

There is a large community, pile of tutorials both video and blog-style depending on what you prefer.

The latest version 0.62 includes first class support for Flipper - an interactive debugger that native developers (IOS and Android) have used for a while.

React Navigation v5 is also pretty great and plugs in to allow screen transitions, stack navigation, tab navigation, drawer navigation, everything you need to architect your screen flows and it's all customizable to your needs.

I could keep going, but you get the point.


Very well said! React Native is my first choice as well for most cases, since it has a lower learning curve and you can re-use a lot of code from a web app if you are making mobile + web.


It depends on what you want :)

If you need cross platform apps (Android and iOS), then React Native would be the best choice since you have one code base.

You could also use flutter.

If you just need an iOS app, go with Swift, it’s a breeze to use :)

I don’t know about java / Kotlin for Android.


for most cases react-native would be enough , that said you would need to evaluate your developers skills as well as your applications needs.