Il corso ha l’obiettivo di fornire allo studente le conoscenze, le metodologie e gli strumenti per progettare e realizzare applicazioni mobili native per le due piattaforme principali, iOS e Android, a partire dal design dell’interfaccia utente fino alla pubblicazione su App Store e Google Play.
Dopo un’introduzione sulle architetture delle due piattaforme native sopra menzionate e ai diversi approcci (nativo, mobile web, ibrido) per lo sviluppo di app, il corso si concentrerà su framework cross-platform nativi, che permettono di realizzare app per piattaforme diverse a partire da un singolo codebase, come React Native, Appcelerator Titanium, NativeScript e Xamarin.
In particolare, durante le sessioni di laboratorio, quest'anno verrà utilizzato React Native, il framework open source creato e mantenuto da Facebook e da centinaia di sviluppatori, diventato popolare negli ultimi due anni e particolarmente richiesto dalle aziende di sviluppo software.
Grazie a questo framework, si avrà modo di presentare un’approccio diverso alla programmazione, basato sulle funzioni (programmazione funzionale e reattiva) che rende peculiare React.
Il corso ha un taglio pratico. Il docente illustrerà i contenuti con dimostrazioni live e interattive durante le lezioni. Inoltre verranno assegnati dei challenge (con tre livelli di difficoltà) al termine di ogni lezione, lasciando allo studente la possibilità di approfondire ulteriori aspetti della programmazione mobile.
Buone conoscenze di programmazione. Basi del linguaggio JavaScript
La frequenza è fortemente consigliata
Fullstack React Native Book - The Complete Guide to React Native
https://www.fullstackreact.com/react-native/
Mastering React Native (Eric Masiello)
https://www.packtpub.com/web-development/mastering-react-native
Learning React Native: Building Native Mobile Apps with JavaScript (2nd edition)
Book by Bonnie Eisenman - http://shop.oreilly.com/product/0636920085270.do
Redux documentation: https://redux.js.org/
L’esame consiste nel realizzare una semplice app secondo le specifiche del docente. L’esame si svolgerà presso il laboratorio Archimede nell’arco di 2-3 ore. Ad ogni specifica sarà assegnato un punteggio. Al termine della prova verrà fatta la verifica con il docente ed il voto finale sarà determinato dalla somma dei vari punteggi.
Sarà possibile utilizzare il proprio laptop o i PC del laboratorio.
Non sono previste prove in itinere.
Ulteriori materiali e/o esempi sono pubblicati dal docente sul gruppo Facebook LAP2: Sviluppo di applicazioni mobili native multipiattaforma al seguente indirizzo:
https://www.facebook.com/groups/unict.lap2/