Title: Sviluppo applicazioni per terminali mobili
1Sviluppo applicazioni per terminali mobili
- 05/10/2005 Pisa
- Progetto per il corso di Reti Mobili
- Danele Picciaia (picciaia_at_di.unipi.it)
2Argomenti
- Introduzione evoluzione terminali mobili
- Sistemi Operativi per terminali mobili
- Programmazione di t.m.
- Java MIDP
- Smartphone 2003 SDK
- Symbian
- Conclusioni
3Introduzione 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 ..... ..... .....
4Introduzione evoluzione terminali mobili
- ....cresce la programmabilità
Ambienti IDE per lo sviluppo e il test
delle Applicazioni per terminali mobili
Aggiornamento Firmware
5Introduzione evoluzione terminali mobili
Nel 2002 Nokia lancia il primo Smartphone Termi
nale con elevate caratteristiche tecniche a
metà strada fra PDA e cellulare che rilancia la
programmazione di terminali mobili
6Argomenti
- Introduzione evoluzione terminali mobili
- Sistemi Operativi per terminali mobili
- Programmazione di t.m.
- Java MIDP
- Smartphone 2003 SDK
- Symbian
- Conclusioni
7S.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
8S.O. per cellulari
- Microsoft Windows CE
- Symbian OS
- Palm OS
- Embedded Linux
9S.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
10S.O. per cellulari
- Symbian OS
- Sviluppato da consorsio Symbian (Nokia, Sony,
Ericsson, Motorola, ecc..) - Creato per cellulari
- Multithreading Cooperative Multitasking
- Attualmente versione 7.0
11Argomenti
- Introduzione evoluzione terminali mobili
- Sistemi Operativi per terminali mobili
- Programmazione di t.m.
- Java MIDP
- Smartphone 2003 SDK
- Symbian
- Conclusioni
12Programmazione di terminali mobili
Obiettivo
Massima compatibilità
Potenza e flessibilità
13Argomenti
- Introduzione evoluzione terminali mobili
- Sistemi Operativi per terminali mobili
- Programmazione di t.m.
- Java MIDP
- Smartphone 2003 SDK
- Symbian
- Conclusioni
14Java 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 lhw del termiale - MIDP si presenta come un pacchetto di librerie
(API)
15Java 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
16Java MIDP esempio
17Java MIDP esempio
- Classi interessanti
- javax.microedition.io.Connector
- javax.microedition.io.SocketConnection
- javax.microedition.io.HttpConnection
18Java MIDP vantaggi e svantaggi
- Vantaggi
- Facilità di utilizzo (Java-Style)
- Multipiattaforma
- Dimensioni molto contenute
- Svantaggi
- Laccesso a funzionalità di basso livello è
legato alla disponibilità di API fornite dal
produttore del terminale - Assenza di IDE
19Java 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
20Argomenti
- Introduzione evoluzione terminali mobili
- Sistemi Operativi per terminali mobili
- Programmazione di t.m.
- Java MIDP
- Smartphone 2003 SDK
- Symbian
- Conclusioni
21Smartphone 2003 SDK - introduzione
- SDK della famiglia embedded
- Si integra allinterno di Visual Studio 2003
- Molta documentazione
- Progr ammazione Window-Style
- .Net runtime
22Smartphone 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
23Smartphone 2003 SDK esempio
24Smartphone 2003 SDK esempio
- Namespace e Classi interessanti
- System.io.Socket
- System.Web.Services
25Smartphone 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
26Smartphone 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/smartphon
e.aspx - Testi
27Argomenti
- Introduzione evoluzione terminali mobili
- Sistemi Operativi per terminali mobili
- Programmazione di t.m.
- Java MIDP
- Smartphone 2003 SDK
- Symbian
- Conclusioni
28Symbian - 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
29Symbian Strumenti di sviluppo
- Nokia Developers 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)
30Symbian esempio
31Symbian 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
32Symbian 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
33Argomenti
- Introduzione evoluzione terminali mobili
- Sistemi Operativi per terminali mobili
- Programmazione di t.m.
- Java MIDP
- Smartphone 2003 SDK
- Symbian
- Conclusioni
34Conclusioni
- 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