I dispositivi mobili
Per sistemi mobili si intendono dispositivi facilmente trasportabili, ossia che si possono portare con se senza difficoltà di spostamento. Questi strumenti sono molto utili sia per uso privato sia per l'utilizzo in ambito lavorativo. In commercio si trovano diversi modelli di dispositivi mobili con diverse funzionalità:
- Smartphone: cellulari con funzionalità avanzate simili a quelle di un normale PC;
- PocketPC: palmari che in alcuni alcuni casi possiedono funzionalità telefoniche ma penalizzati dall'assenza della tastiera;
- Tablet PC: computer portatili, con una forma simile a un libro, dotati di una penna per scrivere direttamente sullo schermo, disponibili sia con che senza tastiera;
- Origami: simili ad un TabletPC ma molto più compatti.
I sistemi operativi
A differenza del Tablet PC e degli Origami, che hanno installato un sistema operativo Windows XP o Windows Vista, i palmari possono avere due tipi di sistemi operativi: il sistema operativo Palm o Windows Mobile (versione 2003, 5, 6 o Windows CE), mentre per gli smartphone possono avere Symbian oppure Windows Mobile (versione 2003, 5 o 6).
Per sviluppare applicazioni per questi sistemi operativi possiamo utilizzare il linguaggio di programmazione Visual C++ che va bene per entrambi, oppure il linguaggio Java per sistemi operativi Palm o Symbian.
Da pochi anni si ha la possibilità di sviluppare applicazioni per sistemi operativi Windows Mobile, anche con la nuova tecnologia di Microsoft denominata .NET, che mette a disposizione dello sviluppatore i due linguaggi più utilizzati, Visual Basic .NET e Visual C#.
Di seguito, si riporta un breve schema delle versioni di Windows Mobile, attualmente in commercio.
Per rilevare la versione del sistema operativo in vostro possesso, si deve aprire la finestra About o Informazioni su del dispositivo, nella tabella riportato qui sotto troverete nella colonna Voce quello che viene indicato nella finestra informazioni su o About, mentre sotto la colonna Versione troverete indicata la versione del sistema operativo Windows Mobile associato.
| Voce |
Versione |
| Windows CE 5.0 |
|
| Windows CE 4.2 |
- Windows Mobile 2003
- Windows Mobile 2003 Second Edition
|
| Windows CE 3.0 |
- PocketPC 2002
- PocketPC 2002 Phone Edition
- PocketPC 2000
- PocketPC Phones
- PocketPC Phones
- SmartPhone 2002
- Handheld PC 200
- Handheld PC 200
- BE-300
|
.NET Compact Framework: un po' di storia
Intorno al 2002 Microsoft mise in commercio un nuovo sistema per lo sviluppo di applicazioni in ambiente Windows e web, denominato Microsoft .NET, composto da un Framework che al suo interno contiene un insieme di classi con il compito di mettere a disposizione dello sviluppatore una serie di funzionalità per eseguire diverse operazioni. Oltre alle classi si hanno a disposizione strumenti utili al programmatore e la tecnologia ASP.NET per la creazione di pagine web dinamiche. Per scrivere programmi con questo sistema, Microsoft rilasciò un ambiente di sviluppo chiamato Visual Studio .NET 2002, un software che aiuta il programmatore a scrivere facilmente codice e a generare programmi e web application. Qualche mese dopo venne rilasciato un nuovo ambiente di sviluppo, che permetteva di creare applicazioni anche per l’ambiente mobile, Windows Mobile 2003 e Windows CE. In questo ambiente venne abbinato un apposito Framework che chiamato .NET Compact Framework.
Tale struttura è simile al .NET Framework, solo con qualche classe in meno.
Le versioni del .NET Compact Framework sono la 1 .0 e la 2.0 rilasciata intorno al novembre 2005 insieme all'ambiente di sviluppo denominato Visual Studio 2005. Il .NET Compact Framework 2.0 offre un ampio assortimento di classi e nuove funzionalità per l’ambiente mobile.
Gli ambienti di test
La possibilità di utilizzare un ambiente di sviluppo come Visual Studio .NET 2003 o Visual Studio 2005, permette allo sviluppatore di creare dei programmi che possono essere testati su un ambiente di prova, come l’emulatore messo a disposizione da tale ambiente, o direttamente su un dispositivo reale. Per effettuare delle prove del nostro programma sul dispositivo, occorre collegarlo con un cavo usb al computer e, nella fase di esecuzione del programma, impostare come ambiente di esecuzione il dispositivo anziché l’emulatore. Argomento che verrà discusso nei prossimi capitoli.
Linguaggi per i dispositivi mobili
I linguaggi per dispositivi mobili sono diversi, Java e C++ per esempio sono dei linguaggi che si possono utilizzare per i vari sistemi operativi Symbian e Windows mobile, mentre Visual Basic .NET e Visual C# solo in ambiente Windows Mobile, entrambi nuovi per questo sistema operativo.
Fino a qualche anno fa si potevano utilizzare altri linguaggi di programmazione rilasciati da Microsoft, quali Visual Basic per ambiente mobile (EVB) e Visual C per palmare (EVC). Con l’evento del .NET Compact Framework 1.0, che ha offerto prestazioni e risultati migliori, i linguaggi EVB e EVC si sono utilizzati sempre di meno.
L'avvento del .NET Compact Framework
Come abbiamo detto prima, il .NET Compact Framework è un insieme di classi e funzionalità che permette l’esecuzione di determinati programmi e componenti, senza di esso i vari file eseguibili .exe e le componenti .dll non potrebbero funzionare. .NET Compact Framework si installa una sola volta sul dispositivo mobile tramite un pacchetto di installazione, o direttamente dall’ambiente di sviluppo Visual Studio 2003 o Visual Studio 2005 collegando il palmare al computer ed effettuando il rilascio del programma sul dispositivo. Le versioni del .NET Compact Framework, come abbiamo visto sono 1.0 e 2.0 .
Il .NET Compact Framework rappresenta un sottoinsieme del .NET Framework, anche se le classi sono in numero minore o con qualche metodo o proprietà in meno, inoltre contiene delle funzionalità pensate appositamente per il mondo dei dispositivi portatili.
Il .NET Compact Framework contiene una serie di classi che permettono l’esecuzione di particolari funzionalità: Il Common Language Runtime permette l’esecuzione del codice anche in ambiente mobile, a differenza del .NET Framework sono state apportate delle modifiche per tener conto della memoria e della batteria dei dispositivi mobili, infatti la memoria viene gestita con particolare attenzione.
Il codice che viene generato non è un codice nativo che viene eseguito nella cpu, ma detto Microsoft Intermediate Language (MSIL) una serie di istruzioni indipendenti dalla CPU facilmente convertibili in codice nativo. Senza il .NET Compact Framework i file eseguibili e le dll create appositamente per questo ambiente non possono funzionare.
Gli strumenti necessari
Per programmare in ambiente mobile occorrono i seguenti strumenti:
- ActiveSync: per sincronizzare gli applicativi quali, calendario, task, email ecc.
- Visual Studio 2005: utilizzato in questo corso, per la stesura di codice.
- SDK Mobile 5.0 per Pocket: disponibile sul sito Microsoft.
- Windows Mobile 5.0 SDK for Smartphone: disponibile sul sito Microsoft.
- Un ambiente di test: virtuale o fisico.
|