This year, mobile applications continued to become more and more popular. Fortunately there are many programming tools available to developers who want to create them. Among these tools there is Flutter, which has distinguished itself lately.

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 (for iOS and Android).

Flutter consists of two important parts:

  • An SDK (Software Development Kit): A collection of tools that are going to help you develop your applications. This includes tools to compile your code into 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, and so on) 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.

If you know a bit of programming, Dart is a typed object programming language. You can compare Dart's syntax to JavaScript.

“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.

companies-using-flutter
Companies using Flutter

Simple to learn and use

Flutter is a modern framework, and you can feel it! It’s way simpler to create mobile applications with it. If you have used Java, Swift, or React Native, you'll notice how Flutter is 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 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 after 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 MVPs

If you want to show your product to investors as soon as possible, Flutter is a good choice.

Here are 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 one for Android).
  • One developer is all you need to create your MVP.
  • It’s performant – you won't notice the difference between a native application and a Flutter app.
  • It’s beautiful – you can easily use widgets provided by Flutter and personalize it to create a valuable UI for your customers (you can find examples of applications made with Flutter below).
flutter-app-example
Flutter App Example - ToDo List

Good documentation

It’s important for new technology to have good documentation. But it’s not always the case that it has it!

You can learn a lot from Flutter's 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 have been able to check the documentation and the answer was there.

flutter-documentation
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 to my 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, and so on.
  • Awesome Flutter: A GitHub repository (linked to Flutter Awesome) with a list of articles, videos, components, utilities, and so on.
  • 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!

Bonus

Freelance

If you want to start doing some freelance work, you should think about using Flutter.

In 2020, I believe that this technology is going to explode. And that means 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.

flutter-malt-statistics
Flutter statistics - Malt

Conclusion

Well, what do you think of Flutter? Will you start learning it next year?

I hope that this introduction has interested and motivated you. Feel free to share this article if you liked it.

If you want more content like this, you can follow me on Twitter, where I tweet about web development, self-improvement, and my journey as a full stack developer!