Comments

React Native vs. Flutter – What to Learn?

React Native vs. Flutter

React Native vs. Flutter

Building cross-platform mobile apps is trending these days, with the advent of frameworks that can build native apps without using swift for iOS or Java for Android.

React Native and Flutter are the two most popular cross-platform mobile development frameworks that are being used to build thousands of mobile apps today. If you have to pick React Native vs. Flutter which one should you pick?

There is no right answer to this question. The answer to this question depends on your business needs and use-cases. Both React Native and Flutter are powerful contenders with their own set of pros and cons.

Being a React Native developer myself, I have tried to write this article without bias.

Both React Native and Flutter come with a lot of similarities like, building cross-platform apps using one codebase, hot reloading, excellent UI, awesome tooling and native features. But, they do have their differences.

Let’s explore React Native vs. Flutter against several factors.

Language

React Native:

React Native is written entirely in JavaScript using React. This is a huge perk for React Native since JavaScript consistently ranks as one of the most popular and used programming languages in the world. Finding developers to code in JavaScript is easy and hence learning React Native is quite easy for any JavaScript developer.

Flutter:

Flutter is written in a language called Dart. Although, Dart is relatively easy to pick up and is a good programming language, it does not have the popularity that JavaScript has. A developer getting on the Flutter boat, would need to learn Dart. Typically, developers from a C++/Java background can relate to Dart more than a JavaScript developer.

Nevertheless, in my opinion because of the learning curve that comes with learning Dart, and it being a relatively newer language the winner here is React Native.

Winner: React Native

Corporate Backing

React Native:

React Native is backed by Facebook and was open sourced by Facebook in 2015. Facebook has a dedicated team of engineers who are working on React Native and making it better everyday. Since Facebook is heavily invested in React Native, many internal Facebook products are coded in React Native. With Facebook’s heavy involvement in React Native, has gained a lot of trust and popularity over the years.

Flutter:

Flutter is a relatively new framework when compared to React Native. It is backed by another giant, Google. Flutter is Google’s open-source SDK for creating apps for Android and iOS using single codebase. Google is heavily backing Flutter, just like Facebook is backing React Native. The Google community is invested in making Flutter one of the best solutions out there to build cross-platform apps.

Winner: Both React Native and Flutter are equals.

What is Trending?

If you look at the Google trends for React Native vs. Flutter, we can notice that React Native is still more popular and searched about more. But one thing to keep in mind here is that React Native has been around for three years now and several people are already working on it. Whereas, Flutter is only a year old and is starting to get more popular. We will have to make the same comparison next year to see how they compare.

React Native vs. Flutter

It is also interesting to note that Flutter is gaining momentum only in USA and Australia and the rest of the world is yet to catch up.

React Native vs. Flutter

Based on the current trends we have a winner.

Winner: React Native

Performance

There is a common notion that Flutter performs better than React Native. This could be because Flutter does not have a JavaScript bridge like React Native to interact with native components. Dart code is compiled to native machine code, hence eliminating the JavaScript bridge. This improves the performance in comparison to React Native which uses the JavaScript bridge.

But there have not been many real-time profiling comparisons that I have seen comparing Flutter and React Native to definitely say Flutter is superior.

Winner: Flutter

Adoption

React Native:

It is widely adopted and some of its popularity is also due to the success of React. React developers can jump on board and easily develop React Native mobile apps. Today products like Facebook, Instagram, Uber Eats, Tesla, Bloomberg, and many more use React Native for their mobile applications.

Flutter:

With Google being the backer of Flutter, it has gained quite a bit of attention too, this year.

Alibaba the online shopping giant, has adopted Flutter for one of their mobile apps. Google Ads and Hamilton music are also developed using Flutter. But other than these, there are not many apps in the app store that are developed with Flutter.

This is again something we need to re-visit next year to see how many products have embraced Flutter.

Winner: React Native

Job Prospects

Since, React Native has been around for a while now and uses React and JavaScript (two popular options) it leads to better job prospects.

We probably cannot come to a quick conclusion about Flutter based on the jobs available today. Flutter is still new and upcoming, and few years down the lane there maybe a demand for Flutter developers. But as of today there are plenty of React Native jobs when compared to Flutter jobs in the market. This is because React Native developers are also React developers, and React happens to be the most popular front-end framework out there.

So learning React Native might be more beneficial if you are on a look out for a job soon.

Winner: React Native

Conclusion

React

 

 

 

 

 

It is an interesting time in mobile development. We are moving away from just native development for iOS or Android and embracing newer technologies that build cross-platform mobile apps. Although, React Native does have some strong points today, Flutter is an emerging contender and I am sure it will be embraced by a lot more people in the coming days.

Picking a technology to learn, really depends on your use-case. If you are more of a C++ or Java developer, you may like Dart and hence like Flutter. Is your background in web-development like me and you love JavaScript? If that is the case then, React Native will be a better option for you.

If you are interested in similar comparisons between frameworks and technologies, checkout my article comparing  React vs. Vue.

Are you a beginner to React, and want to master it, I highly recommend taking Mosh’s course on Mastering React.

Did you like this post? If yes, please share it friends and colleagues and leave your comments below.

Adhithi Ravichandran is a Senior Software Engineer based in Kansas City. She is currently working on building mobile apps using React Native for critical healthcare scenarios. Adhithi is a regular conference speaker at various tech conferences. Adhithi graduated with a Masters degree in Computer Science from the University of Kansas and has been in the tech industry for over 7 years. She has worked on several technologies over the years, and one of her recent favorite is React Native.
Tags: ,

4 responses to “React Native vs. Flutter – What to Learn?”

  1. Ayodeji Odunayo says:

    Wow. Thanks for this article. I’m a JavaScript developer

    • Ahmad Raza says:

      One thing I want to mention here, don’t forget, Android owes by google, so Google have better understanding about it’s facts, and know how to optimize and play with better strategies. The practical example is Dart code, which directly converts into native code and that’s why it’s build Applications faster than React. Anyways, just give some time, and flutter will be on Top,

  2. One difficulty that I have faced is the lack of proper documentation for navigation in react native in contrast flutter supports navigation out of the box. The dependency on third party libraries for one of the most important aspect of mobile development ie navigation is not good in my opinion.

Leave a Reply

Connect with Me
  • Categories
  • Popular Posts