React Native vs Flutter

Creating mobile applications have always been a fundamental pillar of the tech industry but having multiple platforms for which different apps need to be developed has been an issue for some time. Apart from having to maintain two teams, one for Android and one for IOS, there’s always a gap between the applications developed as they are made by totally different teams. That’s what gave birth to the idea of creating cross-platform mobile applications.

There are many types and solutions but the most popular one right now is by creating compiled apps that give the closest performance to that of the real native applications. The most powerful contenders in that field at this moment are Google’s Flutter and Facebook’s React Native. Let’s have look strengths and weaknesses of both Flutter and React Native and do an objective React Native vs Flutter comparison.

Flutter

Flutter is a reactive cross-platform mobile development framework that uses the Dart language. Dart and Flutter have been created by Google who’s using the framework for some of its biggest application and is constantly pushing the framework towards being the ultimate solution for creating cross-platform apps. Its initial alpha release was back in may 2017 so it’s much younger than React Native.

Reactive Programming with Flutter

So flutter is a reactive framework, what does that mean? Well, let’s talk a little about reactive programming and why it’s really powerful and useful especially in the case of app development. Let’s say you want to send a request to a server and do something depending on the response. If you take an action before a response is back i.e before you have an object you’d be taking an action which will result in the famous billion dollar mistake, a null reference. If you come from the Android and Java world you’d know that one of the main motives behind Kotlin was eliminating the null reference.

Things go out of control if you’re data is coming asynchronously, and it’s not one request being sent, but instead, a stream of user clicks for example, and there are many parts of your program that need to respond to the incoming data.

This problem gave birth to a paradigm in programming known as reactive programming, which lays at the heart of the Dart language.

Read more here