Obsah
Flutter
Flutter je open-source framework vytvořený společností Google pro vývoj nativně kompilovaných aplikací pro mobilní telefony (Android, iOS), web, desktop i vestavěné systémy (včetně Raspberry Pi) z jediné programové základny (codebase).
Na rozdíl od konkurence Flutter nepoužívá nativní UI komponenty systému, ale vykresluje každý pixel sám pomocí vlastního vysoce výkonného enginu.
Klíčové technologie
1. Jazyk Dart
Flutter používá programovací jazyk Dart. Ten byl navržen tak, aby podporoval dva typy kompilace:
- JIT (Just-in-Time): Používá se během vývoje pro funkci Hot Reload – změna v kódu se projeví v aplikaci během sekundy bez nutnosti restartu.
2. Rendering engine (Impeller / Skia)
Flutter funguje podobně jako herní engine. K vykreslování UI využívá knihovnu Skia (a nověji Impeller), která komunikuje přímo s GPU přes nízkoúrovňová API jako Metal (iOS) nebo Vulkan (Android). Díky tomu dosahují aplikace stabilních 60 až 120 FPS.
Koncept "Všechno je Widget"
Ve Flutteru neexistuje rozdíl mezi „pohledem“, „kontrolerem“ a „stylem“. Vše od tlačítka přes zarovnání až po celé obrazovky je Widget.
- Stateless Widgets: Pro prvky, které se nemění (např. textový popisek).
- Stateful Widgets: Pro prvky s dynamickým obsahem (např. počítadlo nebo formulář).
Výhody a nevýhody
| Vlastnost | Výhoda | Nevýhoda |
|---|---|---|
| Rychlost vývoje | Jedna codebase pro všechny platformy a Hot Reload. | Nutnost učit se nový jazyk (Dart). |
| Výkon | Nativní rychlost díky AOT kompilaci. | Větší velikost výsledné aplikace (binárky). |
| Design | Pixel-perfect kontrola nad každým prvkem UI. | Někdy těžší napodobit specifické chování nového iOS/Androidu ihned po vydání. |
Propojení s ekosystémem
Flutter je ideální volbou pro aplikace, které využívají další technologie v tvé Wiki:
- Backend: Často se pojí s Firebase (součást GCP) pro real-time databáze a autentizaci.
- AI: Díky balíčkům jako `google_generative_ai` lze do Flutteru snadno integrovat modely Gemini.
- Hardware: Skvěle běží na SBC zařízeních a je využíván v palubních systémech automobilů (např. značka Toyota).
— Související pojmy: GCP, Architektura ARM, Raspberry Pi, Gemini
