T.G.I.F (Thank Google It's Flutter)
- coderinthewild
- Apr 10, 2020
- 4 min read

In times of quarantine and social distancing Friday is just … not the same, so I’ve twisted the acronym to represent something I have been feeling really thankful for: FLUTTER. So, in my first blogpost EVER, I will be telling you more about it and why you should take advantage of this -alone time- to learn it.
If you like reading programming blogs, or tech news, or even follow tech “influencers", you probably came across with Flutter, so… what is it? Flutter is an open-source UI framework created by Google that allows you to develop applications for mobile (both Android and iOS), web and desktop with ONLY ONE CODEBASE. It is based on Google’s Dart, a fast typed object programming language which is easy to learn. It is also the fastest growing language in Github right now according to this article.
Ever since its release, it has grown and became a serious competitor not only to React Native, but to native app development, which is a huge deal, BUT WHY?
Well, Google claims that its three main characteristics are: fast development, native performance, and expressive & flexible UI. And let me tell you, Google
1. One code for 4 platforms
You will be writing just one codebase for iOS, Android, desktop AND web apps. Think of all the time and effort you will save because of this! What is more, you can differentiate the mobile apps for each platform with just a few fixes.
2. Simplicity
I have been learning lots of different languages and frameworks in the past few years, and let me tell you, Flutter is by far one of the easiest ones, this brings us to the next advantage:
3. Great for MVP’s
A Minimal Viable Product is one of the best approaches to validate a business idea and present it to your investors. But of course, you should develop it in little time so you can receive feedback ASAP and not waste any resources. This is where Flutter comes in handy:
One codebase makes the creation and maintenance cheaper. (Yes, this feature is a gift that keeps on giving)
Extremely performant, there is almost no difference between a native app and a Flutter one.
It has great UI design, widgets provided by Flutter and its plugins can be easily personalized to fit your customers needs and wow them.
4. Design
I love me some usable and neat UI/UX design, and oh my! Flutter delivers. It gives you all the tools you need to get that native feel and lets you take control over every pixel on the screen. Google provides a huge range of Flutter Widgets and views, which contain Material Design widgets and Cupertino widgets (Android and iOS design systems). You can actually make any design you can imagine, which I find amazing as I have struggled so much with this in Android in the past.
5. Productivity
Flutter is not only easier and simpler, but it will make you more productive. Why? Two words: Hot Reload. Change your code, hit cmd-R and Boom! See the results. Of course, changing significant elements will force you to reload the app in order to see the updates, but when working with design, like testing different widgets sizes and colors, its just a matter of seconds -or even milliseconds-. This makes everything faster and more dynamic. Just think about the improvement in developer-designer cooperation.
6. Performance
Flutter doesn’t need a Javascript bridge, resulting in a much faster speed compared to other cross-platform frameworks. There has been some comparisons being made with React Native and native apps, for more info on this check this article.
7. Documentation
In all my years at uni and trying to learn new stuff by myself, I have discovered the importance of a good documentation, and Flutter’s is not good, it's great. You can learn a lot from it, and there is no need to read 80 different Stack Overflow answers to get a solution (80% of the times). Every article is clear and has examples with basic use cases.
8. Community
And, for the other 20% of the times, or when you just need a solution to a really specific problem, there is always a community behind the technology. I find it incredible, that the community for such a new technology (almost 3yo) is as big and robust. There are A LOT of really cool tutorials teaching all kinds of stuff, and yes… lots of devs answering Stack Overflow questions too. Bear in mind the size of it obviously can't be compared with those of older technologies.
Flutter Awesome, It’s all widgets! And Flutter Community are just some places where you can find tutorials, libraries, articles, app examples and much more.
I have to mention, of course, the downside: there are not as many libraries as for other technologies. So, if you need something really specific, like working with a certain SDK that is not that popular, it is likely that you won't find support for it. BUT you can always create your own plugin, which is actually pretty easy and straight forward if you follow Google's provided tutorial.
All in all, I consider it is a great technology - I think you already guessed this by now -, specially if you want to maximize your resources and end up with a product that not only looks great, but has really high performance. Working with Flutter will result in a refined and smooth experience, and I promise you, no one will notice it is not a native app.
We have a lot of time in our hands nowadays, and learning is one of the most beneficial things we can do with it, just give it a shot and tell me how it goes :).
Comments