1 Sviluppo applicazioni per terminali mobili 05/10/2005 Pisa Progetto per il corso di Reti Mobili...
-
Upload
riccarda-boi -
Category
Documents
-
view
216 -
download
0
Transcript of 1 Sviluppo applicazioni per terminali mobili 05/10/2005 Pisa Progetto per il corso di Reti Mobili...
11
Sviluppo applicazioni per Sviluppo applicazioni per terminali mobiliterminali mobili
05/10/2005 Pisa05/10/2005 Pisa
Progetto per il corso di ‘Reti Mobili’Progetto per il corso di ‘Reti Mobili’
Danele Picciaia ([email protected])Danele Picciaia ([email protected])
22
ArgomentiArgomenti
Introduzione: evoluzione terminali mobili Introduzione: evoluzione terminali mobili Sistemi Operativi per terminali mobiliSistemi Operativi per terminali mobili Programmazione di t.m.Programmazione di t.m.
Java MIDPJava MIDP Smartphone 2003 SDKSmartphone 2003 SDK SymbianSymbian
ConclusioniConclusioni
33
Introduzione: evoluzione terminali Introduzione: evoluzione terminali mobilimobili
Aumentano le risorse Hardware......Aumentano le risorse Hardware......
Motorola 8700Anno 1998GSM 900 MhzLCD b/wPeso 200 grAutonomia 60h SB
Nokia 6630Anno 2004Quadband, edge LCD 65k coloriCCD 1.3 MPixS.O. SymbianAutonomia 11g SB...............
44
Introduzione: evoluzione terminali Introduzione: evoluzione terminali mobilimobili
....cresce la programmabilità....cresce la programmabilità
Aggiornamento Firmware
Ambienti IDE per lo sviluppo e il test delleApplicazioni per terminali mobili
55
Introduzione: evoluzione terminali Introduzione: evoluzione terminali mobilimobili
SmartphoneSmartphone
Nel 2002 Nokia lancia il primo “Smartphone”
Terminale con elevate caratteristiche tecniche a metàstrada fra PDA e cellulare che rilancia la programmazionedi terminali mobili
66
ArgomentiArgomenti
Introduzione: evoluzione terminali mobili Introduzione: evoluzione terminali mobili
Sistemi Operativi per Sistemi Operativi per terminali mobiliterminali mobili
Programmazione di t.m.Programmazione di t.m. Java MIDPJava MIDP Smartphone 2003 SDKSmartphone 2003 SDK SymbianSymbian
ConclusioniConclusioni
77
S.O. per cellulariS.O. per cellulari
Perchè si può parlare di S.O.Perchè si può parlare di S.O. MicrokernelMicrokernel Supportano multitasking e Supportano multitasking e
multithreadingmultithreading Gerarchie di memoriaGerarchie di memoria Adottano Adottano verevere CPU (soprattuto RISC) CPU (soprattuto RISC) Supporto per il multimedia e le Supporto per il multimedia e le
comunicazionicomunicazioni
88
S.O. per cellulariS.O. per cellulari
Microsoft Windows CEMicrosoft Windows CE Symbian OSSymbian OS
Palm OSPalm OS Embedded LinuxEmbedded Linux
99
S.O. per cellulariS.O. per cellulari
Microsoft Windows CEMicrosoft Windows CE CE è la versione di windows embeddedCE è la versione di windows embedded PocketPC è una particolare versione di PocketPC è una particolare versione di
Win CE ottimizzata per PDA e Win CE ottimizzata per PDA e SmartphoneSmartphone
PocketPC 2003 è WinCE 4.2PocketPC 2003 è WinCE 4.2
1010
S.O. per cellulariS.O. per cellulari
Symbian OSSymbian OS Sviluppato da consorsio Symbian (Nokia, Sviluppato da consorsio Symbian (Nokia,
Sony, Ericsson, Motorola, ecc..)Sony, Ericsson, Motorola, ecc..) Creato per cellulariCreato per cellulari Multithreading & Cooperative Multithreading & Cooperative
MultitaskingMultitasking Attualmente versione 7.0Attualmente versione 7.0
1111
ArgomentiArgomenti
Introduzione: evoluzione terminali mobiliIntroduzione: evoluzione terminali mobili Sistemi Operativi per terminali mobiliSistemi Operativi per terminali mobili
Programmazione di t.m.Programmazione di t.m. Java MIDPJava MIDP Smartphone 2003 SDKSmartphone 2003 SDK SymbianSymbian
ConclusioniConclusioni
1212
Programmazione di terminali Programmazione di terminali mobilimobili
Massima compatibilitàMassima compatibilità Potenza e flessibilitàPotenza e flessibilità
1313
ArgomentiArgomenti
Introduzione: evoluzione terminali mobiliIntroduzione: evoluzione terminali mobili Sistemi Operativi per terminali mobiliSistemi Operativi per terminali mobili Programmazione di t.m.Programmazione di t.m.
Java MIDPJava MIDP Smartphone 2003 SDKSmartphone 2003 SDK SymbianSymbian
ConclusioniConclusioni
1414
Java MIDP - Java MIDP - introduzioneintroduzione
MIDP = Mobile Information Device Profile
Java 2 Micro Edition (J2ME) e la versione “leggera” di Java 2 Java 2 Micro Edition (J2ME) e la versione “leggera” di Java 2 Standard Edition (J2SE) ottimizzata per terminali mobiliStandard Edition (J2SE) ottimizzata per terminali mobili
Con J2ME è possibile creare delle MIDlet, ossia applicazioni di Con J2ME è possibile creare delle MIDlet, ossia applicazioni di ridotte dimensioni che sfruttano un runtime ottimizzato per ridotte dimensioni che sfruttano un runtime ottimizzato per terminali e vengono eseguite da una KVMterminali e vengono eseguite da una KVM
J2ME prevede due livelliJ2ME prevede due livelli CDC (Connected Device Configuration) per dispositivi “always on” (es. CDC (Connected Device Configuration) per dispositivi “always on” (es.
PDA)PDA) CLDC (Connected Limited Device Configuration) per dispositivi meno CLDC (Connected Limited Device Configuration) per dispositivi meno
potenti, con poca banda e accesso discontinuo (es. Cellulari)potenti, con poca banda e accesso discontinuo (es. Cellulari) MIDP è una MIDP è una estenzioneestenzione che permette di interfacciarsi che permette di interfacciarsi
direttamente con l’hw del termialedirettamente con l’hw del termiale MIDP si presenta come un pacchetto di librerie (API)MIDP si presenta come un pacchetto di librerie (API)
1515
Java MIDP – Java MIDP – Strumenti di sviluppoStrumenti di sviluppo
J2ME toolkit contiene:J2ME toolkit contiene: CompilatoreCompilatore EmulatoreEmulatore DocumentazioneDocumentazione
Non viene fornito ne un IDE, ne un editorNon viene fornito ne un IDE, ne un editor La sintassi è ovviamente JAVALa sintassi è ovviamente JAVA La struttura delle applicazioni è molto sempliceLa struttura delle applicazioni è molto semplice
Deve estendere la classe javax.microedition.midlet.MIDletDeve estendere la classe javax.microedition.midlet.MIDlet Deve implementare i metodi startApp, pauseApp, destroyAppDeve implementare i metodi startApp, pauseApp, destroyApp
Occorre far particolare attenzione alla progettazione delle Occorre far particolare attenzione alla progettazione delle interfacceinterfacce Non èsistono le classi AWT/SwingNon èsistono le classi AWT/Swing Si utilizzano una serie di Si utilizzano una serie di contenitoricontenitori come Display, Displayable, come Display, Displayable,
Screen, CanvamsScreen, Canvams
1616
Java MIDP – Java MIDP – esempioesempio
1717
Java MIDP – Java MIDP – esempioesempio
Classi “Classi “interessanti”interessanti”:: javax.microedition.io.Connectorjavax.microedition.io.Connector javax.microedition.io.SocketConnectijavax.microedition.io.SocketConnecti
on on javax.microedition.io.HttpConnection javax.microedition.io.HttpConnection
1818
Java MIDP – Java MIDP – vantaggi e svantaggivantaggi e svantaggi
VantaggiVantaggi Facilità di utilizzo (Java-Style)Facilità di utilizzo (Java-Style) MultipiattaformaMultipiattaforma Dimensioni molto contenuteDimensioni molto contenute
SvantaggiSvantaggi L’accesso a funzionalità di “basso livello” è legato alla L’accesso a funzionalità di “basso livello” è legato alla
disponibilità di API fornite dal produttore del terminaledisponibilità di API fornite dal produttore del terminale Assenza di IDEAssenza di IDE
1919
Java MIDP – Java MIDP – materialemateriale
Pagina di riferimento:Pagina di riferimento: http://java.sun.com/products/midp/http://java.sun.com/products/midp/
Download di J2MEDownload di J2ME http://java.sun.com/products/j2mewtoolkit/download-2_2.htmlhttp://java.sun.com/products/j2mewtoolkit/download-2_2.html
Ottimo tutorial in italianoOttimo tutorial in italiano http://www.wmlscript.it/j2me/index.asphttp://www.wmlscript.it/j2me/index.asp
Whitepaper su KVMWhitepaper su KVM http://java.sun.com/products/cldc/wp/KVMwp.pdfhttp://java.sun.com/products/cldc/wp/KVMwp.pdf
Testo Testo
ISBN: 0596002432autori: Qusay H. Mahmoudeditore: O'Reillylingua: Italianoanno: 2002pagine: 245
2020
ArgomentiArgomenti
Introduzione: evoluzione terminali mobiliIntroduzione: evoluzione terminali mobili Sistemi Operativi per terminali mobiliSistemi Operativi per terminali mobili Programmazione di t.m.Programmazione di t.m.
Java MIDPJava MIDP
Smartphone 2003 SDKSmartphone 2003 SDK SymbianSymbian
ConclusioniConclusioni
2121
Smartphone 2003 SDK - Smartphone 2003 SDK - introduzioneintroduzione
SDK della famiglia “embedded”SDK della famiglia “embedded” Si integra all’interno di Visual Studio 2003Si integra all’interno di Visual Studio 2003 Molta documentazioneMolta documentazione ProgrProgr ammazione Window-Styleammazione Window-Style .Net runtime.Net runtime
2222
Smartphone 2003 SDK– Smartphone 2003 SDK– Strumenti di Strumenti di svilupposviluppo
Smartphone 2003 SDK contiene:Smartphone 2003 SDK contiene: EmulatoreEmulatore DocumentazioneDocumentazione Utility per debugging remotoUtility per debugging remoto
Supporta sintassi C#, VB.netSupporta sintassi C#, VB.net Per programmare in C++ esiste eVC++Per programmare in C++ esiste eVC++ Tutte le funzionalità vengono esposte come APITutte le funzionalità vengono esposte come API
Per la maggior parte esiste un porting in .NetPer la maggior parte esiste un porting in .Net Alcune sono accessibili solo da C++ o con P/InvokeAlcune sono accessibili solo da C++ o con P/Invoke
Il set dei controlli grafici è ridottoIl set dei controlli grafici è ridotto N.B.: Loopback connectionN.B.: Loopback connection
2323
Smartphone 2003 SDK – Smartphone 2003 SDK – esempioesempio
2424
Smartphone 2003 SDK – Smartphone 2003 SDK – esempioesempio
Namespace e Classi “Namespace e Classi “interessanti”interessanti”:: System.io.SocketSystem.io.Socket System.Web.Services System.Web.Services
2525
Smartphone 2003 SDK – Smartphone 2003 SDK – vantaggi e vantaggi e svantaggisvantaggi
VantaggiVantaggi Curva di apprendimento molto bassaCurva di apprendimento molto bassa Molte informazioni di supportoMolte informazioni di supporto Debugger evoluto (Visual Studio)Debugger evoluto (Visual Studio) Dimensioni contenuteDimensioni contenute
SvantaggiSvantaggi Il terminale deve avere PocketPC 2003 Il terminale deve avere PocketPC 2003 Necessita di VisualStudio installatoNecessita di VisualStudio installato
2626
Smartphone 2003 SDK – Smartphone 2003 SDK – materialemateriale
Pagina di riferimento:Pagina di riferimento: http://msdn.microsoft.com/pocketpc/http://msdn.microsoft.com/pocketpc/
Download SDKDownload SDK http://msdn.microsoft.com/downloads/http://msdn.microsoft.com/downloads/
Tutorials ed esempiTutorials ed esempi http://www.pocketpcdn.com/http://www.pocketpcdn.com/
Book on lineBook on line http://weblogs.asp.net/nleghari/articles/smartphone.aspxhttp://weblogs.asp.net/nleghari/articles/smartphone.aspx
TestiTesti
2727
ArgomentiArgomenti
Introduzione: evoluzione terminali mobiliIntroduzione: evoluzione terminali mobili Sistemi Operativi per terminali mobiliSistemi Operativi per terminali mobili Programmazione di t.m.Programmazione di t.m.
Java MIDPJava MIDP Smartphone 2003 SDKSmartphone 2003 SDK
SymbianSymbian ConclusioniConclusioni
2828
Symbian - Symbian - introduzioneintroduzione
SDK realizzato dalla NOKIASDK realizzato dalla NOKIA Esistono porting per altri brandEsistono porting per altri brand Possibilità di programmare in C++ o Java con diversi compilatori/IDEPossibilità di programmare in C++ o Java con diversi compilatori/IDE JAVA MIDP SDKJAVA MIDP SDK C++ SDKC++ SDK
2929
Symbian – Symbian – Strumenti di sviluppoStrumenti di sviluppo
Nokia Developer’s Suite contiene:Nokia Developer’s Suite contiene: EmulatoreEmulatore DocumentazioneDocumentazione IDEIDE
Esisteono altri pacchetti per lo sviluppo javaEsisteono altri pacchetti per lo sviluppo java S60 Java SDKS60 Java SDK
Richiede IDE esternoRichiede IDE esterno Il set dei controlli grafici è ridottoIl set dei controlli grafici è ridotto Aggiunge funzionalità di basso livello (es Aggiunge funzionalità di basso livello (es
SMS) SMS)
3030
Symbian – Symbian – esempioesempio
3131
Symbian – Symbian – vantaggi e svantaggivantaggi e svantaggi VantaggiVantaggi
Programmazione Java-styleProgrammazione Java-style Integrabile con diversi IDE/compilatoriIntegrabile con diversi IDE/compilatori Accesso a funzionalità di basso livelloAccesso a funzionalità di basso livello
SvantaggiSvantaggi Richiede terminale SymbianRichiede terminale Symbian Poca documentazione, a volte non ben organizzataPoca documentazione, a volte non ben organizzata
3232
Symbian – Symbian – materialemateriale
Pagina di riferimento:Pagina di riferimento: http://forum.nokia.comhttp://forum.nokia.com
Tutorials ed esempiTutorials ed esempi http://www.symbian.com/developerhttp://www.symbian.com/developer
TestiTesti
Programming the Java2 MicroEdition 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
3333
ArgomentiArgomenti
Introduzione: evoluzione terminali mobiliIntroduzione: evoluzione terminali mobili Sistemi Operativi per terminali mobiliSistemi Operativi per terminali mobili Programmazione di t.m.Programmazione di t.m.
Java MIDPJava MIDP Smartphone 2003 SDKSmartphone 2003 SDK SymbianSymbian
ConclusioniConclusioni
3434
ConclusioniConclusioni
I terminali mobili (cellulari) rappresentano oggi uno I terminali mobili (cellulari) rappresentano oggi uno strumento potente e programmabile utilizzando un vasto strumento potente e programmabile utilizzando un vasto insieme di toolsinsieme di tools
MIDP: strumento versatile e alla portata di tuttiMIDP: strumento versatile e alla portata di tutti Smartphone SDK: potente, ricco di documentazione, Smartphone SDK: potente, ricco di documentazione,
semplice da apprenderesemplice da apprendere Symbian: potente, ottimizzato per terminali NOKIA, Sony-Symbian: potente, ottimizzato per terminali NOKIA, Sony-
EricssonEricsson