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 come lib, test e assets
  • 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 e ListTile
  • 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.