Flutter vs React Native — War of Tech Giants

Google Flutter vs React Native

Developing and maintaining an application for both iOS and Android was a pain a while back. You had to handle two code base, two teams, two pipelines etc.

The Entry of React Native and Flutter

Once Facebook realized this pain, they introduced React Native in 2015. It got a sweeping response from the app developers. The apps we use in our day to day life like Facebook, Instagram, Uber Eats, Discord, Walmart, Tesla etc. are developed using React Native. This shows how much this Framework is accepted over the past couple of years.

In 2017, Google also decided to join the cross-platform development party and hence Flutter was announced. Flutter comes with some really cool and handy features like fastest hot-reload and a handful of reusable widgets (every UI component is a widget in Flutter). Flutter also offers maximum native performance when compared to its competitor. It is incorporated with all critical platform differences such as scrolling, navigation, icons and fonts to provide full native performance on both iOS and Android.

With Flutter got its first stable release on December 4th 2018, and after watching Flutter development in the past six months and playing around with it, I am trying to find out an answer for the most asked question: Flutter vs React Native?

Flutter vs React Native: A Broad Comparison

Speaking of under-the-hood activities of both SDKs, React Native uses the most popular programming language, i.e., Javascript. On the other hand, Flutter uses Dart, which is also developed by Google seven years ago. Flutter is a framework developed in Dart and if you are wondering why on earth Google opted Dart for Flutter, we will speak about that in a little bit.

Javascript was never developed for what React Native is doing right now. In other words, Javascript was developed for web essentially. Javascript in React Native is not fully compiled to native code but the UI elements are compiled to native code. However, in my experience, I have to say that Javascript turns out to be working very well regardless of the occasional issues that need some workarounds to achieve the desired result.

Coming on to Dart, it is probably an Alien language for the mainstream development community. But Dart isn’t that hard to learn. It is a mixture of Javascript and JAVA and it is a strongly typed language which is great.

Dart was also not developed for mobile apps. But it got a clear advantage of being developed by the same company, which owns the operating system that powers 84% of smartphones in the world. Yes, Google and Android!

Google knows what exactly they are doing with Flutter. With my personal experience, I can say that it does the job really well, even better than Javascript on React Native. This advantage comes because Dart is being compiled directly to ARM C/C++, which will probably lead to better communication speed and therefore better performance.

Who Will Be The Winner?

Predicting which technology will emerge as the champion is a tough task. In order to make the process easy, I would like to sum up the comparison to the following points:

1. Development Time

The biggest selling point of both React Native and Flutter is “write once use it everywhere”. Is this really true? Well, not really. Let me explain it in simple terms.

Imagine a line which has one end saying “write it once” and the other end saying “write it twice”. The place of Flutter stays close (but not too close) to “write it once” and React Native stays around 60% away from “write it once” or 40% near to “write it twice”. In other words, React Native needs more lines of code to accommodate different platform-specific features while Flutter has more reusable code.

The second most important element, which is directly involved in development time is, “learn once write everywhere”. Both React Native and Flutter stay at the same point here, i.e., ‘learn once and write everywhere’ despite the platform your code is going to run on. Speaking of learning, documentation plays the biggest key role. Even though React Native and Flutter are documented very well, Flutter’s official documentation stands out because of its code samples, detailing and animated examples.

Since the learning curve for Dart is more than Javascript, React Native is the winner here, at least for now. In addition, React Native has huge community support thanks to its presence here for four years compared to the two-year-old Flutter. It also reflects when it comes to third-party library support.

2. Performance

Performance of both frameworks can’t be compared with the performance of actual native code. However, React Native and Flutter really stand out when comparing with old school Ionic or Cordova. Because the code we write is actually getting compiled to native code. Between React Native and Flutter, honestly, it is hard to benchmark between the two because it depends on so many factors including target device specifications and the features you want to include in your app. Even though Flutter has a small advantage over React Native since the Dart code is compiled to ARM C/C++ as we mentioned earlier.

3. Clientele

The popularity of React Native does not need any business mention these days. React Native has enough components to carry out the development of an application on both iOS and Android on any scale. Besides that, React Native has proven coverage and many leading apps like Skype, Facebook, Tesla, Instagram are already using React Native.

Flutter is new. Flutter is still at beta. Google is using Flutter for some of its apps, but not as much as Facebook uses React Native in their own products (Google always does this, for example, Angular vs React).

Flutter is still trying to make its presence. As a framework, it is still making its base, it will take some time to gather the momentum. Adaptation rate and acceptance for Flutter in the developer community is really promising. For example, it was trending all over Twitter on the launch day and rate of increase in the number of stars to the git repository is also a good indicator that Flutter is in business. Also, Flutter takes care of IDE integration a step ahead compared to React Native. I guess this also has made developers to give it a shot and it definitely added more to the prominence of the framework.

Conclusion

Now we have seen a basic comparison between Flutter and React Native, it is clear that both have their own pros and cons. However, it is difficult to decide who is the winner. Flutter being new framework would take time to get stable and would travel miles to compete successfully with React Native. Looking at last two years of the growth cycle of Flutter, no doubt that Flutter is here to stay. It is capable to develop beautiful mobile apps in a small time frame which can help start-ups to earn well in less time.

Originally published at www.bridge-global.com.

--

--

--

We Are A Self-Organized Squad of IT Experts

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Exporting Data from SQL Database to Excel using SSIS and use of 7-ZIP

5 Reasons Why I Switched From Windows 10 To Linux For Work

Image by uncreative author.

The Mandelwat Set

Daily Coding Problem #62

What Is The Scope Of Python In Future?

Future Of Python | insideaiml

“ERP is just IT, right?”

RPC chains: 5 min read

Detecting Jackson deserialization vulnerabilities with CodeQL

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Bridge Global

Bridge Global

We Are A Self-Organized Squad of IT Experts

More from Medium

Flutter Vs React Native for Mobile App Development

React Native vs Flutter — The full comparison

Flutter Vs React

React Native vs Flutter: Which one to Choose