Flutter : From a Android Developer's perspective
Shubhobrata Roy
Software Engineer(7+ Years) | Android | Kotlin | Java | Flutter | KMM | KMP
For the last few months I have been working on a project to port a Native application to Cross Platform using flutter . I am going to share my experience with Flutter during this time.
First of all, Flutter is not the first cross platform framework that I have learned in my programming career . I also did courses on React Native and Cordova, but as a core object oriented programming lover none of those appealed to me that much .
Flutter is a different story though , it uses Dart as a programming language which is pretty similar to Java and Kotlin . So jumping on Flutter from Native Android Development was not that difficult for me.
What stunned me the most is the Hot Reload feature of flutter. As an Android Developer I was used to writing code and rebuilding the whole code to test , moreover there was a Page Navigation overhead for testing, also we might have to recreate the whole state . Yes , native android development has an Instant Run feature , but doesn't always work . To avoid these overhead , I used to write an Espresso navigation automation script to reduce the development time. Still a native android project building time is really high .
On Flutter you write some code, save it and instantly the code on your test device , no building time , no state loss , no navigation loss , only the portion that you have changed is updated . This is the Hot Reload feature of Flutter. This single feature is enough to make any android developer fall in love with the Flutter.
As a Android Developer , I really liked the UI designer tool of Android Studio. Flutter doesn't have any drag and drop type UI designer tool right now, this is where I struggled the most at first . On Flutter , you have to create all widgets programmatically , which seemed too much work for me at first . Interestingly, on the 3rd day of learning flutter I found out, it's far easier than Android's XML Design tool . Flutter gives you more control over the UI and it's fairly simple. Example : On Native Android , to build optimized list view , you have to Create RecyclerView , its adapter class , its ViewHolder, roughly total 30-40 lines of code minimum , if you want to optimize it more then you may also add pagination which will add more lines of code. What if I told you, on Flutter can do all of those with ListView.builder() within 10 lines of code and it will be as fast as the native code ?- I was just blown away understanding, how precise and boilerplate free flutter is , at the same time it gives you more control over UI than native.
Library and documentation support is a major part of a Language and flutter did not disappoint me here . Flutter's official documentation is the most developer friendly documentation that I have ever came across . When it comes to libraries , there are lots of 3rd party libraries out there that fulfilled all of my needs. There are also some libraries like Alice that I wish were also available in Native Android development.
Final verdict , Flutter is fast , object oriented , easy to learn , boilerplate free and gives you more control over Ui. It is everything that we most of the Android Developers wanted for a long time. Oh lets cross platform too , so same code base for Android , iOS both.
Mobile Application Developer | Android | Java | Kotlin | Spring Boot REST
4 年But for recharge purposes such as CNN, ANN, and more controlled over broadcast receiver, are not native android app development is the best?
Land Your Dream Project Fast | Staff Augmentation | AWS | Migration | Serverless | Generative AI
4 年Good one. Carry on.
Android Developer | JAVA | Kotlin | Tech Enthusiast
4 年Good article ??
CEO @Squad Innovators | Build Your Next Big Idea with Us – Custom Software & Full Product Development | 2024 Award Winner (Asia Smart App Awards, WTIA, Hong Kong) | Seeking Funding for Day Planning & Outlet Expense
4 年Which is better kotlin or flutter??
Senior Software Engineer@Enosis | Android | iOS
4 年Flutter apps can be developed in half of the time of a natvie androoid app