As a native iOS developer, I am quite skeptical when it comes to cross platform frameworks. Few years back, I evaluated all the leading cross platform frameworks for a large retail company, it included React Native, Ionic and Xamarin. React Native came out to be better as compared to the rest, but only by a small margin. The biggest problem with React Native was the quality of debugging tools. In most cases running React Native app required launching the app multiple times, since the server kept on crashing.
During 2017 Google announced Flutter, a cross platform framework for building apps for iOS and Android. At first I did not pay any attention as I thought that it is just another one of those frameworks. Another reason was that it was owned by Google, and Google is famous for killing its products.
To my amusement, Flutter started to gain momentum. Flutter events started popping up around the world. It was at that time I decided to give it a try.
My initial reactions of Flutter were not great, installation was a pain and error prone. Even once you install everything successfully, it kept on getting stuck when running the app.
Installation is still not the strong suit of Flutter but it is getting better. Flutter apps still freeze from time to time but it has definitely become more stable.
Once you pass the installation phase you will uncover the true power of the Flutter framework.
Flutter is Fast
Unlike React Native and Xamarin, Flutter does not pay any toll when entering and leaving the native world. Flutter writes directly on the canvas, meaning that Flutter recreates all the controls from scratch and renders it on the screen. This makes it super fast, responsive and high performing.
Hot Reload is not a new feature by any means. React Native has been using hot reload for a long time. The idea of hot reload is to refresh the user interface without having to launch the app again in the simulator. This drastically reduces time and allows developers to iterate through their changes much faster.
Dart is a modern language, which means you can use object oriented principles like Classes and Objects and even extend existing types using extensions.
Flutter has a very vibrant and active community. There are a lot of Flutter events all over the world and Flutter community members are always willing to help a new member. You can check out various events here.
I really hope that you try out Flutter in 2020. It is a great framework for building cross platform applications. Use the links below to get started.