Learning Flutter

Sat, Mar 6, 2021 One-minute read

What is Flutter?

Flutter allows you to build native cross-platform (iOS, Android, web, Windows, macOS, Linux) apps with one programming language and codebase. In a nutshell, it is an SDK & Framework bundle:

graph TD A[SDK Software Development Kit] --> B[Tools to compile code to native machine + ease of code] C[Framework/Widget Library] --> D[Re-usable UI = widgets, utility functions, packages]

The one programming language we need to use is Dart, which is focused on frontend user interfaces (UIs) development. It is an object-oriented and strongly typed language. As a language, Dart is familiar to those with Javascript or Java background.

One may be tempted to assume then that Flutter is only for making interfaces. Far from that. Creating a UI in Flutter is not done using a WUSIWYG editor. Thanks to the hot-reload capabilities of the SDK, you see your changes reflected as soon as you save your source code and Flutter’s moto is “UI as Code”. We build our UI as a tree, starting with a root widget and add children widget inside and so on.