Flutter

Flutter

MOBILE

Framework multipiattaforma sviluppato da Google che usa Dart come linguaggio di programmazione. Architettura basata su widget con hot reload ultra-veloce, compilazione nativa (ARM/x64) e rendering ad alte prestazioni tramite Skia. Costruisci applicazioni iOS, Android, Web e Desktop con un unico codebase.

Cosa imparerai

Dart moderno con null safety, async/await e strong typing

Architettura basata su widget con composizione e gestione dello State

Hot reload istantaneo per sviluppo ultra-veloce

Compilazione nativa (AOT) per prestazioni ottimali

Widget Material Design e Cupertino per UI nativa

Gestione dello stato (Provider, Riverpod, Bloc, GetX)

Routing e navigazione (Navigator 2.0, go_router)

Pacchetti ricchi (pub.dev) per API, Firebase, animazioni

Testing completo (test unitari, test widget, test di integrazione)

Performance (60fps, rendering Skia, platform channel per codice nativo)

Argomenti chiave da padroneggiare

I concetti più importanti per comprendere questa tecnologia e superare i colloqui

1

Dart: tipi, null safety, async/await, future, stream, isolate

2

Architettura Flutter: Widget tree, Element tree, RenderObject tree

3

Widget: StatelessWidget vs StatefulWidget, ciclo di vita (initState, build, dispose)

4

Gestione dello stato: setState(), InheritedWidget, Provider, Riverpod, Bloc

5

BuildContext: navigazione, Theme.of, MediaQuery, accesso ai dati ereditati

6

Widget di layout: Container, Row, Column, Stack, Flexible, Expanded

7

Material Design: Scaffold, AppBar, BottomNavigationBar, Drawer, SnackBar

8

Widget Cupertino: CupertinoPageScaffold, CupertinoNavigationBar, picker

9

Navigazione: Navigator.push/pop, route nominate, Navigator 2.0, go_router

10

Form e input: TextField, Form, FormField, validazione, TextEditingController

11

Liste: ListView, ListView.builder, GridView, CustomScrollView, Sliver

12

Networking: pacchetto http, dio, REST API, serializzazione JSON (json_serializable)

13

Storage locale: shared_preferences, sqflite, hive, secure_storage

14

Animazioni: AnimatedContainer, AnimationController, Tween, animazioni Hero

15

Platform channel: MethodChannel per integrare codice nativo (Kotlin/Swift)

16

Pacchetti: pub.dev, firebase_core, flutter_bloc, freezed, go_router

17

Testing: testWidgets, mockito, integration_test, test golden

18

Performance: costruttori const, RepaintBoundary, ListView.builder, profiling

19

Design responsive: MediaQuery, LayoutBuilder, OrientationBuilder, AspectRatio

20

Build e distribuzione: flutter build, App Store/Play Store, CI/CD, flavor