Struttura del corso
Introduzione
Settimana 1: Introduzione a Mobile Development
- Ecosistema e tendenze delle app mobili
- Introduzione al panorama delle app mobili (iOS e Android)
- Differenze tra app native, ibride e multipiattaforma
- Panoramica del flusso di lavoro e degli strumenti di sviluppo di app mobili
- Sviluppo nativo vs multipiattaforma
- Principali differenze tra lo sviluppo di app per una singola piattaforma (nativa) e più piattaforme (multipiattaforma)
- Vantaggi e svantaggi di ogni approccio
- Panoramica delle piattaforme native comuni (iOS, Android) e degli strumenti multipiattaforma (React Native, Flutter)
- Introduzione a JavaScript Programming
- Sintassi di base e struttura di JavaScript
- Variabili, costanti e tipi di dati (numero, stringa, booleano, oggetto)
- Operatori ed espressioni
- Flusso di controllo:
if
,else
,switch
- Introduzione alle funzioni e all'ambito (ambito globale e locale)
- Configurazione di Xcode per lo sviluppo iOS
- Introduzione all'IDE Xcode: interfaccia, strumenti e flusso di lavoro
- Installazione di Xcode ed esecuzione del simulatore iOS
- Introduzione al linguaggio di programmazione Swift
- Scrittura di un'app di base Swift ed esecuzione sul simulatore iOS
- Configurazione di Android Studio per lo sviluppo Android
- Installazione di Android Studio e configurazione dell'ambiente
- Configurazione e utilizzo dell'emulatore Android
- Introduzione al linguaggio di programmazione Kotlin e sintassi di base
- Scrivere un'app di base Kotlin ed eseguirla sull'emulatore Android
- Configurazione dell'ambiente di sviluppo nativo React
- Installazione della CLI nativa Node.js e React
- Introduzione a Expo e creazione di un progetto con Expo
- Esecuzione di una semplice app "Hello World" su entrambi gli emulatori iOS e Android
Settimana 2: iOS e Android Fondamenti
- Introduzione a Swift e all'IDE Xcode
- Variabili e tipi di dati in Swift (Int, Float, String, Bool, ecc.)
- Costanti con
let
e variabili convar
- Istruzioni del flusso di controllo (
if
,switch
, cicli) - Funzioni e parametri in Swift
- Gestione degli errori in Swift
- Progettazione dell'interfaccia utente in iOS
- Introduzione agli storyboard e al generatore di interfacce Xcode
- Progettazione di layout di app con Layout automatico e vincoli
- Aggiunta di componenti dell'interfaccia utente: pulsanti, etichette, campi di testo, immagini
- Gestione delle interazioni e degli eventi dell'utente (ad esempio, clic sui pulsanti)
- Creazione di un semplice modulo di accesso e convalida dell'input dell'utente
- Introduzione all'IDE Studio Kotlin e Android
- Sintassi di base Kotlin (variabili, tipi di dati e funzioni)
- Comprendere la sicurezza null e le classi di dati di Kotlin
- Introduzione all'architettura e ai componenti dell'app Android (Activities, frammenti)
- Gestione del ciclo di vita delle attività nelle app Android
- Progettazione dell'interfaccia utente in Android
- Progettazione di Android interfacce utente utilizzando XML file di layout
- Utilizzo dei gestori di layout (LinearLayout, RelativeLayout, ConstraintLayout)
- Aggiunta di componenti interattivi (pulsanti, visualizzazioni di testo, modifica di testi)
- Utilizzo di Java/Kotlin per gestire l'input dell'utente e le transizioni di attività
- Creazione di un modulo di accesso con convalida dell'input
- Nozioni di base sul debug in Xcode e Android Studio
- Come usare i punti di interruzione, i log e la console del debugger
- Strumenti e tecniche di debug comuni per iOS (Xcode Instruments, Simulator)
- Strumenti di debug comuni per Android (Logcat, Android Debug Bridge)
- Test ed esecuzione di app su dispositivi reali
- Collegamento di dispositivi fisici a Xcode e Android Studio
- Distribuzione di app su dispositivi fisici (iPhone e Android telefoni)
- Simulazione di diverse condizioni di rete, livelli di batteria e metriche delle prestazioni
Settimana 3: Sviluppo multipiattaforma con React Native
- Introduzione a React Native e JavaScript per dispositivi mobili
- Che cos'è React Native e perché usarlo?
- Panoramica di come React Native traduce JavaScript in codice nativo
- Sintassi JSX: Scrivere strutture simili a HTML in JavaScript
- React componenti: componenti funzionali e componenti basati su classi
- Stato e proprietà: gestione del flusso di dati all'interno di React componenti nativi
- Styling in React nativo
- Introduzione a Flexbox e alla sua importanza nella progettazione del layout
- Creazione di layout reattivi sia per iOS che per Android
- Applicazione di stili specifici della piattaforma utilizzando il
Platform
modulo di React Native
- React Navigazione per le app multipiattaforma
- Introduzione a React Navigazione e contenitori di navigazione
- Creazione di Stack Navigation per le transizioni di schermata
- Implementazione della navigazione tramite schede e cassettiera per le app più complesse
- Passaggio di dati tra le schermate e gestione degli stati di navigazione
- AccessFunzionalità native del dispositivo
- Utilizzo delle funzioni del dispositivo, come la fotocamera e la posizione in React nativo
- Integrazione di API come geolocalizzazione, fotocamera e AsyncStorage
- Gestione delle autorizzazioni per l'accesso all'hardware del dispositivo (differenze tra iOS e Android)
- Archiviazione dei dati in locale con AsyncStorage e integrazione di librerie di terze parti per la persistenza
- Preparazione delle app per la distribuzione
- Configurazione delle impostazioni dell'app per la produzione in Xcode e Android Studio
- Creazione di APK per Android e test su dispositivi reali
- Preparazione di iOS app per l'invio all'App Store (icone delle app, certificati di firma)
- Finalizzazione React di progetti nativi per la distribuzione di produzione su entrambe le piattaforme
- Presentazione del progetto finale
- Presentazione dell'app nativa multipiattaforma finale React alla classe
- Raccolta di feedback e discussione di potenziali miglioramenti
- Sessione finale di domande e risposte e osservazioni conclusive
Riepilogo e passaggi successivi
Requisiti
- Conoscenza di base dei concetti di programmazione
Pubblico
- Sviluppatori mobili
- Programmatori
Recensioni (5)
Edward è un facilitatore fantastico
Zibusiso Ncube - Agricatural Research Council
Corso - Ionic 4 and Angular for Developers
Traduzione automatica
La mia parte preferita è la domanda e la risposta con Sir. Jose. È molto ben informato e conosce la risposta alle nostre domande.
John Henry - Toyota Motor Philippines
Corso - .NET MAUI (Intermediate)
Traduzione automatica
Forse più esercizi potrebbero essere migliori per lerning, ma il tempo era troppo poco
Gianpiero Arico' - Urmet Spa
Corso - Embedded Linux Systems Architecture
Traduzione automatica
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Corso - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic