Labs ICT
โญ Pro Login

Flutter Overview

Introduction to Flutter framework

Flutter Overview

Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. It uses the Dart programming language and has gained massive popularity since its launch.

How Flutter Works


  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚              Flutter Architecture                โ”‚
  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
  โ”‚                                                  โ”‚
  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                               โ”‚
  โ”‚  โ”‚  Dart Code   โ”‚  Your Flutter code            โ”‚
  โ”‚  โ”‚  (Widgets)   โ”‚                               โ”‚
  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                               โ”‚
  โ”‚         โ”‚                                        โ”‚
  โ”‚         โ–ผ                                        โ”‚
  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                               โ”‚
  โ”‚  โ”‚   Flutter    โ”‚  Skia rendering engine        โ”‚
  โ”‚  โ”‚   Framework  โ”‚  (draws every pixel)          โ”‚
  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                               โ”‚
  โ”‚         โ”‚                                        โ”‚
  โ”‚         โ–ผ                                        โ”‚
  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                               โ”‚
  โ”‚  โ”‚   C/C++      โ”‚  Engine & platform embedder   โ”‚
  โ”‚  โ”‚   Engine     โ”‚                               โ”‚
  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                               โ”‚
  โ”‚                                                  โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Unlike React Native which bridges to native components, Flutter draws every pixel on screen using its own rendering engine. This gives you complete control over the UI.

Key Features

  • Single codebase: Build for iOS, Android, web, and desktop from one codebase
  • Rich widgets: Comprehensive set of customizable Material and Cupertino widgets
  • Hot reload: See changes instantly while coding
  • High performance: Compiled to native ARM code for excellent speed
  • Great documentation: Google provides excellent docs and codelabs

Dart Programming Language

Flutter uses Dart, which is:

  • Easy to learn: Similar to JavaScript and Java
  • Statically typed: Catches errors at compile time
  • Asynchronous: Built-in support for async/await
  • Compiled: AOT compilation for release, JIT for development

When to Use Flutter

Flutter is great when:

  • You want pixel-perfect UI control
  • You need to target mobile, web, and desktop
  • You're building a visually rich app
  • You prefer a single language for everything
  • You want excellent performance

๐Ÿงช Quick Quiz

What framework uses Dart as its programming language?