An introduction to Flutter

Written by be.betr.codr | Published 2018/02/08
Tech Story Tags: flutter | mobile-app-development | hybrid-app-development | introduction-to-flutter | intro-to-flutter

TLDRvia the TL;DR App

In this article I want to explain what is Fluter, why should we care and how does it work.

“ Flutter is a mobile app SDK for building high-performance, high-fidelity, apps for iOS and Android, from a single codebase.” — flutter.io

Flutter is open source and has been developed by Google.

The first version of Flutter was known as “Sky” and ran on the Android operating system. It was unveiled at the 2015 Dart developer summit — Wikipedia

It has been released to the world in May 2017 in a stable release Alpha.

Its primary goal is to enable developers to deliver high-performance apps that feel natural on different platforms.

Why should we care of Flutter ?

Flutter is used by Google and others in production, works with Firebase and other mobile app SDKs, and is open source.

For me this can be the only reason, but there is more.

  1. We can do more with less code, using all the feature of Dart language
  2. We can use Flutter to quickly prototype our app
  3. We can create beautiful, highly-customized user experiences using built in set of Material Design and iOS flavor widget

Flutter features

Flutter comes with a lot features, let’s deep dive on the main 3.

Fast development

When developing with flutter, you can use a feature called hot reload. Hot reload build and run your projects faster than a second. This actually helps develop fast and resolve bugs faster.

Reactive framework

Flutter comes with a modern and reactive framework with a rich set of widget and an API for animation, gestures, 2D and more.

Native feature access

Flutter let you access to the native platform SDK of Android and iOS using your Java/Kotlin of ObjC/Swift piece of code.

Core Principles

Flutter is defined around 3 principles

Layer cakes are delicious

Flutter is organized around layers. Each layer is build upon the previous.

Fron the diagram we can see the low level part of Flutter is an Engine built in C++. It provides low-level rendering support using Google’s Skia graphics library.

The high-level part of the diagram is the Framework written in Dart. It provides libraries to handle animation, gestures, rendering, widgets and more.

With all this layer the developer can do more with less code by using elements on the top or go down to customize some behavior of its app.

Everything’s a Widget

In flutter everything is a Widget. Widget is the basic building block we use to create the UI of Flutter app.

Each widget is an immutable declaration of part of the user interface. — flutter.io

All the widget of a Flutter app form a hierarchy where a widget is a composition of other widgets and each widget inherits properties from its parent

Composition > inheritance

To create a powerful widget with properties of other widgets, we compose our widget of those widgets.

Conclusion

This article is my attempt to give a simple Introduction to Flutter.

If you want to try Flutter, I invite you to learn more here on the official website.

I also invite you to the flutter community:

Resourses

flutter.io

Flutter (software) — Wikipedia

Thank for reading and until then may the {code} be with you my friend!

Originally published at Developer Journey.


Published by HackerNoon on 2018/02/08