Flutter (Dart) Vs React Native (Javascript)

Hello, I have decided to start a journey in mobile app development. I am looking for writing one codebase that allows me to deploy to both Android and IOS and possibly the web. :smiley:

I have narrowed it down to Flutter and React Native (also looked at Nativescript since I am an Angular Developer, but its popularity isn’t much :frowning_face:

I am also looking to use Express, Node.js, and MongoDB for my backend.

What would you recommend? React Native or Flutter? Is there something else? :thinking:

Dart is by far one of the recommended, because it works for both Android and iOS…

1 Like

Personally, I only have experience with React Native. So, my opinion is not objective, but I found the developing experience to be excellent. My only complaints have to do with the fact that I am unable to deploy/build on to iOS because I do not have a macOS machine, and I do not want to pay Apple for a developer account so that I can make use of Expo’s free cloud build service.

The best part of the dev experience is using Expo to view my app with live changes on my phone.

All of that, and I had learnt React, so there was no new syntax.

Hope this helps

As does React Native.

1 Like

So, it depends on what kind of environment you wanted then…

Which is better? I’m a React Native developer, so I’m biased. I love it. I love that it’s basically React so you’re also learning web dev. And now with React Node GUI, you can build desktop apps.

I’m sure Dart/Flutter is great. I would say that some disadvantages are that you have to learn a new language (as opposed to JS you already know) and it is younger so a little less developed and a little less sure where it is going to end up.

Is your goal to land a job? Then I might suggest RN. Is your goal to explore new techs and see what’s new and cool? Then Flutter might be interesting. And it may turn out to be the next big thing. The difference is that I know there will be a big need for React/RN developers in 5 years - I don’t know about Flutter. But in it’s defense, even if it completely tanks, you’re still going to learn a lot.


If it comes to choose between Flutter and RN, my suggestion goes with flutter.
Flutter engine has most of the native components in the framework itself and it doesn’t always need a bridge to communicate with the native components. React Native, however, uses the JavaScript bridge to communicate with native modules, which results in poor performance. Writing code with Dart might be a little unusual but that’s what makes developing with Flutter easier.
When it comes to performance, Flutter has the upper hand as it’s compiled to ARM or x86 native libraries, which makes it considerably fast. React Native isn’t compiled to native code, and it still has the JavaScript layer, making it less performant than Flutter.
But its totally up to you, what you want to learn?