Flutter : From a Android Developer's perspective

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.

 

 

 

 

Humayun Kobir

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?

回复
Hasanur Rahaman

Land Your Dream Project Fast | Staff Augmentation | AWS | Migration | Serverless | Generative AI

4 年

Good one. Carry on.

Arunabha Sikder Shubha

Android Developer | JAVA | Kotlin | Tech Enthusiast

4 年

Good article ??

MD. Sarawer Jahan Evan

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??

回复
Ariful Jannat Arif

Senior Software Engineer@Enosis | Android | iOS

4 年

Flutter apps can be developed in half of the time of a natvie androoid app

要查看或添加评论,请登录

Shubhobrata Roy的更多文章

社区洞察

其他会员也浏览了