Struttura del corso
Introduzione
Settimana 1: Panoramica dello Sviluppo Mobile
- Ecosistema e Piattaforme Mobile
- Panoramica dei sistemi operativi mobili (iOS e Android)
- Principali differenze tra sviluppo iOS, Android e multipiattaforma
- Negozio di app popolari (Apple App Store, Google Play Store)
- Introduzione allo sviluppo nativo, ibrido e multipiattaforma
- Nativo vs Ibrido vs Multipiattaforma
- Vantaggi e sfide di ciascun metodo di sviluppo
- Panoramica di Swift (per iOS), Kotlin (per Android) e React Native (multipiattaforma)
- Come il codice viene tradotto nelle piattaforme mobili (da JavaScript a codice nativo in React Native)
- Fondamenti di Programmazione
- Introduzione ai concetti di programmazione (variabili, tipi di dati, funzioni, flusso di controllo)
- Confronto della sintassi tra Swift, Kotlin e JavaScript
- Scrittura di semplici programmi utilizzando Swift, Kotlin e JavaScript
- Configurazione degli Ambienti di Sviluppo
- Installazione di Xcode e Android Studio
- Configurazione di React Native CLI e Expo
- Esecuzione di app di base "Hello World" su simulatori ed emulatore
Settimana 2: Introduzione a Swift, Kotlin e JavaScript
- Programmazione Swift per iOS
- Variabili, costanti e tipi di dati in Swift
- Istruzioni di flusso di controllo (
if,switch, cicli) - Funzioni e parametri in Swift
- Introduzione all'interfaccia di Xcode e Swift Playgrounds
- Programmazione Kotlin per Android
- Variabili, tipi di dati e funzioni in Kotlin
- Comprensione della null safety di Kotlin
- Strutture di flusso di controllo e cicli
- Introduzione all'interfaccia di Android Studio e Kotlin Playground
- JavaScript per React Native
- Variabili, costanti e flusso di controllo in JavaScript
- Funzionalità ES6: funzioni arrow, template literals e destructuring
- Scrittura ed esecuzione di programmi JavaScript di base in React Native utilizzando Expo
Settimana 3: Progettazione dell'Interfaccia Utente iOS
- Elementi UI in iOS
- Introduzione a UIKit e SwiftUI
- Aggiunta e personalizzazione di elementi UI come pulsanti, etichette e campi di testo
- Utilizzo di Interface Builder per progettare l'UI
- Lavoro con Storyboards e progettazione di UI multi-schermo
- Auto Layout e Vincoli
- Comprensione del sistema Auto Layout
- Utilizzo dei vincoli per layout reattivi su diverse dimensioni di schermo
- Creazione di stack view e regolazione dinamica degli elementi UI
- Fondamenti di SwiftUI
- Introduzione alla progettazione dichiarativa dell'UI in SwiftUI
- Creazione di semplici componenti UI utilizzando SwiftUI
Settimana 4: Progettazione dell'Interfaccia Utente Android
- Layout XML in Android
- Introduzione alla progettazione di layout basata su XML
- Lavoro con layout comuni: LinearLayout, RelativeLayout, ConstraintLayout
- Aggiunta e personalizzazione di elementi UI: pulsanti, viste di testo, viste di immagini
- Utilizzo di ConstraintLayout per layout reattivi e dinamici
- Material Design
- Integrazione dei principi di Material Design (colori, icone, tipografia)
- Utilizzo di Material Components (pulsanti, pulsanti di azione fluttuanti, card)
- Implementazione di temi e stili per le app Android
Settimana 5: Progettazione dell'Interfaccia Utente React Native
- Layout Flexbox in React Native
- Comprensione di Flexbox per la progettazione di layout reattivi
- Creazione di layout basati su colonne e righe
- Stilizzazione dei componenti UI con proprietà Flexbox (justifyContent, alignItems, ecc.)
- Componenti React Native
- Lavoro con componenti principali come
Text,View,TextInputeButton - Creazione di elementi UI interattivi come moduli e pulsanti
- Utilizzo del componente
ScrollViewper contenuto dinamico
- Lavoro con componenti principali come
Settimana 6: Gestione dei Dati in iOS e Android
- Gestione Dati in iOS
- Utilizzo di UserDefaults per la persistenza di dati semplici
- Introduzione a Core Data per l'archiviazione locale di dati complessi
- Riprensione di dati da API utilizzando URLSession
- Analisi dei dati JSON e visualizzazione nell'UI
- Gestione Dati in Android
- Utilizzo di SharedPreferences per lo stoccaggio di piccole quantità di dati
- Introduzione a SQLite e Room Persistence Library per la gestione dei database
- Riprensione di dati da API utilizzando Retrofit
- Analisi del JSON e gestione delle risposte API
Settimana 7: Gestione dello Stato e API in React Native
- Stato e Props in React Native
- Gestione del flusso di dati all'interno dei componenti React Native
- Utilizzo dell'hook
useStateper gestire lo stato locale dei componenti - Passaggio di dati tra componenti padre e figlio tramite props
- Riprensione Dati in React Native
- Utilizzo di Fetch API e Axios per effettuare richieste HTTP
- Visualizzazione dei dati recuperati in elenchi (utilizzando
FlatList,SectionList) - Persistenza locale dei dati utilizzando AsyncStorage in React Native
Settimana 8: Navigazione in iOS e Android
- Navigazione iOS
- Introduzione ai controller di navigazione e gestione di più schermate
- Utilizzo delle segues per transizioni tra i controller delle viste
- Passaggio di dati tra controller delle viste
- Implementazione di TabBar e NavigationBar per una navigazione strutturata
- Navigazione Android
- Lavoro con Activities e Intents per app multi-schermo
- Passaggio di dati tra Activity utilizzando Bundles
- Creazione di un Navigation Drawer e un BottomNavigationView
- Implementazione di fragment per una navigazione UI flessibile
Settimana 9: Navigazione in React Native
- Fondamenti di React Navigation
- Installazione e configurazione di React Navigation
- Utilizzo di Stack Navigator per transizioni tra schermate
- Implementazione di Tab Navigator e Drawer Navigator per navigazione complessa
- Passaggio di parametri tra schermate e gestione dello stato di navigazione
Settimana 10: Funzionalità Avanzate
- Funzionalità Avanzate iOS:
- Geolocalizzazione e mappe
- Accesso alla posizione del dispositivo con Core Location
- Visualizzazione di mappe utilizzando MapKit
- Gestione della geolocalizzazione e del tracciamento della posizione dell'utente
- Fotocamera e media
- Accesso alla fotocamera del dispositivo e alla libreria fotografica
- Cattura e visualizzazione di immagini con UIImagePickerController
- Archiviazione e recupero di file multimediali
- Geolocalizzazione e mappe
- Funzionalità Avanzate Android
- Posizione e mappe
- Utilizzo dell'API Google Maps per visualizzare mappe e posizione dell'utente
- Accesso ai dati GPS e gestione della geolocalizzazione
- Fotocamera e media
- Utilizzo di CameraX per catturare foto e gestire i permessi della fotocamera
- Visualizzazione di immagini e gestione dello stoccaggio dei media
- Posizione e mappe
- Funzionalità Avanzate React Native
- Mappe React Native
- Integrazione di mappe utilizzando
react-native-maps - Gestione di servizi basati sulla posizione (geolocalizzazione, mappatura di percorsi)
- Integrazione di mappe utilizzando
- Accesso a Fotocamera e Media
- Utilizzo della libreria React Native Camera per la cattura di foto
- Accesso allo stoccaggio dei media del dispositivo e gestione dei file
- Mappe React Native
Settimana 11: Debug e Test
- Debug e Test iOS
- Utilizzo del debugger Xcode
- Impostazione di breakpoint e ispezione delle variabili in Xcode
- Utilizzo della console per il debug in tempo reale
- Problemi di debug comuni e come risolverli
- Test unitari in iOS
- Scrittura ed esecuzione di test unitari utilizzando il framework XCTest
- Mocking degli oggetti e test dei componenti UI
- Utilizzo del debugger Xcode
- Debug e Test Android
- Utilizzo di Logcat in Android Studio
- Logging e analisi degli errori utilizzando Logcat
- Debug delle app Android con breakpoint
- Test unitari in Android
- Scrittura di test unitari utilizzando JUnit
- Test dei componenti UI Android con Espresso
- Utilizzo di Logcat in Android Studio
- Debug e Test React Native
- Strumenti di debug React Native
- Utilizzo di Chrome DevTools e React Native Debugger per il debug in tempo reale
- Log di console e ispezione delle richieste di rete
- Test unitari in React Native
- Scrittura di test unitari utilizzando Jest e Enzyme
- Test dei componenti React Native e gestione dei casi di test
- Strumenti di debug React Native
Settimana 12: Distribuzione delle App e Progetto Capstone
- Distribuzione e Diffusione
- Invio su Apple 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 test beta
- Invio su Google 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
- Comprensione delle politiche e delle linee guida del Play Store
- Invio su Apple App Store
- Sviluppo del Progetto Capstone
- Sviluppo del progetto finale
- Costruzione di un'app completamente funzionante a scelta
- Incorporazione di funzionalità avanzate come chiamate API, navigazione, media e posizione
- Presentazione e dimostrazione dell'app finale ai pari e agli istruttori
- Sviluppo del progetto finale
Riepilogo e Prossimi Passi
Requisiti
- Comprensione di base dei concetti di programmazione
- Conoscenza di base di JavaScript
Target
- Sviluppatori mobili
- Programmatore
Recensioni (3)
Tutto è a posto.
Adrian Rybka - SEOyon
Corso - Flutter Development Bootcamp with Dart
Traduzione automatica
Informazioni aggiuntive molto utili
Grzegorz - Comp S.A.
Corso - BLoC Pattern
Traduzione automatica
Sviluppo dell'app di autenticazione utente e attività Kahoot (mi sono assicurato di assimilare le lezioni del corso :) e è molto divertente!)
Jhoanne - Pag-IBIG Fund
Corso - .NET MAUI Fundamentals
Traduzione automatica