In this COVID-19 lockdown period, i decided to pick up a new skill -and, yes it is app development. But how do I start? Should it be Native app development for Android or iOS alone? I did not want to restrict myself to one single platform. Then, what to do? Google, Google and more Google and finally got my answer: Cross platform frameworks, React Native and Flutter. But which one? After further rounds of thinking and Googling, I knew i had to try both. This article is all about my experience with both the frameworks from a newbie’s perspective.
Flutter is Google’s answer to React Native. Flutter offers a fresh philosophy. In Flutter, everything is a widget, and every widget is essentially a class. We can customize every widget with key-value pairs. We can also embed widgets within widgets, although, this can lead to widget-within-widget-within-widget situations which sometimes might not offer a smooth experience.
Effort and outcome
Flutter already uses material design out-of-the-box and most of the commonly used material design components can be implemented with the call of a single keyword. React Native, on the other hand, follows a bare bone approach. Creating attractive materials design components requires a comparitively higher effort and time for someone new to this framework, since not much components, other than the basic ones, are available with React Native as with Flutter.
React Native has a high dependancy on third party libraries even for basic functionalities like navigation, toasts, etc. Flutter comes bundled with all the necessary libraries and hence there is almost no need for other third party libraries.
The flutter SDK brings many features to the IDE, such as the actions menu, which combined with its IntelliSense enables the developer to write a whole page of code with mostly mouse clicks and fewer keyboard strokes.
Rating and Community Support
React Native released in 2015, currently holds 86k github stars whereas Flutter, released in 2017, is at 90k stars now. These figures indicate that both the frameworks boasts a strong community support. The fact that Flutter has seen an exponential rise in support in a short span of time is noteworthy.
Flutter code is directly compiled into native code and hence has greater speed and performance.
React Native and Flutter is going head to head but it seems Flutter has a slight upper hand, as of now. Let’s see how this race is going to end.