Corso di Flutter
Sviluppare APP mobili per Android e iOS
OBIETTIVI
Fornire agli studenti le competenze fondamentali per sviluppare applicazioni mobili multipiattaforma utilizzando Flutter, trattando le basi di Dart, i widget di Flutter, la gestione dello stato e il deployment.
Ogni lezione include una combinazione di teoria, esercitazioni pratiche e proposte per l’approfondimento.
PROGRAMMA DEL CORSO
Di seguito il programma del corso. Per qualunque informazione sul corso personalizzato di Flutter contattaci.
Introduzione a Flutter e alle basi di Dart
- Introduzione a Flutter
- Cos'è Flutter?
- Vantaggi di Flutter (multipiattaforma, sviluppo rapido, interfacce ricche)
- Panoramica dell'architettura di Flutter (widget, framework, motore)
- Installazione di Flutter e configurazione dell'ambiente di sviluppo (MacOS, Windows o Linux)
- Basi di Dart
- Introduzione al linguaggio di programmazione Dart
- Variabili, tipi di dati e costanti
- Sintassi base: funzioni, controllo del flusso (if-else, cicli)
- Strumenti e IDE
- Configurazione di Visual Studio Code
- Panoramica degli strumenti da riga di comando di Flutter
Struttura del progetto Flutter e Widget
- Struttura del Progetto Flutter
- File e directory principali:
main.dart
,pubspec.yaml
, e cartelle comelib
,test
eassets
- Panoramica dei Widget
- Cosa sono i widget? (Stateless vs Stateful widget)
- Widget base:
Container
,Text
,Column
,Row
,Image
,Scaffold
- Layout e Design
- Comprendere il sistema di layout di Flutter
- Padding, Margini, Allineamento
Navigazione e Routing
- App a Pagina Singola vs Multi-Pagina
- Fondamenti di Navigazione
- Introduzione a Navigator e alle route
- Metodi push e pop per la navigazione
- Route Nominative
- Definizione e utilizzo di route nominative
- Passaggio di dati tra schermate
Moduli e Input Utente
- Comprendere i Moduli
- Widget
TextField
- Gestione della validazione degli input
- Widget per i Moduli
- Checkbox, Switch, Slider, Pulsanti
- Gestione Base dello Stato
- Gestione dell'input utente con
setState()
Gestione dello Stato
- Widget Stateful
- Comprendere il ciclo di vita dei widget Stateful
- Gestione dello Stato
- Prop drilling e gestione dello stato tra widget genitori e figli
- Introduzione a Provider
- Gestione base dello stato utilizzando il pacchetto Provider
API e Networking
- Richieste HTTP
- Utilizzo del pacchetto
http
- Metodi GET, POST e altri tipi di richieste
- Parsing dei Dati JSON
- Decodifica di JSON in oggetti Dart
- Gestione degli errori di rete e dei timeout
Liste e Dati Dinamici
- Liste Dinamiche
- Creare liste con
ListView
eListTile
- Scrolling Infinito
- Utilizzo di
ListView.builder
- Liste Interattive
- Aggiungere interattività (es. swipe per eliminare, eventi tap)
Stile e Temi
- Temi e Personalizzazione
- Temi chiari e scuri
- Utilizzo di
ThemeData
per personalizzare l'aspetto dell'app - Font e Colori Personalizzati
- Aggiunta di asset come font e immagini
- Widget Material Design e Cupertino
- Adattare il design per Android e iOS
Archiviazione Locale in Flutter
- Introduzione all'Archiviazione Locale
- Perché e quando utilizzare l'archiviazione locale nelle app mobili
- Panoramica di
shared_preferences
e SQLite - Shared Preferences
- Introduzione al pacchetto
shared_preferences
- Salvare e recuperare semplici coppie chiave-valore
- Limitazioni di Shared Preferences
- Concetti base di SQL e database relazionali
- Utilizzo del pacchetto
sqflite
per Flutter - Creare un database locale
- Operazioni CRUD (Create, Read, Update, Delete)
Deployment dell'App
- Strumenti di debug in Flutter
- Scrivere test base di unità e widget
- Deployment dell'App
- Creare APK e App Bundle per Android
- Preparare e distribuire un'app per iOS
- Pubblicazione sugli Store
- Linee guida per la pubblicazione su Google Play Store e Apple App Store
Progetto Finale
- I partecipanti lavoreranno su un mini-progetto per consolidare ciò che hanno imparato
A CHI E' RIVOLTO
Il corso "Corso di Flutter: sviluppare App per Android e iOS" è adatto a:
- Sviluppatori Web o Software con esperienza in altri linguaggi (JavaScript, Python, Java, etc.) che vogliono espandere le loro competenze nello sviluppo mobile.
- Sviluppatori che hanno usato framework come React Native e vogliono esplorare Flutter.
- App Developer che vogliono creare app mobili per Android e iOS con un solo codice base.
- Imprenditori che desiderano creare una propria app senza dover gestire due codici separati per Android e iOS.