TECNOLOGIE E APPLICAZIONI WEB

Anno accademico
2017/2018 Programmi anni precedenti
Titolo corso in inglese
WEB APPLICATIONS AND TECHNOLOGIES
Codice insegnamento
CT0142 (AF:212562 AR:97057)
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
Il corso fornisce una panoramica dettagliata sulle più recenti tecnologie legate al web. E' composto da una introduzione teorica ai protocolli e pattern di programmazione che supportano il web moderno per continuare con uno studio guidato su alcune delle tecnologie recentemente utilizzate per lo sviluppo di applicazioni web.
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.
La conoscenza del linguaggio Javascript è fortemente consigliata ma non richiesta. Durante il corso saranno comunque analizzati gli aspetti più importanti del linguaggio
HTTP
----------------------------
- The HTTP protocol
- Cookies
- Authentication: JSON web token, Basic and Digest Access Authentication
- Websocket
- REST api
- Message-oriented middleware
- Javascript, Coffee-script and TypeScript


Node.js server-side Javascript runtime
----------------------------
- History and overview
- The Npm package manager
- Async non-blocking IO model and event-driven programming
- Interfacing with the operating system
- 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
Simon Holmes, "Getting MEAN with Mongo, Express, Angular, and Node", Manning Publications, 2015. ISBN-10: 1617292036
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
orale
La verifica dell'apprendimento prevede lo sviluppo di un progetto software che utilizzi tecnologie e metodi sviluppati durante il corso. Il progetto va consegnato congiuntamente ad una relazione che sarà poi discussa mediante prova orale.
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.
Il corso è composto da lezioni frontali e alcune sessioni in laboratorio per permettere allo studente di approfondire sperimentalmente i concetti discussi in classe.
Congiuntamente ai testi di riferimento, materiale di studio aggiuntivo sarà fornito in forma di presentazioni PowerPoint. Esempi pratici saranno mostrati durante il corso per contestualizzare i concetti appresi nell'ambito delle tecnologie web.
Italiano
  • CFU sostenibili: RI
  • Utilizzo strumenti open-source
Data ultima modifica programma: 08/04/2018