Struttura del corso
Introduzione
Settimana 1: Panoramica di Mobile Development
- Ecosistema e piattaforme mobili
- Panoramica dei sistemi operativi mobili (iOS e Android)
- Differenze chiave tra iOS, Android e lo sviluppo multipiattaforma
- App store popolari (Apple App Store, Google Play Store)
- Introduzione allo sviluppo nativo, ibrido e multipiattaforma
- Nativo, ibrido e multipiattaforma
- Vantaggi e sfide di ogni metodo di sviluppo
- Panoramica di Swift (per iOS), Kotlin (per Android) e React Nativo (multipiattaforma)
- Come il codice si traduce in piattaforme mobili (JavaScript in codice nativo in React Nativo)
- Programming Fondamenti
- Introduzione ai concetti di programmazione (variabili, tipi di dati, funzioni, flusso di controllo)
- Confronto tra la sintassi dello script Swift, Kotlin e Java
- Scrittura di programmi semplici utilizzando Swift, Kotlin e JavaScript
- Configurazione degli ambienti di sviluppo
- Installazione di Xcode e Android Studio
- Configurazione React CLI nativa ed Expo
- Esecuzione di app di base "Hello World" su simulatori ed emulatori
Settimana 2: Introduzione allo script Swift, Kotlin e Java
- Swift Programming per iOS
- Variabili, costanti e tipi di dati in Swift
- Istruzioni del flusso di controllo (
if
,switch
, cicli) - Funzioni e parametri in Swift
- Introduzione all'interfaccia di Xcode e Swift Playgrounds
- Kotlin Programming per Android
- Variabili, tipi di dati e funzioni in Kotlin
- Comprendere la sicurezza nulla di Kotlin
- Flusso di controllo e strutture ad anello
- Introduzione all'interfaccia di Android Studio e Kotlin Playground
- Java Script per React nativo
- Variabili, costanti e flusso di controllo in JavaScript
- Funzionalità ES6: funzioni freccia, valori letterali modello e destrutturazione
- Scrittura ed esecuzione di programmi script di base Javain React nativo utilizzando Expo
Settimana 3: iOS Progettazione dell'interfaccia utente
- Interfaccia utente Elements in iOS
- Introduzione a UIKit e SwiftUI
- Aggiunta e personalizzazione di elementi dell'interfaccia utente come pulsanti, etichette e campi di testo
- Uso di Interface Builder per progettare l'interfaccia utente
- Utilizzo degli storyboard e progettazione di interfacce utente multischermo
- Layout automatico e vincoli
- Informazioni sul sistema di layout automatico
- Utilizzo dei vincoli per i layout reattivi su schermi di diverse dimensioni
- Creazione di visualizzazioni stack e regolazione dinamica degli elementi dell'interfaccia utente
- Swift Nozioni di base sull'interfaccia utente
- Introduzione alla progettazione dichiarativa dell'interfaccia utente in SwiftUI
- Creazione di semplici componenti dell'interfaccia utente utilizzando SwiftUI
Settimana 4: Android Progettazione dell'interfaccia utente
- XML Layout in Android
- Introduzione alla progettazione di layout basata su XML
- Utilizzo di layout comuni: LinearLayout, RelativeLayout, ConstraintLayout
- Aggiunta e personalizzazione di elementi dell'interfaccia utente: pulsanti, visualizzazioni di testo, visualizzazioni di immagini
- Utilizzo di ConstraintLayout per layout reattivi e dinamici
- Design dei materiali
- Integrazione dei principi del Material Design (colori, icone, tipografia)
- Utilizzo dei componenti materiali (pulsanti, pulsanti di azione mobili, schede)
- Implementazione di temi e stili per le app Android
Settimana 5: React Progettazione nativa dell'interfaccia utente
- React Layout Flexbox nativo
- Capire Flexbox per la progettazione di layout reattivi
- Creazione di layout basati su colonne e righe
- Applicazione di stili ai componenti dell'interfaccia utente con le proprietà Flexbox (justifyContent, alignItems e così via)
- React Componenti nativi
- Utilizzo di componenti core come
Text
,View
,TextInput
, eButton
- Creazione di elementi interattivi dell'interfaccia utente, ad esempio moduli e pulsanti
- Utilizzo del componente per i
ScrollView
contenuti dinamici
- Utilizzo di componenti core come
Settimana 6: Gestione dei dati in iOS e Android
- iOS Gestione dei dati
- Utilizzo di UserDefaults per la persistenza semplice dei dati
- Introduzione ai dati di base per l'archiviazione locale di dati complessi
- Recupero di dati dalle API tramite URLSession
- Analisi dei dati JSON e visualizzazione nell'interfaccia utente
- Android Gestione dei dati
- Utilizzo di SharedPreferences per l'archiviazione di piccole quantità di dati
- Introduzione a SQLite e Room Persistence Library per la gestione dei database
- Recupero dei dati dalle API utilizzando Retrofit
- Analisi di JSON e gestione delle risposte API
Settimana 7: React Stato nativo Management e API
- Stato e oggetti di scena in React nativo
- Gestione del flusso di dati all'interno di React Componenti nativi
- Utilizzo dell'hook
useState
per la gestione dello stato del componente locale - Passaggio di dati tra componenti padre e figlio tramite props
- Recupero dei dati in React nativo
- Utilizzo dell'API Fetch e di Axios per effettuare richieste HTTP
- Visualizzazione dei dati recuperati negli elenchi (utilizzando
FlatList
,SectionList
) - Persistenza dei dati in locale utilizzando AsyncStorage in React Native
Settimana 8: Navigazione in iOS e Android
- iOS Navigazione
- Introduzione ai controller di navigazione e alla gestione di più schermi
- Uso dei passaggi seguenti per la transizione tra i controller di visualizzazione
- Passaggio di dati tra controller di visualizzazione
- Implementazione di TabBar e NavigationBar per l'esplorazione strutturata
- Android Navigazione
- Uso di Activitie e Intents per le app multischermo
- Passaggio di dati tra Activities utilizzando i bundle
- Creazione di un cassetto di navigazione e di BottomNavigationView
- Implementazione di frammenti per una navigazione flessibile nell'interfaccia utente
Settimana 9: Navigazione in React nativo
- React Nozioni di base sulla navigazione
- Installazione e configurazione React Navigazione
- Utilizzo di Stack Navigator per le transizioni di schermata
- Implementazione del Navigatore schede e del Navigatore cassetto per una navigazione complessa
- Passaggio di parametri tra le schermate e gestione dello stato di navigazione
Settimana 10: Funzionalità avanzate
- iOS Funzioni avanzate:
- Posizione principale e mappe
- AccessLocalizzazione del dispositivo con Core Location
- Visualizzazione delle mappe utilizzando MapKit
- Gestione della geolocalizzazione e del tracciamento della posizione dell'utente
- Fotocamera e contenuti multimediali
- AccessFotocamera del dispositivo e libreria di foto
- Acquisizione e visualizzazione di immagini con UIImagePickerController
- Archiviazione e recupero di file multimediali
- Posizione principale e mappe
- Android Funzioni avanzate
- Posizione e mappe
- Utilizzo dell'API Google Maps per visualizzare le mappe e la posizione dell'utente
- AccessVisualizzazione dei dati GPS e gestione della geolocalizzazione
- Fotocamera e contenuti multimediali
- Utilizzo di CameraX per scattare foto e gestire le autorizzazioni della fotocamera
- Visualizzazione delle immagini e gestione dell'archiviazione multimediale
- Posizione e mappe
- React Funzionalità avanzate native
- React Mappe native
- Integrazione delle mappe utilizzando
react-native-maps
- Gestione dei servizi basati sulla localizzazione (geolocalizzazione, mappatura del percorso)
- Integrazione delle mappe utilizzando
- Accesso alla fotocamera e ai contenuti multimediali
- Utilizzo della libreria Native Camera React per l'acquisizione di foto
- AccessArchiviazione multimediale del dispositivo e gestione dei file
- React Mappe native
Settimana 11: debug e test
- iOS Debug e test
- Utilizzo del debugger Xcode
- Impostazione dei punti di interruzione e controllo delle variabili in Xcode
- Utilizzo della console per il debug in tempo reale
- Problemi comuni di debug e come risolverli
- Unit test in iOS
- Scrittura ed esecuzione di unit test con il framework XCTest
- Simulazione di oggetti e test dei componenti dell'interfaccia utente
- Utilizzo del debugger Xcode
- Android Debug e test
- Utilizzo di Logcat in Android Studio
- Registrazione e analisi degli errori con Logcat
- Debug di Android app con punti di interruzione
- Test unitari in Android
- Scrittura di unit test con JUnit
- Test di Android componenti dell'interfaccia utente con Espresso
- Utilizzo di Logcat in Android Studio
- React Debug e test nativi
- React Strumenti di debug nativi
- Utilizzo di Chrome DevTools e React Native Debugger per il debug in tempo reale
- Log della console e controllo delle richieste di rete
- Unit test in React nativo
- Scrittura di test unitari utilizzando Jest ed Enzyme
- Test React Componenti nativi e gestione dei casi di test
- React Strumenti di debug nativi
Settimana 12: Distribuzione dell'app e progetto capstone
- Distribuzione e distribuzione
- iOS Invio all'App Store
- Preparazione dell'app per la distribuzione (icone, certificati, profili di provisioning)
- Utilizzo di App Store Connect per inviare l'app per la revisione
- Utilizzo di TestFlight per il beta testing
- Android Invio al Play Store
- Preparazione dell'APK e firma dell'app per la distribuzione
- Utilizzo di Google Play Console per l'invio e il monitoraggio dell'app
- Informazioni sulle norme e le linee guida del Play Store
- iOS Invio all'App Store
- Sviluppo del progetto Capstone
- Sviluppo del progetto finale
- Creazione di un'app completamente funzionale a tua scelta
- Incorpora funzionalità avanzate come chiamate API, navigazione, contenuti multimediali e posizione
- Presentazione e dimostrazione dell'app finale a colleghi e istruttori
- Sviluppo del progetto finale
Riepilogo e passaggi successivi
Requisiti
- Conoscenza di base dei concetti di programmazione
- Conoscenza base di JavaScript
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