Definicja #
Flutter to open-source'owy framework Google do tworzenia aplikacji wieloplatformowych z jednego kodu źródłowego. Używa języka Dart (opracowanego przez Google) i własnego silnika renderującego (Skia / Impeller), który rysuje każdy piksel interfejsu samodzielnie — bez polegania na natywnych kontrolkach iOS ani Androida.
Kluczowe cechy Flutter:
- Własny silnik renderowania — Flutter kontroluje każdy piksel ekranu; interfejs wygląda tak samo na iOS, Android, web i desktopie; eliminuje rozbieżności wynikające z różnych natywnych UI
- Widget-based UI — wszystko w Flutterze jest widgetem (stateless lub stateful); composable, immutable elementy UI tworzone deklaratywnie
- Hot reload / Hot restart — natychmiastowe odświeżenie interfejsu podczas dewelopmentu bez utraty stanu aplikacji
- Wieloplatformowość — jeden kod działa na: iOS, Android, Web (Flutter Web), Desktop (Windows, macOS, Linux)
- Dart — język statycznie typowany z ahead-of-time (AOT) kompilacją do kodu natywnego ARM; składnia zbliżona do Javy/C#
- Material Design i Cupertino — gotowe biblioteki widgetów Google Material (Android) i Cupertino (styl iOS)
Flutter vs React Native:
- Flutter — własny silnik rendering (nie używa natywnych komponentów), język Dart, lepsza wydajność UI i spójność wizualna
- React Native — używa natywnych komponentów platformy przez bridge, język JavaScript/TypeScript, większa społeczność i ekosystem npm
Zastosowania #
- Aplikacje mobilne cross-platform iOS/Android — jeden kod dla obu platform zamiast dwóch oddzielnych projektów (Swift + Kotlin)
- Aplikacje z niestandardowym UI — Flutter świeci tam gdzie standardowe natywne komponenty nie wystarczają; animacje i custom rendering
- MVP i startup apps — szybkie budowanie produktu na obu platformach mobilnych bez podwójnego zespołu iOS/Android
- Flutter Web — aplikacje webowe i PWA z tym samym kodem Dart (z zastrzeżeniami wydajnościowymi)
- Desktop aplikacje — Flutter Desktop dla Windows, macOS i Linux; jeden kod dla 6 platform jednocześnie
Ścieżka nauki #
Flutter ma niski próg wejścia dla programistów znających Java, C# lub Kotlin — składnia Dart jest znajoma.
Zacznij od:
- Instalacja Flutter SDK (
flutter.dev) i konfiguracja Android Studio lub VS Code - Podstawy Dart: typy, klasy, async/await, null safety (
?,!,late) - Widgety:
StatelessWidget,StatefulWidget,setState(); podstawowe widgety (Text, Column, Row, Container, ListView) - Flutter DevTools i Hot Reload — fundamentalne narzędzia dewelopmentu
Następnie pogłębiaj:
- State management: Provider, Riverpod, BLoC — wybierz jeden ekosystem i pogłębiaj
- Nawigacja: Flutter Navigator 2.0 / go_router
- HTTP i REST API: pakiet
httplubDio; serializacja JSON (json_serializable) - Lokalna baza danych: SQLite (
sqflite), Hive, Isar - Certyfikacja: Google Associate Android Developer (Flutter) lub portfolio aplikacji na pub.dev
FAQ #
- Czym różni się Flutter od React Native?
- Flutter używa własnego silnika renderującego (Skia/Impeller) i języka Dart — rysuje każdy piksel samodzielnie, bez natywnych kontrolek. React Native używa natywnych komponentów platformy przez JavaScript bridge i Nowej Architektury (JSI). Flutter zapewnia lepszą spójność wizualną i wydajność UI; React Native ma większy ekosystem i bazuje na JavaScripcie/TypeScript.
- Czy Flutter jest dojrzałą technologią produkcyjną?
- Tak — Flutter jest w produkcji w aplikacjach milionów użytkowników: Google Pay, BMW App, Alibaba (Xianyu). Google aktywnie inwestuje w Flutter. Wersja stable jest dojrzała dla iOS i Android; Flutter Web i Desktop są stabilne, ale mają ograniczenia (wydajność Web, rozmiar bundle).
- Czego się uczyć: Flutter czy React Native?
- Jeśli znasz JavaScript/TypeScript i React — React Native będzie szybszy w nauce. Jeśli zaczynasz od zera lub znasz Java/C#/Kotlin — Flutter z Dartem ma niższy próg wejścia. Flutter jest preferowany przez Google i ma lepszą spójność cross-platform. Oba frameworki mają aktywny rynek pracy.
- Ile zarabia Flutter Developer?
- Flutter Developer w Polsce zarabia od 10 000 do 22 000 zł brutto. Flutter jest relatywnie młodą technologią — popyt rośnie, ale jest mniejszy niż dla React Native. Połączenie Flutter + umiejętności natywne (Kotlin/Swift) lub backend jest cennym profilem na rynku.