Il corso affronta lo studio delle tecnologie web, presentando le più comuni tecnologie utilizzate lato client e lato server, utili per la fruizione e realizzazione di servizi web. Il corso consentirà allo studente di imparare a sviluppare applicazioni Web anche con uno spiccato livello di interazione sito-utente. Inoltre, verranno fatti cenni all'utilizzo delle tecnologie web per la realizzazione di applicazioni mobile multipiattaforma.
Prerequisiti
Conoscenze di programmazione procedurale e ad oggetti. Nozioni di reti e di basi di dati.
Metodi didattici
Lezioni ed esercitazioni.
Verifica Apprendimento
La verifica dell’apprendimento consisterà in un esame orale che verterà sugli argomenti del corso e da un progetto, secondo le seguenti modalità. Requisiti del progetto. Il progetto può essere proposto da un singolo studente o da un gruppo composto da massimo due studenti e verrà discusso nelle date stabilite dal calendario degli esami, insieme agli argomenti oggetto del corso. Il progetto si deve attenere ai seguenti requisiti: 1) Realizzare una applicazione web o un’applicazione mobile (con Cordova), attraverso l’utilizzo dei seguenti linguaggi: Lato client HTML CSS JavaScript Lato server Php 2) L’applicazione dovrà utilizzare MySQL per la gestione dei dati. 3) Occorre realizzare un servizio web, scegliendo alternativamente tra due tipologie: a. RESTful b. SOAP/WSDL 4) Il progetto deve essere corredato da una relazione che descriva tutte le sue componenti (interfaccia, script, database, servizio web o altro) 5) Il codice prodotto deve essere commentato L'uso eventuale di altre tecnologie deve essere concordato con il docente. Il progetto deve essere consegnato almeno una settimana prima della data d'esame e va caricato sull'apposita sezione della pagina e- learning del corso sulla piattaforma moodle2.unime.it. Criteri di valutazione. La qualità del progetto verrà valutata secondo i seguenti criteri: 1. Appropriatezza delle soluzioni proposte e delle tecnologie utilizzate rispetto all’oggetto dell’applicazione 2. Completezza rispetto all’oggetto dell’applicazione 3. Qualità della relazione e della documentazione del codice 4. Originalità dell’applicazione 5. Usabilità dell’applicazione
Testi
Marco Avvenuti, Mario G.C. A. Cimino. Laboratori di programmazione Web - HTML, CSS, Javascript e PHP. McGraw-Hill. Robert W. Sebesta. Programming the World Wide Web. Pearson
Contenuti
1. Storia e architettura del WWW - Da Internet al Web - Gli standard implementativi del Web - I primi anni e la competizione per gli standard di rappresentazione - Le ragioni della scalabilità del Web - Web 2.0, Web mobile e Architetture Cloud 2. Interfaccia - HTML, sintassi e parsing - XHTML e CSS - CSS3 - HTML5 3. Scripting lato client - Javascript - Introduzione allo scripting lato client - OOP in Javascript - DOM - Scope e closure in Javacript 4. Scripting lato server - Php - Introduzione allo scripting lato server - Introduzione al Php - Strutture di controllo e Array in PHP - Funzioni in PHP - PHP a oggetti - Php e database, MySQL - PHP per il Web - Sicurezza 5. Servizi Web - Servizi RESTful - Servizi WSDL/SOAP 6. Sviluppo applicazioni Web e Mobile - L'economia dei beni digitali - Modelli di business per il Web - Principi di usabilità architettura dell'informazione - Ambienti e framework di programmazione Web e Mobile