Road to Flutter

Il percorso formativo percorre tutte le tappe per avere una chiara traccia sulla quale costruire in maniera produttiva la propria esperienza con il più efficiente framework per lo sviluppo di applicazioni mobile cross-platform e, di recente, anche per applicazioni web e desktop.

Una formazione mirata alla conoscenza approfondita di ogni singola caratteristica del framework e delle sue aree di competenza più importanti, partendo dalle basi che possano aiutare a vivere con consapevolezza il magico mondo di Flutter, il tutto supportati da un progetto didattico progressivo e strutturato in step di realizzazione.

Durata: 24h

Livello: Base

Lingua: Italiano

Partecipanti : 5 - 20

Cosa Faremo?

Durante il corso sarà quindi realizzata un’applicazione completa in Flutter, oltre che numerosi esempi pratici sugli argomenti che portano alla conoscenza del Framework.

L’approccio al corso sarà misto ed includerà quindi sessioni teoriche e di live coding.

Cosa è incluso?

  • Corso pratico con live coding
  • Supporto setup environment
  • Slide in formato PDF
  • Repository del Progetto
  • Attestato di Partecipazione
  • Follow Up di fine corso
  • Canale Slack dedicato ai partecipanti

Cosa è necessario?

  • Il proprio computer portatile - Tanta buona volontà e voglia di imparare - Connessione ad Internet

Dove si svolge?

On-Site

È possibile svolgere il corso presso la sede Devmy (San Giovanni La Punta - CT) o presso la sede del committente (eventuali costi di trasferta sono calcolati separatamente).

Full-Remote

È possibile svolgere il corso in modalità full-remote con gli strumenti messi a disposizione da Devmy, ed in modo assolutamente analogo alla modalità onSite ma suddividendo, se lo si desidera, il tutto in sessioni da 4h.

Argomenti trattati

  • Installazione di Dart
    • Introduzione a Dart
    • Che cos’è Dart
  • Introduzione alla Programmazione a Oggetti (OOP) con Dart
    • Cos’è la OOP
    • Variabili
    • Sintassi e Tipi primitivi
    • Funzioni
    • Operatori aritmetici, di uguaglianza e logici
    • Operatori di controllo (if-else, while, for-loops, switch-case)
    • Operatore ternario
    • Classi (factory constructors, default & named parameters)
    • Variabili di classe
    • Metodi di classe
    • Principi di ereditarietà
    • Estensioni di classe (Overriding)
    • Interfacce
    • Mixins
    • Extension methods
    • Null safety
    • Gestione degli errori
    • Collezioni di oggetti (List, Set, Map) e loro funzioni
    • Cascade Operator
    • Optional Chaining
    • Coalescing Operator
    • Tipi generici (Generics)
    • Panoramica sugli Architectural Patterns più comuni
  • Architettura client-server
    • Come funziona l’architettura client-server
    • Cos’è il protocollo HTTP (Request, Response, Headers, Verbs...)
    • Comunicazione client-server tramite protocollo HTTP
    • JSON Data Format
  • Programmazione asincrona
    • Callback
    • Promise / Future
    • Async / Await
    • Accenni sugli Streams
  • Accenni sui Metodi di autenticazione
    • Basic Access Authentication
    • OAuth2
    • JWT
  • Database client side pointview
    • Nozioni di base sui database (tabelle, tipi di dati…)
    • Inserimento / Modifica / Cancellazione dei dati di una tabella
    • Interrogazione dei dati di una tabella
    • Collegamenti tra tabelle
    • SQL vs. NoSQL database
  • Utilizzo di BaaS con Firebase
    • Authentication
    • Firestore
  • Architettura a componenti / widgets
    • Cos’è l’architettura a componenti e come funziona
    • Dumb vs. Smart Component
    • Stateless vs. Stateful Component
  • Mobile Application
    • Panoramica sul mondo iOS
    • Panoramica sul mondo Android
    • Le applicazioni Ibride
    • Le applicazioni native cross-platform
    • I più comuni problemi del mondo mobile
    • Gli Stores
  • Introduzione a Flutter
    • Che cos’è Flutter
    • Panoramica di un progetto Flutter
    • Cosa sono i Widgets e come si dichiarano
    • Lifecycle events
    • Material Widgets
  • Costruire layout tramite Flutter (Layout Widgets)
    • Safe Area & Scaffold Widgets
    • Widget principali per costruire il layout (Container, Row, Column…)
    • ListView & ListTile
    • Buttons (RaisedButton, TextButton, IconButton…)
  • Stateless Widgets vs. Stateful Widgets
    • Differenza tra Stateless e Stateful Widgets
    • Come modificare lo stato di un Widget
    • Comunicazione tra Widgets: Parent to Child
    • Comunicazione tra Widgets: Child to Parent
  • Accenni alle Classi servizio - BE Communication
    • Networking & HTTP
    • Json Serialization / Deserialization
    • Future & Async / Await
    • FutureBuilder
  • Pub - Package Manager
  • Accenni sugli State Management
    • Che cos’è lo stato di un’applicazione
    • Quali sono i problemi di comunicazione tra i Widgets
    • I principali State Manager - Provider / Bloc State Management Library
  • Pubblicazione delle Applicazioni
    • Build delle applicazioni
    • Pubblicazione delle Applicazioni sugli Store - Beta Releases - Regole principali degli Store

Skill minime necessarie & livelli d'accesso

  • Conoscenza base dei concetti di OOP
  • Conoscenza base dei concetti API First
  • Conoscenza dei più comuni pattern di programmazione

Road to Flutter

Sei interessato a migliorare le tue competenze o quelle del tuo team in ambito di programmazione e sviluppo?

Vuoi maggiori informazioni su questo corso?
Compila il form e ti ricontatteremo a brevissimo.

Questo sito è protetto da reCAPTCHA e si applicano le Norme sulla privacy e i Termini di servizio di Google.