Flutter and why should you try it out?

Arkajyoti Mukherjee
Flutter Community
Published in
5 min readJun 2, 2019
Mandatory giant logo

Flutter, what’s it all about and why should you as a developer care? I’ll try to answer all of those questions and also tell what piqued my own interest in Flutter.

What is the deal with Flutter and is it worth all the hype?

Short answer: It’s amazing and YES, definitely!
Long answer: Flutter it a mobile app SDK for creating beautiful, native, cross-platform apps, namely Android and iOS apps, but now also expanding to the Web, Android TVs, Tablets, Foldable phones, and Embedded Systems. The best part in this deal for the devs is that it does all that in a single codebase. Now if that’s not enough to get you excited as a dev, I got more details on how Flutter does it.

Flutter does some stuff just right!

  • Widgets: In Flutter Everything is a Widget!
    What does that mean? Flutter has custom widgets for almost everything you need and if you are not satisfied with those you can easily create new widgets or change the existing ones by extending them. From the padding to the alignment everything is a widget. To be honest, at first I thought it was counterintuitive, but in reality, it creates very simple and semantic code which will feel nature very quickly, begging you to ask why is not everything like this and this is coming from a web developer.
  • Custom Design: In order to create this cross-platform behavior Flutter has done a very subtle yet notable change, it has lifted all the widgets and the renderer out of the platform to the user’s app. What does that mean? It means that in flutter you don’t interact with the platform widgets of Android and iOS etc, flutter has its own widget library that can easily be customized, even animations happen in the user space. All Flutter needs from the platform is a Canvas (to paint the widgets on the screen) and the platform events.
Flutter architecture (simplified)
  • Reactive views: If you come from React or React Native background you might spot this term and say that’s nothing new! Well you are right, Flutter did take a lot of inspiration from React, but it does something just right. In React Native all the code is written in Javascript and the Javascript realm communicates to the platform widgets in the Native realm through a platform bridge (this can happen 60fps at times during animations, swipes, and transitions). Each of the realms is quite fast on its own but the performance downgrade happens when it has to communicate through this bridge.
React Native architecture (simplified)
  • Other cool features are
    - Creating beautiful UI (how beautiful you ask, look below).
    - Great developer tools with hot reload: This basically means that you can see the changes made by you almost instantly as you make them; this greatly speeds up the development cycle.
    - Extremely performant: Blazing fast 60fps animations.
Hamilton App

Link to the Hamilton app blog: here

Some Concerns and Personal Experience

Well, I don’t know Dart!

Neither did I, but it’s extremely easy to pick up if you know languages like Javascript, Java, C# or to some extent C++. Learning the basic syntax of Dart should only take a day or two (or even less if you are determined enough).

Where should I learn Dart from?

The best resource I found to learn Dart was from their official docs.
https://dart.dev/guides/language/language-tour
Yes, just one page! That’s enough to cover the basics if you are familiar with any other programming language. To get started with Flutter you don’t need to be an expert in Dart, just knowing the basics is enough.

Is Flutter unnecessarily hyped?

The hype around Flutter is well deserved because it is so well thought out that it could easily be called a guilty pleasure of front-end devs and UI designers. Flutter, with its cross-platformed performant apps, is here to stay and create a lot of new jobs, especially with it’s backing from Google. If my words can’t convince you of this, these articles from Wm Leler might (PS: Took major inspiration from his work):

Fedora Cat hyping over Flutter

Is this the right time for learning Flutter?

Short answer: This is the most perfect time!
Long answer: This is why it’s the right time to start learning Flutter:

  • Flutter just released it’s production build in late 2018, so the tech is ripe and the job market is less saturated.
  • The flutter community is growing very fast.
  • Flutter has seen a huge adaption among devs and companies alike, creating many jobs lately.

Where should I learn Flutter from?

I certainly don’t know the best way to learn Flutter but I can tell you the way I learned Flutter.

Coder Cat

Conclusion

Wrapping up, I hope you found my article somewhat useful. If my learning resources come handy, you could leave some claps. It doesn’t give me any money but certainly gives me a lot of joy! If I made a mistake in the article please feel free to tell me that in the comments, I would like to correct myself.

Make awesome flutter apps and show them to me via Github links.

You can find me on Twitter here.
If you are more of a LinkedIn person, catch me here.
Or if Github is your thing, I’m there too.

Feel free to contact me if you have a problem with Flutter or Dart or just hit me up with a cat gif if that’s your thing. I’m no expert but I’ll try my best to help you.

--

--