Descrizione
L'evoluzione tecnologica ha portato alla creazione di dispositivi portatili (PDA, Smartphone, Tablet) con capacità di memorizzazione e potenza di calcolo paragonabile a quella dei PC e dei laptop di pochi anni fa. Le aziende stanno iniziando a portare, con successo, le loro applicazioni su questi strumenti (basta pensare alle oltre 300000 applicazioni attualmente sviluppate per iPhone). La “guerra” fra i produttori di dispositivi per l'imposizione della loro piattaforma complica le operazioni di progettazione e di sviluppo di applicazioni e rende difficoltosa la creazione di applicazioni realmente portabili.
Le potenzialità delle piattaforme mobili sono notevoli ma gli errori che si possono fare in fase di progetto e sviluppo delle applicazioni possono ridurre, se non annullare, i vantaggi di queste tecnologie.
Il corso, partendo dall'analisi delle differenze fra un'applicazione tradizionale ed un'applicazione per dispositivi mobili, descrive e confronta le principali architetture e le principali tecnologie che è possibile utilizzare e fornisce "gli strumenti" teorici e pratici per progettare e sviluppare al meglio le applicazioni. La descrizione dei vari argomenti è coadiuvata dall'utilizzo di esempi pratici.
Destinatari
- Capi progetto
- Analisti
- Progettisti
- Sviluppatori
- Chiunque sia interessato ad approfondire i concetti relativi allo sviluppo di applicazioni per il Mobile Computing
Prerequisiti
Nessuno
Contenuti
Introduzione al Mobile Computing
- Cos'è il Mobile Computing
- Anatomia di un dispositivo mobili (prestazioni ridotte, bassa capacità di memoria, banda di rete limitata,...)
- Categorie di dispositivi mobili
Progettare applicazioni mobili
- Architettura delle applicazioni mobili (stand-alone, web e client/server)
- Caratteristiche delle applicazioni mobili
- Progetto della user interface
- Stand-alone o web application
- Pattern per l'interazione con l'utente
- Progettare applicazioni per uno “schermo ridotto”
- Progettare web application fruibili su dispositivi differenti
- Il problema della portabilità
- Strumenti per il progetto e il disegno della user interface
- Progettare il layer a servizi
- Problematiche di accessibilità e usabilità
Piattaforme a confronto
- Le principali piattaforme per il mobile computing (Apple iOS, Symbiam, Windows Mobile, Android, Palm WebOs,...)
- Vantaggi e svantaggi delle singole piattaforme
- Confronto fra le piattaforme
Sviluppo di applicazioni mobili
- Pattern per lo sviluppo delle applicazioni
- Le tecnologie per lo sviluppo di applicazioni mobile
- Tecnologie Apple
- Java ME e Java FX
- Lo Script engine di Android
- Microsoft Silverlight
- Le tecnologie basate su flash
- Il nuovo HTML 5 e le applicazioni mobili
- Sviluppare applicazioni multipiattaforma
- Implementare il layer a servizi
- Testing di un'applicazione mobile
Problematiche di sicurezza delle applicazioni mobili
- Criticità relative alla sicurezza delle applicazioni mobili
- Strumenti e standard per la sicurezza di applicazioni mobili
- Principali pattern per progettare e implementare la sicurezza di applicazioni mobili
Cloud Computing, SOA, Web 2.0 e mobile users
- Vista d'insieme
- Strumenti SOA per il cloud computing
- Applicazioni web 2.0 on the Cloud
- Il cloud computing e le piattaforme mobili
Vendere le applicazioni mobili
- Modelli di business
- Gli store on-line
- Pubblicità embedded
Casi di studio ed esempi
Durata
3 giorni
|