====== Progettazione di Applicazioni Web e Mobili ======
===== News =====
Inizio lezioni: 5 Ottobre 2020 ore 9:00
Esami: Per chi fosse interessato all'appello telematico può contattarmi via email all'indirizzo diego.bonura@unicam.it .
----
===== Informazioni Generali =====
**Docenti**:
Diego Bonura [[diego.bonura@unicam.it]]
**Ricevimento studenti**: da concordare a fine della lezione
----
===== Obiettivi del Corso =====
Fornire le conoscenze di basi della progettazione di applicazioni web e mobile con particolare riferimento a
* architetture software
* strumenti di sviluppo
* elementi di sicurezza
----
===== Contenuti del Corso =====
Web:
* Architetture software (MVC/SPA/frontend/backend)
* Strumenti di sviluppo e testing(TTD Development e End2End Testing)
* Version control
* Servizi restful/SOAP - Interoperabilità
* Html5 e Css3
* Linguaggi di Front end e Backend
* NodeJS come backend framework
* Framework frontend
* Vulnerabilità nella applicazioni web
Mobile:
* Architetture software (native/hybrid/web app)
* Strumenti per il mockup
* Strumenti per la prototipazione
* WebContainer e Javascript
* Unit test e End2End test
* Build e Deploy
* Beacons / Image recognition / GPS Indoor / Realtà Aumentata
----
===== Materiale =====
**Slide del Corso Anno Accademico 2019/2020**
* {{ :didattica:triennale:pawm:ay_1920:lezione_7_ottobre_2019.pdf |Lezione del 7 Ottobre}}
* {{ :didattica:triennale:pawm:ay_1920:lezione_14_ottobre_2019.pdf |Lezione del 14 Ottobre}}
* {{ :didattica:triennale:pawm:ay_1920:lezione_20_ottobre_2019.pdf |Lezione del 21 Ottobre}}
* {{ :didattica:triennale:pawm:ay_1920:lezione_28_ottobre_2019.pdf |Lezione del 28 Ottobre}}
* {{ :didattica:triennale:pawm:ay_1920:lezione_4_novembre_2019.pdf |Lezione del 4 Novembre}}
* {{ :didattica:triennale:pawm:ay_1920:lezione_11_novembre_2019.pdf |Lezione del 11 Novembre}}
* {{ :didattica:triennale:pawm:ay_1920:lezione_18_novembre_2019.pdf |Lezione del 18 Novembre}}
* {{ :didattica:triennale:pawm:ay_1920:lezione_25_novembre_2019.pdf.pdf |Lezione del 25 Novembre}}
* {{ :didattica:triennale:pawm:ay_1920:lezione_2_dicembre_2019.pdf |Lezione del 2 Dicembre}}
* {{ :didattica:triennale:pawm:ay_1920:lezione_9_dicembre_2019.pdf |Lezione del 9 Dicembre}}
**Link a WebEx**
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/28c41d37b19d4c159274e1673d0c1b9d|Lezione del 7 Ottobre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/3a8ffabc49f5495a9f7ff0e6dbbece0b|Lezione del 14 Ottobre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/443c6262e96345929550fb79b431acf2|Lezione del 21 Ottobre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/5ce2e9d84dea4c43a21bf6c0106d1d4b|Lezione del 28 Ottobre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/e0863c99aa884190b9c2e173e39b75fd|Lezione del 4 Novembre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/df86345d46a5407cbe6b135393a88677|Lezione del 11 Novembre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/1a6d289084d14103a544338b1fde4d81|Lezione del 18 Novembre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/c8c043a7ae684789b93d0afb88e53e25|Lezione del 25 Novembre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/9838957fa4aa4a178f08b5464e5639ff|Lezione del 2 Dicembre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/2f934e6722614dc6bc2c26888c6512de|Lezione del 9 Dicembre]]
* [[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/6dc84b2ff97d48bbb071760fcfb8dadb|Lezione del 13 Gennaio]]
**Testi di Riferimento**
All'interno delle slides sono presenti a molte risorse disponibili online per approfondimenti dei contenuti del corso.
In particolare per approfondimenti sugli standard HTTP/HTML si può fare riferimento a:
[[https://developer.mozilla.org/en-US/docs/Web/HTTP|Documentazione per Developer Mozilla]]
Per quanto riguarda la conoscenza di Javascript può essere utile consultare il volume:
**JavaScript: The Good Parts**
Douglas Crockford
Editore: O'Reilly Media, Inc, USA
Anno: 2008
EAN: 978059
**MOBILE DEVELOPER‘S GUIDE TO THE GALAXY** :
https://www.open-xchange.com/fileadmin/user_upload/Resources_Pages/Mobile_Developers_Guide/Mobile_Developers_Guide_17thEdition_Web.pdf
Repository GitHub per l'applicazione Node JS
[[https://github.com/mccalv/unicam
]]
** Alcuni canali twitter interessanti ** :
@googledevs
@windowsdev
@aspnet
@dotnet
@VisualStudio
@code
@typescriptlang
@getbootstrap
@angular
@ionicframework
@xamarinhq
@nativescript
----
===== Esami =====
L'esame consiste nella presentazione di un applicazione web su un tema scelto dai candidati (può essere condotta da una o più persone fino ad un massimo di 4) che abbia le seguente caratteristiche:
* Sia fruibile in modalità web anche da dispositivi mobile oppure sia una app mobile (ionic, xamarin, nativescript, react native...)
* Implementi un pattern MVC e Single Page Application
* Abbia un backend ed un DBMS per il popolamento dei dati
L'applicazione può essere concordata per email e discussa con i docenti prima della data di esame.
Per poter sostenere l'esame sarà necessario presentare una descrizione di base del progetto e delle tecnologie scelte (max 4 pagine) e link al repository github/bitbucket/gitlab (non si accettano allegati contenenti codice sorgente) almeno una settimana prima dell'esame.
Si ricorda che si potrà lavorare al codice del progetto sul repository github/bitbucket/gitlab anche dopo la consegna.
Completeranno l'esame alcune domande orali.