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.
- 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.
Link to the Hamilton app blog: here
Some Concerns and Personal Experience
Well, I don’t know Dart!
Where should I learn Dart from?
The best resource I found to learn Dart was from their official docs.
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):
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.
- Start from the official docs here.
- Watch videos for the concepts that seem tough to grasp here.
- Then try the following codelabs to gain practical skills:
- Build a List and change routes
- Build a Chat interface
- Firebase and Flutter
- Build the Shrine app from 2018 Google I/O (4 part codelab)
- Also, I’m planning to upload more articles on Flutter that’ll provide step by step guides to create an app in Flutter. So if you are from the future it’ll be kind of you to check my page and following me in medium, it’ll encourage me to post more.
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.
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.