
Corso di sviluppo con Flutter
Padroneggerai Flutter partendo dalle basi e pubblica app reali sia sull'App Store che su Google Play. Questo corso copre tutto, dai fondamenti di Dart e la composizione dei widget alla gestione dello stato, il networking, le animazioni e le pipeline CI/CD. Se desideri realizzare app mobile multipiattaforma con un unico codebase, questo è il punto di partenza.
Cosa imparerai:
Apprenderà la sintassi Dart e la programmazione orientata agli oggetti prima di passare al sistema di widget, ai layout e al theming di Flutter. Da lì, implementerà flussi di navigazione, gestirà lo stato dell'app con Provider, Riverpod e BLoC e connetterà le sue app a REST API e Firebase. Gestirà la persistenza dei dati in locale, realizzerà animazioni fluide e scriverà test di unità, widget e integrazione. Il corso tratta anche il profiling delle prestazioni, l'architettura pulita, l'accessibilità, la localizzazione e le pratiche di codifica sicura. Alla fine, avrà le competenze per progettare, sviluppare, testare e distribuire applicazioni Flutter professionali.
Come studi in modo pratico Corso di sviluppo con Flutter
Come metti in pratica Corso di sviluppo con Flutter
Per te che sei un'azienda e vuoi formare il tuo team
Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.
Contenuto del corso
8 Capitoli • 38 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliFondamenti di Flutter e Dart
Fondamenti di Flutter e Dart
Lezione 1 • Panoramica dell'architettura di Flutter
Esaminare il widget tree, la pipeline di rendering e i canali di piattaforma. Collega il codice Dart al modo in cui Flutter produce pixel sullo schermo.
Lezione 2 • Creare la prima app Flutter
Generare un nuovo progetto, eseguirlo su un dispositivo e ispezionare il codice generato. Convalida l'ambiente e introduce il pattern del punto di ingresso principale.
Lezione 3 • Concetti fondamentali del linguaggio Dart
Trattare il sistema di tipi, il flusso di controllo e le funzioni di Dart. Fornisce le basi del linguaggio necessarie prima di scrivere codice di widget Flutter.
Lezione 4 • Configurazione dell'ambiente di sviluppo
Installare l'SDK Flutter, configurare un IDE e connettere un dispositivo o emulatore. Stabilisce la toolchain da cui dipende ogni capitolo successivo.
Lezione 5 • Programmazione orientata agli oggetti in Dart
Applicare classi, ereditarietà, mixin e interfacce in Dart. Prepara gli studenti a comprendere la gerarchia delle classi widget di Flutter.
Capitolo 2NascondiNascondi dettagliVedi dettagliWidget: i blocchi fondamentali
Widget: i blocchi fondamentali
Lezione 1 • Widget stateless vs. stateful
Distinguere quando usare ciascun tipo di widget e implementarli entrambi correttamente. Fondamentale per ogni decisione UI presa nei capitoli successivi.
Lezione 2 • Widget di layout e composizione
Usare Row, Column, Stack ed Expanded per costruire layout responsivi. I pattern di composizione qui trattati sono alla base di ogni schermata costruita nel corso.
Lezione 3 • Widget scrollabili e liste
Renderizzare liste dinamiche con ListView, GridView e CustomScrollView. Prepara gli studenti alle UI basate su dati introdotte nel capitolo sulla gestione dello stato.
Lezione 4 • Widget di input e form
Acquisire l'input dell'utente con TextField, Checkbox, Switch e validazione dei Form. Abilita direttamente le schermate interattive costruite nei capitoli successivi.
Lezione 5 • Testo, immagini e icone
Visualizzare e stilizzare testo, caricare immagini locali e di rete e usare set di icone. Tratta gli elementi di contenuto visivo più comuni in qualsiasi app.
Capitolo 3NascondiNascondi dettagliVedi dettagliStyling, tematizzazione e design responsivo
Styling, tematizzazione e design responsivo
Lezione 1 • ThemeData e Material Design
Configurare schemi di colore globali, tipografia e temi dei componenti tramite ThemeData. Garantisce coerenza visiva su tutte le schermate di un'app.
Lezione 2 • Pittura personalizzata e decorazioni
Disegnare forme e gradienti personalizzati usando BoxDecoration e CustomPainter. Abilita il controllo a livello di pixel oltre lo styling standard dei widget.
Lezione 3 • Layout responsivi e adattivi
Usare MediaQuery, LayoutBuilder e breakpoint per adattare l'UI alle dimensioni dello schermo. Collega il design mobile-first a destinazioni tablet e desktop.
Lezione 4 • Font e icone personalizzati
Integrare caratteri tipografici e pacchetti di icone personalizzati in un progetto Flutter. Estende la palette Material predefinita per soddisfare i requisiti del marchio.
Capitolo 4NascondiNascondi dettagliVedi dettagliNavigazione e routing
Navigazione e routing
Lezione 1 • Fondamenti di Navigator 1.0
Effettuare push e pop di route in modo imperativo usando Navigator.push e named routes. Stabilisce il modello di navigazione di base prima degli approcci dichiarativi.
Lezione 2 • Navigazione inferiore e barre delle schede
Combinare BottomNavigationBar e TabBar con il routing per app multi-sezione. Tratta il pattern di navigazione più comune nelle app mobile di produzione.
Lezione 3 • Routing dichiarativo con GoRouter
Definire route basate su URL con GoRouter per una navigazione compatibile con il web. Sostituisce i pattern imperativi con un albero di route dichiarativo e scalabile.
Lezione 4 • Drawer, dialoghi e overlay
Visualizzare UI contestuali con Drawer, AlertDialog, BottomSheet e SnackBar. Completa il toolkit di navigazione per schermate app complete.
Capitolo 5NascondiNascondi dettagliVedi dettagliGestione dello stato
Gestione dello stato
Lezione 1 • Pattern BLoC con flutter_bloc
Separare la logica di business dall'UI usando classi Cubit e Bloc con transizioni di stato guidate da eventi. Adatto per applicazioni enterprise complesse e testabili.
Lezione 2 • Pacchetto Provider in dettaglio
Usare ChangeNotifier, Consumer e Selector per condividere e reagire allo stato. Provider è la soluzione di base che introduce concetti di iniezione delle dipendenze.
Lezione 3 • Fondamenti di gestione dello stato
Confrontare stato locale, sollevato e globale e identificare quando ciascuno è appropriato. Inquadra lo spazio del problema prima di introdurre soluzioni specifiche.
Lezione 4 • Gestione dello stato asincrono e degli stream
Gestire future e stream nel livello UI usando FutureBuilder e StreamBuilder. Collega la gestione dello stato al capitolo sul networking che segue.
Lezione 5 • Riverpod per stato scalabile
Dichiarare provider, usare ref.watch e ref.read e gestire lo stato asincrono con AsyncValue. Riverpod elimina la dipendenza dal contesto e migliora la testabilità.
Capitolo 6NascondiNascondi dettagliVedi dettagliNetworking e persistenza dei dati
Networking e persistenza dei dati
Lezione 1 • Serializzazione JSON e modelli di dati
Analizzare JSON manualmente e con la generazione di codice json_serializable per creare modelli tipizzati. Previene errori a runtime e migliora la manutenibilità dei contratti API.
Lezione 2 • Dio per networking avanzato
Usare intercettori Dio, cancellazione delle richieste e upload di file per networking di livello produttivo. Estende l'HTTP di base con capacità di middleware e logging.
Lezione 3 • Storage locale e database
Persistere dati chiave-valore con SharedPreferences e dati strutturati con SQLite tramite Drift. Abilita funzionalità offline-first e memorizzazione delle preferenze utente.
Lezione 4 • Caching e strategie offline
Implementare la cache delle risposte, pattern stale-while-revalidate e rilevamento della connettività. Produce app che si degradano con garbo senza una connessione di rete.
Lezione 5 • Richieste HTTP e API REST
Inviare richieste GET, POST, PUT e DELETE usando il pacchetto http e gestire le risposte. Stabilisce le basi per il recupero dei dati per tutte le funzionalità di rete.
Capitolo 7NascondiNascondi dettagliVedi dettagliAnimazioni e UI avanzata
Animazioni e UI avanzata
Lezione 1 • Animazioni Hero e transizioni di pagina
Implementare transizioni Hero a elemento condiviso e animazioni di route di pagina personalizzate. Crea continuità visiva tra le schermate che migliora le prestazioni percepite.
Lezione 2 • Animazioni implicite
Animare automaticamente i cambiamenti delle proprietà con AnimatedContainer, AnimatedOpacity e TweenAnimationBuilder. Il percorso di minor sforzo verso transizioni UI fluide.
Lezione 3 • Animazioni esplicite con AnimationController
Controllare temporizzazione, loop e sequenziamento dell'animazione con AnimationController e Tween. Abilita sequenze di movimento precise e coreografate.
Lezione 4 • Integrazioni Rive e Lottie
Incorporare animazioni create da designer da Rive e Lottie nelle app Flutter. Colma il divario tra motion designer e sviluppatori Flutter.
Lezione 5 • Animazioni basate sulla fisica e sui gesti
Guidare le animazioni con fisica a molla e gesti dell'utente usando GestureDetector e Draggable. Produce movimento naturale e reattivo al tocco.
Capitolo 8NascondiNascondi dettagliVedi dettagliTest, distribuzione e CI/CD
Test, distribuzione e CI/CD
Lezione 1 • Test di integrazione e end-to-end
Eseguire flussi completi dell'app su un dispositivo reale o emulatore usando il pacchetto integration_test. Convalida i percorsi utente completi prima del rilascio.
Lezione 2 • Firma dell'app e preparazione per gli store
Configurare chiavi di firma, icone dell'app, schermate splash e metadati dello store per Android e iOS. Soddisfa tutti i prerequisiti per un invio allo store di successo.
Lezione 3 • Test di unità in Flutter
Testare la logica Dart, i modelli e le classi di stato in isolamento usando il pacchetto test. Convalida la logica di business indipendentemente dal livello UI.
Lezione 4 • Pipeline CI/CD per Flutter
Automatizzare test, build e distribuzione usando GitHub Actions e Fastlane. Riduce lo sforzo manuale di rilascio e impone controlli di qualità su ogni commit.
Lezione 5 • Test dei widget
Renderizzare widget in un ambiente di test e simulare le interazioni dell'utente con WidgetTester. Rileva le regressioni UI senza eseguire su un dispositivo reale.
Il tuo certificato valido di completamento
Questo corso è per te:
Sviluppatori web: pronti a estendere le proprie competenze verso app mobili di qualità nativa.
Ingegneri backend: desiderano gestire l'intero stack del prodotto end-to-end.
Sviluppatori Android o iOS: che desiderano consolidarsi in un'unica base di codice condivisa.
Chi cambia carriera: entrare nel settore tech grazie a competenze molto richieste nello sviluppo mobile multipiattaforma.
Maker indipendenti: desiderano lanciare la propria idea di app senza un grande team.
Studenti di informatica: in cerca di esperienza pratica nello sviluppo mobile al di là dei corsi.
Cosa dicono i nostri studenti
Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...

Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.

Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!

La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.

Principali percorsi formativi
FAQ
Chi è Dedika?
Il certificato è valido in Italia?
I corsi sono gratuiti?
Qual è il carico di lavoro del corso?
Come sono strutturati i corsi?
Come funzionano i corsi?
Qual è la durata dei corsi?
Qual è il costo o il prezzo dei corsi?
Cos’è un corso EAD o online e come funziona?
Corso PDF




















