What is Flutter and Why You Should Learn it in 2020
This year, once again, mobile applications became more and more popular. And there are many programming tools available to developers who want to create them. Among these tools there is Flutter, a free and open-source mobile UI framework created by Google, which distinguishes itself particularly well.
What is Flutter?
Flutter is a free and open-source mobile UI framework created by Google and released in May 2017. In a few words, it allows you to create a native mobile application with only one codebase. This means that you can use one programming language and one codebase to create two different apps (IOS and Android).
Flutter refers to two important things:
- An SDK (Software Development Kit): A collection of tools that are going to help you develop your applications. It includes tools to compile your code in native machine code (code for IOS and Android).
- A Framework (UI Library based on widgets): A collection of reusable UI elements (buttons, text inputs, sliders, etc.) that you can personalize for your own needs.
To develop with Flutter, you will use a programming language called Dart. The language was created by Google in October 2011, but it has improved a lot over these past years.
Dart focuses on front-end development, and you can use it to create mobile and web applications.
“Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.” - Google, flutter.dev
Why you should learn Flutter?
I selected some of the reasons why I like Flutter and why I want to use it next year. I will give you details and my feedback below.
Simple to learn and develop
Flutter is a modern framework, and you can feel it! It’s a way simpler to create mobile applications with it. If you have used Java, Swift, or React Native, with flutter it’s different.
I personally never liked mobile application development before I started using Flutter.
What I love about Flutter is that you can create a real native application without a bunch of code.
Quick compilation: maximum of productivity
Thanks to Flutter, you can change your code and see the results in real-time. It’s called Hot-Reload. It only takes a short amount of time when you save to update the application itself.
Significant modifications force you to reload the app. But if you do work like design, for example, and change the size of an element, it’s in real-time!
Ideal for startup MVP
If you want to show your product to investors as soon as possible, you can use Flutter!
My top 4 reasons to use it for your MVP:
- It’s cheaper to develop a mobile application with Flutter because you don’t need to create and maintain two mobile apps (one for IOS and Android).
- One developer is enough to create your MVP.
- It’s performant – you won’t notice the difference between a native application and a Flutter one.
- It’s beautiful – you can easily use widgets provided by Flutter and personalize it to create a valuable UI for your customers (find just below examples of applications made with Flutter).
It’s important for a new technology to have a good documentation. But it’s not always the case that it has it! Something very interesting about Flutter is the documentation. You can learn a lot from the documentation, and everything is very detailed with easy examples for basic use cases. Each time I’ve had a problem with one of my widgets in my code, I can check the documentation and the answer is there.
Flutter Documentation Architecture
A growing community
Flutter has a robust community, and it’s only the beginning!
As you may know, I love to share my knowledge and useful content on programming on my website. I need to know I’m working on a technology full of potential with a lot of backers.
When I started using Flutter, the first thing I did was search for communities, and surprise… there are a considerable number of places to exchange info on Flutter!
I will give you some examples of places I love to check daily. Feel free to send me a message on Twitter with your suggestions.
- Flutter Awesome: An awesome list that curates the best Flutter libraries and tools. This website publishes daily content with lots of examples, application templates, advice, etc.
- Awesome Flutter: A GitHub repository (linked to Flutter Awesome) with a list of articles, videos, components, utilities, etc.
- It’s all widgets!: An open list of apps built with Flutter.
- Flutter Community: A Medium publication where you can find articles, tutorials, and much more.
Supported by Android Studio and VS Code
Flutter is available on different IDEs. The two main code editors for developing with this technology are Android Studio (IntelliJ) and VS Code.
Android Studio is a complete software with everything already integrated. You have to download Flutter and Dart plugins to start.
VS Code is a lightweight tool, and everything is configurable through plugins from the marketplace.
I use Android Studio because I don’t need to configure a lot of things to work.
You are free to choose your preferred IDE!
If you want to start in freelance, you should think about Flutter!
In 2020, this technology is going to explode. I believe that a lot of people are going to search for developers who know how to use it.
The biggest platform for freelancers in France, called Malt, recently published the tech trends of this year. Flutter has grown by +303% on this platform between 2018 and 2019.