Scegli la tua lingua
Corso di sviluppo con Flutter
Più di 2 milioni di studenti in tutto il mondo

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.

Dedika per aziende

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.

Clicca qui

Contenuto del corso

8 Capitoli • 38 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

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 2Vedi dettagli

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 3Vedi dettagli

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 4Vedi dettagli

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 5Vedi dettagli

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 6Vedi dettagli

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 7Vedi dettagli

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 8Vedi dettagli

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.

Certificazione

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...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

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