340 likes | 602 Views
Sviluppo applicazioni per terminali mobili. 05/10/2005 Pisa Progetto per il corso di ‘Reti Mobili’ Danele Picciaia (picciaia@di.unipi.it). Argomenti. Introduzione: evoluzione terminali mobili Sistemi Operativi per terminali mobili Programmazione di t.m. Java MIDP Smartphone 2003 SDK
E N D
Sviluppo applicazioni per terminali mobili 05/10/2005 Pisa Progetto per il corso di ‘Reti Mobili’ Danele Picciaia (picciaia@di.unipi.it)
Argomenti • Introduzione: evoluzione terminali mobili • Sistemi Operativi per terminali mobili • Programmazione di t.m. • Java MIDP • Smartphone 2003 SDK • Symbian • Conclusioni
Introduzione: evoluzione terminali mobili • Aumentano le risorse Hardware...... Motorola 8700 Anno 1998 GSM 900 Mhz LCD b/w Peso 200 gr Autonomia 60h SB Nokia 6630 Anno 2004 Quadband, edge LCD 65k colori CCD 1.3 MPix S.O. Symbian Autonomia 11g SB ..... ..... .....
Introduzione: evoluzione terminali mobili • ....cresce la programmabilità Ambienti IDE per lo sviluppo e il test delle Applicazioni per terminali mobili Aggiornamento Firmware
Introduzione: evoluzione terminali mobili • Smartphone Nel 2002 Nokia lancia il primo “Smartphone” Terminale con elevate caratteristiche tecniche a metà strada fra PDA e cellulare che rilancia la programmazione di terminali mobili
Argomenti • Introduzione: evoluzione terminali mobili • Sistemi Operativi per terminali mobili • Programmazione di t.m. • Java MIDP • Smartphone 2003 SDK • Symbian • Conclusioni
S.O. per cellulari • Perchè si può parlare di S.O. • Microkernel • Supportano multitasking e multithreading • Gerarchie di memoria • Adottano vere CPU (soprattuto RISC) • Supporto per il multimedia e le comunicazioni
S.O. per cellulari • Microsoft Windows CE • Symbian OS • Palm OS • Embedded Linux
S.O. per cellulari • Microsoft Windows CE • CE è la versione di windows embedded • PocketPC è una particolare versione di Win CE ottimizzata per PDA e Smartphone • PocketPC 2003 è WinCE 4.2
S.O. per cellulari • Symbian OS • Sviluppato da consorsio Symbian (Nokia, Sony, Ericsson, Motorola, ecc..) • Creato per cellulari • Multithreading & Cooperative Multitasking • Attualmente versione 7.0
Argomenti • Introduzione: evoluzione terminali mobili • Sistemi Operativi per terminali mobili • Programmazione di t.m. • Java MIDP • Smartphone 2003 SDK • Symbian • Conclusioni
Programmazione di terminali mobili Obiettivo Massima compatibilità Potenza e flessibilità
Argomenti • Introduzione: evoluzione terminali mobili • Sistemi Operativi per terminali mobili • Programmazione di t.m. • Java MIDP • Smartphone 2003 SDK • Symbian • Conclusioni
Java MIDP - introduzione MIDP = Mobile Information Device Profile • Java 2 Micro Edition (J2ME) e la versione “leggera” di Java 2 Standard Edition (J2SE) ottimizzata per terminali mobili • Con J2ME è possibile creare delle MIDlet, ossia applicazioni di ridotte dimensioni che sfruttano un runtime ottimizzato per terminali e vengono eseguite da una KVM • J2ME prevede due livelli • CDC (Connected Device Configuration) per dispositivi “always on” (es. PDA) • CLDC (Connected Limited Device Configuration) per dispositivi meno potenti, con poca banda e accesso discontinuo (es. Cellulari) • MIDP è una estenzione che permette di interfacciarsi direttamente con l’hw del termiale • MIDP si presenta come un pacchetto di librerie (API)
Java MIDP – Strumenti di sviluppo • J2ME toolkit contiene: • Compilatore • Emulatore • Documentazione • Non viene fornito ne un IDE, ne un editor • La sintassi è ovviamente JAVA • La struttura delle applicazioni è molto semplice • Deve estendere la classe javax.microedition.midlet.MIDlet • Deve implementare i metodi startApp, pauseApp, destroyApp • Occorre far particolare attenzione alla progettazione delle interfacce • Non èsistono le classi AWT/Swing • Si utilizzano una serie di contenitori come Display, Displayable, Screen, Canvams
Java MIDP – esempio • Classi “interessanti”: • javax.microedition.io.Connector • javax.microedition.io.SocketConnection • javax.microedition.io.HttpConnection
Java MIDP – vantaggi e svantaggi • Vantaggi • Facilità di utilizzo (Java-Style) • Multipiattaforma • Dimensioni molto contenute • Svantaggi • L’accesso a funzionalità di “basso livello” è legato alla disponibilità di API fornite dal produttore del terminale • Assenza di IDE
Java MIDP – materiale • Pagina di riferimento: • http://java.sun.com/products/midp/ • Download di J2ME • http://java.sun.com/products/j2mewtoolkit/download-2_2.html • Ottimo tutorial in italiano • http://www.wmlscript.it/j2me/index.asp • Whitepaper su KVM • http://java.sun.com/products/cldc/wp/KVMwp.pdf • Testo ISBN: 0596002432autori: Qusay H. Mahmoudeditore: O'Reillylingua: Italianoanno: 2002pagine: 245
Argomenti • Introduzione: evoluzione terminali mobili • Sistemi Operativi per terminali mobili • Programmazione di t.m. • Java MIDP • Smartphone 2003 SDK • Symbian • Conclusioni
Smartphone 2003 SDK - introduzione • SDK della famiglia “embedded” • Si integra all’interno di Visual Studio 2003 • Molta documentazione • Progr ammazione Window-Style • .Net runtime
Smartphone 2003 SDK– Strumenti di sviluppo • Smartphone 2003 SDK contiene: • Emulatore • Documentazione • Utility per debugging remoto • Supporta sintassi C#, VB.net • Per programmare in C++ esiste eVC++ • Tutte le funzionalità vengono esposte come API • Per la maggior parte esiste un porting in .Net • Alcune sono accessibili solo da C++ o con P/Invoke • Il set dei controlli grafici è ridotto • N.B.: Loopback connection
Smartphone 2003 SDK – esempio • Namespace e Classi “interessanti”: • System.io.Socket • System.Web.Services
Smartphone 2003 SDK – vantaggi e svantaggi • Vantaggi • Curva di apprendimento molto bassa • Molte informazioni di supporto • Debugger evoluto (Visual Studio) • Dimensioni contenute • Svantaggi • Il terminale deve avere PocketPC 2003 • Necessita di VisualStudio installato
Smartphone 2003 SDK – materiale • Pagina di riferimento: • http://msdn.microsoft.com/pocketpc/ • Download SDK • http://msdn.microsoft.com/downloads/ • Tutorials ed esempi • http://www.pocketpcdn.com/ • Book on line • http://weblogs.asp.net/nleghari/articles/smartphone.aspx • Testi
Argomenti • Introduzione: evoluzione terminali mobili • Sistemi Operativi per terminali mobili • Programmazione di t.m. • Java MIDP • Smartphone 2003 SDK • Symbian • Conclusioni
Symbian - introduzione • SDK realizzato dalla NOKIA • Esistono porting per altri brand • Possibilità di programmare in C++ o Java con diversi compilatori/IDE • JAVA MIDP SDK • C++ SDK
Symbian – Strumenti di sviluppo • Nokia Developer’s Suite contiene: • Emulatore • Documentazione • IDE • Esisteono altri pacchetti per lo sviluppo java • S60 Java SDK • Richiede IDE esterno • Il set dei controlli grafici è ridotto • Aggiunge funzionalità di basso livello (es SMS)
Symbian – vantaggi e svantaggi • Vantaggi • Programmazione Java-style • Integrabile con diversi IDE/compilatori • Accesso a funzionalità di basso livello • Svantaggi • Richiede terminale Symbian • Poca documentazione, a volte non ben organizzata
Symbian – materiale • Pagina di riferimento: • http://forum.nokia.com • Tutorials ed esempi • http://www.symbian.com/developer • Testi Programming the Java2 Micro Edition for Symbian OS Author: Martin de JodeISBN 0-470-09223-8 Wireless Java for Symbian Devices Author: Jonathan AllinPublished by: Symbian PressPublished in: August 2001489 pages
Argomenti • Introduzione: evoluzione terminali mobili • Sistemi Operativi per terminali mobili • Programmazione di t.m. • Java MIDP • Smartphone 2003 SDK • Symbian • Conclusioni
Conclusioni • I terminali mobili (cellulari) rappresentano oggi uno strumento potente e programmabile utilizzando un vasto insieme di tools • MIDP: strumento versatile e alla portata di tutti • Smartphone SDK: potente, ricco di documentazione, semplice da apprendere • Symbian: potente, ottimizzato per terminali NOKIA, Sony-Ericsson