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, this allows you to create a native mobile application with only one code. It 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 to 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 personal needs.

To develop with Flutter, you will use a programming language called Dart. It’s also Google’s language created in October 2011 but improved a lot these past years.

Dart focus on front-end development; you can use it to create mobile and web applications.

If you know a bit of programming, this language is a typed object programming language. We 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 I want to use it next year. I will give you details and my feedback just below.

Companies using Flutter

Simple to learn and develop

Flutter is a modern framework, and we feel it! It’s a way more simple to create mobile applications with it. If you experienced Java, Swift, or React Native, here, it’s different.

I personally never liked mobile application development before I’m using Flutter.

What I love with 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 takes a short amount of time when you save to update the application itself. Some significant modifications force you to reload the app, but if you do work like design, for example, 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 can’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).
Flutter App Example - ToDo List

Good documentation
Even if it’s important for a new technology to have a good documentation. It’s not always the case! Something very interesting with Flutter is the documentation. You can learn a lot from the documentation and everything is detailed with easy examples for basic use cases. Each time I’ve a problem with one of my widget in my code, I can check the documentation and the answer is inside.

Flutter Documentation Architecture

A growing community

You can trust me: Flutter have 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 Flutter, the first thing I did was searching communities, and surprise… there is a considerable amount of exchange places!

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 mains code editor 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, 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 in freelance, you should think about Flutter!

In 2020, this technology is going to explode. A lot of people are going to search for developers on this technology.

The biggest platform for freelancers in France, called Malt, recently published the tech trends of this year. Flutter has evolved of +303% on this platform between 2018 and 2019.

Flutter statistics - Malt

Conclusion

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

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

Don't miss our content by following me on Twitter and Instagram.

Want more?

  • Each week get a motivational quote with some advice, a short tutorial into a few slides, and one developer's picture on Instagram.
  • Sign-up for the newsletter and get the latest articles, courses, tutorials, tips, books, motivation, and other exclusive content.