I come from native Android development and I am trying out Flutter mostly for mobile but also Desktop development. I know they are not the same thing, so this post is about my personal experience with both frameworks.
Simplicity
In Flutter, most of the common structures and boilerplate is so simple that I can actually remember how to do it. Realizing this is just crazy. I can do my job with only the contents of my brain. Amazing.
This means that even with very little experience, I can just sit and start coding in Flutter and make actual progress. This allows me to very easily get in 'the flow' and it's a more rewarding experience overall.
In Android native I struggle constantly with things like adapters, fragments, the navigation stack, and so on. Even with Jetpack and Kotlin (which simplified things a lot for me) I still am constantly going to other projects to borrow pieces of code, or searching StackOverflow for answers to things that feel like they should be much easier to understand and use. This distracts me from what I want to achieve, and requires a huge mental effort.
Maybe because I'm getting older, I feel like native Android is always getting more and more complex and it's impossible for me to catch up anymore.
Documentation
I thought I would never say this about a Google product, but I think that the Flutter documentation is very good, even useful!
I'm sure the Flutter team is full of (or directed by) designers, and the native Android team is mostly engineers, and it shows.
Time economy
Android native makes me waste so much time. Everything takes so long that some times the app finally runs in the emulator and I end up staring at the screen because I can't even remember what I wanted to test.
On the other hand, Flutter's hot reload and hot restart is like breathing fresh air after being locked up in a 1 by 1 jail cell underwater.
Again, this keeps me in 'the flow' and makes the whole experience much more enjoyable.
Top comments (1)
Awesome post