- Docente: Luciano Bononi
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea in Informatica per il management (cod. 8014)
Conoscenze e abilità da conseguire
Al termine del corso, lo studente conosce gli aspetti tecnologici e metodologici e gli strumenti per lo sviluppo di applicazioni per dispositivi mobili, su piattaforme iOS (iPhone, iPad, iPod Touch) e Android. Conosce inoltre la gestione di dispositivi dotati di interfacce utente innovative, multi-touch, gestione eventi, la programmazione objectiveC, Eclipse e Android SDK, design patterns, interfacciamento dati esterno, sensori e geo-localizzazione, servizi di networking, debugging e test di applicazioni. Conosce infine: - le problematiche delle applicazioni eseguite in contesto wireless mobile; - le piattaforme più importanti per lo sviluppo di applicazioni mobili; - le API dei device interni; - la gestione della multimedialità in contesto wireless mobile; - iPhone SDK e Android SDK; - come progettare e implementare una applicazione con il pattern architetturale Model-View-Control nei due ambienti di sviluppo.
Contenuti
Panoramica sugli aspetti tecnologici dei dispositivi iPhone,
iPod Touch e iPad.
Panoramica aspetti tecnologici dei dispositivi Android.
iOS technology layers: Core OS, Core Services, Media, Cocoa
Touch.
iOS e iOS SDK.
Strumenti di sviluppo per la piattaforma iOS: Xcode, Interface
Builder, Simulator, Instruments.
Componenti applicazioni Android, Applications, Activities, Activity
stack, tasks, Intents.
ObjectiveC.
Java e XML.
Inizializzazione degli oggetti e gestione della memoria.
Proprietà, Protocolli e Categorie in Objective-C.
Cocoa design pattern, Model-View-Controller.
Target, Action, Outlets.
Singleton, Notification, Delegate.
Foundation Framework e UIKit (Cocoa Touch).
Interfaccia utente, UIWindow e UIView.
Creazione di una UIViewController e gestione applicazioni
MultiViews, controllers e views.
Gestione eventi Touch e Multi-touch, gestures.
Input di testo e gestione del testo.
Strumenti e modelli per la persistenza dei dati su iOS.
CoreData e Table Views.
Interfacciamento con dati esterni (e web).
Implementazione delle mappe e servizi di geo-localizzazione.
Sensore di movimento e accelerometro.
Interfacce ruotabili e ridimensionabili.
Networking services.
Debugging e Testing delle applicazioni per iOS.
App Store.
Testi/Bibliografia
Bill Dudney, Chris Adamson, Sviluppare applicazioni con iPhone SDK,
Apogeo 11/2009, ISBN: 978-88-503-2895-6
Massimo Carli, Android(tm) Guida per lo sviluppatore, Apogeo
02/2010, ISBN: 978-88-503-2921-2
Metodi didattici
Lezioni in aula.
test e demo.
Laboratorio.
Esercitazioni remote.
Modalità di verifica e valutazione dell'apprendimento
Progetto.
Prova di esame orale.
Strumenti a supporto della didattica
Slide elettroniche, personal computer a proiettore.
Dispositivi e laboratorio.
Testi consigliati e riferimenti in rete.
Link ad altre eventuali informazioni
http://www.cs.unibo.it/~bononi/
Orario di ricevimento
Consulta il sito web di Luciano Bononi