Flutter

Create application for multiple platforms with a single codebase

Features

  • Near native performance
  • Optimized for UI Development
  • Supports Ahead of Time Compilation and Just In Time Compilation

Core Concepts

  • Everything is a widget

Toolchain Components

  • Dart SDK
  • Flutter Engine
  • Development tools
    • IDEs - vscode
    • Flutter Cli
    • Flutter Dev Tools . Platforms
  • Web
  • Android
  • IOS
  • MacOs
  • Windows
  • Linux

Flutter Utilities

  • Flutter Devtools
  • Flutter Inspector
  • Dart Analyzer
  • Flutter doctor
  • Hot reload

Flutter Layers

  • Framework - prebuilt widget, animation, rendering system
  • Engine (C++) - low level rendering support using Google Sky
  • Embedder - machine specific embeddings

Flutter Engine

  • Runtime Environment that renders flutter apps
  • Handles drawing of new frames
  • manages textures
  • deals with platform specific graphics
  • Interfaces with the OS to access input services

Widgets

Stateless Widget

Data Types

  • Numbers (int, double)
  • Strings (String)
  • Booleans (bool)
  • Records ((value1, value2))
  • Lists (List, also known as array)
  • Sets (Set)
  • Maps (Map)
  • Runes (Runes; often replaced by the characters API)
  • Symbols (Symbol)
  • null (Null)

References

Backlinks