TECNOLOGIE E APPLICAZIONI WEB
- Anno accademico
- 2020/2021 Programmi anni precedenti
- Titolo corso in inglese
- WEB APPLICATIONS AND TECHNOLOGIES
- Codice insegnamento
- CT0142 (AF:274949 AR:172506)
- Lingua di insegnamento
- Inglese
- Modalità
- In presenza
- Crediti formativi universitari
- 6
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INF/01
- Periodo
- II Semestre
- Anno corso
- 3
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
Basato su Javascript, linguaggio divenuto standard de-facto per ogni web-developer, il corso spazia dai middleware per Node.js, ai database NOSQL e in-memory fino ai framework di front-end come Google Angular e Twitter Bootstrap.
Infine, si discuterà di come le tecnologie legate al web possono essere utilizzate per lo sviluppo agile di applicazioni tradizionalmente confinate in ambiente nativo, come le app per sistemi mobile e gli ambienti desktop.
Risultati di apprendimento attesi
- Conoscere le basi di funzionamento del protocollo HTTP
- Gestire l'autenticazione in un'applicazione WEB
- Definire le funzionalità di un'applicazione e realizzarle definendo delle API in stile REST
- Implementare soluzioni web full-stack utilizzando tecnologie legate all'ecosistema Javascript
- Realizzare applicazioni ibride per il mondo mobile e desktop
Prerequisiti
Contenuti
----------------------------
- Evoluzione del WEB: SPA e frameworks full-stack
- Il protocollo HTTP
- Cookies e il concetto di Sessione
- Authentication: Basic, Digest Access Authentication and JSON web token (JWT)
- Websocket
- API in stile REST
Linguaggi per il web
----------------------------
- JavaScript
- TypeScript
Node.js server-side Javascript runtime
----------------------------
- Storia e panoramica del sistema
- The Npm package manager
- modello di IO asincrono / non-bloccante
- programmazione event-driven
- Interfaccia con il sistema operativo
- HTTP APIs
Storage
----------------------------
- MongoDB
- REDIS
Middleware
----------------------------
- Express
Front-end
----------------------------
- Bootstrap
- Angular
Mobile hybrid and progressive apps
----------------------------
- jQuery Mobile
- Apache Cordova
- Ionic framework
Cross-platform web-based native applications
----------------------------
- Electron framework
Testi di riferimento
Eric Elliott, "Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Modern JS Libraries", O'Reilly Media, 2014. ISBN-10: 1491950293
Fernando Doglio, "Pro REST API Development with Node.js", Apress, 2015. ISBN-10: 1484209184
Steve Fenton, "Pro Typescript", Apress, 2014. ISBN 978-1-4302-6790-4
Adam Freeman, "Pro Angular", Apress 2017. ISBN 978-1-4842-2307-9
Modalità di verifica dell'apprendimento
Il progetto e la relazione hanno lo scopo di verificare la conoscenza dei concetti teorici appresi durante il corso e di dimostrare la capacità dello studente di sviluppare applicazioni web con le tecnologie illustrate a lezione.
Modalità di esame
Metodi didattici
Congiuntamente ai testi di riferimento, materiale di studio aggiuntivo sarà fornito in forma di presentazioni PowerPoint e codice sorgente da utilizzare come template per lo sviluppo di applicazioni full-stack.