domenica 22 giugno 2008

Corso di programmazione Compact Framework VB.Net e C#

In questo articolo verrà fornita una panoramica sullo sviluppo di applicazioni per sistemi mobili con il Compact Framework (CF).


I Dispositivi
Per sistemi mobili si intendono dispositivi facilmente trasportabili, ossia che si possono portare con se senza difficoltà di spostamento. Questi strumenti sono molto utili per l’impiego lavorativo o privato anche sè spesso vengono utilizzati in ambito lavorativo. In commercio si trovano diversi modelli suddivisi in varie funzionalità, possiamo trovare gli smartphone che sono simile ad un cellulare ma con funzionalità avanzate che rispecchiano quelle dei PC. Il palmare, detto anche Pocket PC, in alcuni modelli può funzionare anche da telefono; in certi casi è penalizzato per la mancanza della tastiera. Il Tablet PC il quale ha una forma simile ad un grande block notes dotato di una penna per scrivere. Su tale sistema, utile soprattutto in ambito sanitario, infine in commercio si trova un nuovo strumento denominato Origami, simile ad un TabletPC ma con possibilità di montare una tastiera e dotato di pulsanti.


I sistemi operativi
A differenza del Tablet PC o Origami, che hanno installato un sistema operativo Windows XP i Pocket PC possono avere due tipi di sistemi operativo: o il sistema operativo Palm oppure 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 o 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 la quale mette a disposizione dello sviluppatore i due linguaggi più utilizzati, Visual Basic .Net e C# .
Di seguito, si riporta un breve schema delle versioni di Windows mobile, per fare chiarezza sulle versioni più recenti che possiamo trovare in commercio. Per rilevare la versione del sistema operativo, si deve avviare la finestra “about” o “informazioni su” del dispositivo. Lo schema riportato qui di seguito è strutturato nel seguente modo. Tramite la parola voce: viene indicato il testo che si trova nella finestra “informazioni su” o “about”, mentre con la parola versione, viene indicata la versione del sistema operativo windows mobile associato a quella voce.



Voce: Windows CE 5.0:
Versione: Windows Mobile 5.0
Voce: Windows CE 4.2:
Versione: Windows Mobile 2003 oppure Windows Mobile 2003 Second Edition
Voce: Windows CE 3.0:
Versione: Pocket PC 2002
Versione:Pocket PC 2002 Phone Edition
Versione: Pocket PC 2000,
Versione: Pocket PC Phones
Versione: SmartPhone 2002
Versione: Handheld PC 200
Versione: BE-300



Un po’ di storia ed il Compact Framework
Intorno al 2002 Microsoft mise in commercio un nuovo sistema per lo sviluppo di applicazioni in ambiente Windows e web, denominato .Net. Il quale è composto da un Framework che al suo interno contiene un insieme di classi che hanno 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 ha rilasciato un ambiente di sviluppo chiamato Visual Studio Net 2002, un software che aiuta il programmatore a scrivere facilmente codice ed a generare vari file quali programmi eseguibili (.exe) pagine web o controlli (.dll). Qualche mese dopo venne rilasciato un nuovo ambiente di sviluppo, il quale permetteva di creare applicazioni anche per l’ambiente mobile (Windows mobile 2003 e Windows CE). In ambiente mobile abbiamo un Framework che si chiama Compact Framework. Tale struttura è simile al Framework, solo con qualche classe in meno.
Le versioni del Compact Framework sono la 1 .0 e la 2.0 rilasciata intorno al novembre 2005 insieme al nuovo ambiente di sviluppo denominato Visual Studio 2005. Il nuovo Compact Framework 2.0 offre un ampio assortimento di classi e nuove funzionalità per l’ambiente mobile. 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 o su un ambiente di prova, quale l’emulatore messo a disposizione di tale ambiente oppure direttamente sul dispositivo. Per effettuare delle prove del nostro programma sul dispositivo, occorre collegare il cavo usb del dispositivo mobile al personal 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.
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 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 Evb che sta a significare Visual Basic per ambiente mobile e Evc che sta a significare Visual C per palmare.
Con l’evento del Compact Framework 1.0, il quale offre prestazioni e risultati migliori, i linguaggi (evb ed evc) si sono utilizzati sempre di meno.
Il 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 componenti (.dll) non potrebbero funzionare. Esso si installa una sola volta sul dispositivo mobile e questo può essere fatto o tramite un pacchetto di installazione, oppure tramite l’ambiente di sviluppo Visual Studio 2003 o Visual Studio 2005 collegando il palmare al computer ed effettuare il rilascio del programma sul dispositivo. Le versioni del Compact Framework sono 1.0 e 2.0 .
Il Compact Framework rappresenta un sottoinsieme del Framework, anche se le classi sono in numero minore o con qualche metodo o proprietà in meno di quelle del Framework. Inoltre contiene delle funzionalità pensate appositamente per questo ambiente. In pratica il 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 framework sono state apportate delle modifiche per tener conto delle risorse (memoria e batteria) di questi 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 convertibile in codice nativo. Senza il Compact Framework i file eseguibili e le dll create appositamente per questo ambiente non possono funzionare.
Per programmare in ambiente mobile occorrono i seguenti strumenti:
ActiveSync, per sincronizzare gli applicativi quali, calendario, task, email ecc.
L’ambiente di sviluppo Visual Studio 2005 (utilizzato in questo libro) per la stesura di codice.
SDK mobile 5.0 per Pocket http://www.microsoft.com/downloads/details.aspx?familyid=83A52AF2-F524-4EC5-9155-717CBE5D25ED&displaylang=en e smartphone http://www.microsoft.com/downloads/details.aspx?familyid=DC6C00CB-738A-4B97-8910-5CD29AB5F8D9&displaylang=en ed eventualmente un dispositivo fisico.


L’ambiente di sviluppo
L’ambiente di sviluppo Visual Studio 2005 permette di generare applicazioni per ambiente Windows, Web, Office e Mobile in base alla versione scelta del prodotto si possono trovare questi tipi di progetto. Con la standard possiamo sviluppare applicazioni e controlli per ambiente Windows, web e mobile, mentre la versione tools per Office (VSTO) oltre alle funzionalità della standard anche la possibilità di programmare in ambiente Office. La Professional permette di lavorare in tutti gli ambienti elencati in precedenza ed in ambiente mobile. Per concludere esiste la versione Team Edition che, oltre a sviluppare in tutti gli ambienti, è anche , utilizzata per i lavori di gruppo. L’ambiente di sviluppo Visual Studio 2005, offre notevoli funzionalità al programmatore, aiutandolo nella creazione di applicazioni sia per palmari che per smartphone.


La scelta del progetto.
Quando si apre Visual Studio 2005 si ha la possibilità di scegliere il linguaggio che si intende utilizzare, qualora siano installati più linguaggi; in questo caso dopo aver scelto il linguaggio di programmazione vengono riportati i vari progetti che si possono generare (Windows, web, office o device) (Figura 1)



Figura 1 – La finestra per la scelta di un nuovo progetto.


Nella parte di sinistra vengono elencati i linguaggi e i progetti che si possono creare, mentre nel riquadro a destra vengono elencati i modelli che si hanno a disposizione in base al progetto selezionato.
Per la parte mobile o Smart Device si possono scegliere tre tipologie di progetti: per palmari , smartphone o Windows CE 5.0. A seconda del tipo di dispositivo scelto si hanno diversi progetti da sviluppare.


Pocket pc 2003
Per i progetti di tipo Pocket PC 2003 (Figura 2), si hanno diversi modelli, che vediamo qui di seguito.
Applicazione dispositivo: Permette la creazione di applicazione per ambiente Pocket PC 2003 o versione successive. Per applicazione si intende un programma con interfaccia grafica che esegue determinate operazioni. Queste applicazione si basano sul Compact Framework 2.0.
Libreria di controlli: Creazione di controlli per ambiente Pocket PC 2003 o versioni successive, creazione di controlli grafici, con la possibilità di inserire controlli già esistenti. Per controllo si intende un oggetto con una certa grafica, che viene inserito in una finestra detta form per eseguire determinate operazioni. Per esempio un controllo è un pulsante, un menu ecc. In questo modo l’operatore può interagire con il programma. Questi controlli si basano con il Compact Framework 2.0
Progetto vuoto: la possibilità di generare un progetto per ambiente pocket pc 2003 o versioni successive, di cui di volta in volta verranno aggiunti i vari modelli da utilizzare, basato con Compact Framework 2.0.
Libreria di classi: Permette la creazione di classi che generano dll, queste classi a differenza della libreria di controlli non hanno un interfaccia grafica per la progettazione; tali classi possono essere utilizzate dai vari progetti. Anch’essi si basano sul Compact Framework 2.0.
Applicazione console: Applicazione senza un interfaccia grafica basata sul Compact Framework 2.0.
I modelli in cui il nome è seguito tra parentesi tonde il valore 1.0 vuol dire che si basano sul Compact Framework 1.0.



Figura 2 – – I modelli installati per il progetto Pocket pc 2003.


Smartphone 2003
Per i progetti di tipo smartphone 2003 si hanno diversi modelli, che vediamo qui di seguito.
Applicazione dispositivo (1.0): Permette la creazione di applicazioni con interfaccia grafica per smartphone 2003 e versioni successive si basa sul Compact Framework 1.0
Applicazione console (1.0): Creazione di applicazione senza interfaccia grafica per smartphone 2003 o versioni successive si basa sul Compact Framework 1.0
Libreria di classi (1.0): Creazione di classi, che generano dll da utilizzare nel programma o in vari progetti, per smartphone 2003 o versioni successive basato sul Compact Framework 1.0
Progetto vuoto(1.0): La possibilità di creare un progetto vuoto e di scegliere di volta in volta il tipo di modello, basato sul Compact Framework 1.0 per smartphone 2003 o versioni successive (Figura 3).


Figura 3 – I modelli installati per il progetto smartphone 2003.


Windows CE 5.0
Per l’ambiente Windows CE 5.0, si hanno diversi modelli, basati sul Compact Framework 2.0 e Windows CE 5.0 o versioni successive. Di seguito vengono riportati i vari modelli.
Applicazione dispositivo: Creazione di un programma con interfaccia grafica, basato sul Compact Framework 2.0 per sistemi Windows CE 5.0 o versioni successive
Libreria di controlli: Creazione di controlli per ambiente Windows CE 5.0 o versioni successive, creazione di controlli grafici con la possibilità di inserire controlli già esistenti. Per controllo si intende un oggetto con una certa grafica che viene inserito in una finestra detta form, per eseguire determinate operazioni. Per esempio un controllo può essere un pulsante, un menu ecc. In questo modo l’operatore può interagire con il programma. Questi controlli si basano con il Compact Framework 2.0
Progetto vuoto: Creazione di progetti vuoti per ambiente Windows CE 5.0 o versioni successive basata sul Compact Framework 2.0, in esso si possono aggiungere di volta in volta i vari modelli
Libreria di classi: Permette la creazione di classi che generano dll, queste classi a differenza della libreria di controlli non hanno un interfaccia grafica per la progettazione, tali classi possono essere utilizzate dai vari progetti. Anch’essi si basano sul Compact Framework 2.0 e per ambiente Windows CE 5.0 o versioni successive.
Applicazione console: Creazione di un programma senza interfaccia grafica per sistemi Windows CE 5.0 o versioni successive con il Compact Framework 2.0. (Figura 4).



Figura 4 – I modelli installati per il progetto Windows CE 5.0.


Per ogni progetto troviamo nella parte inferiore delle caselle di testo, nella prima viene indicato il nome del progetto; la seconda casella permette di impostare il percorso del progetto ossia dove vengono salvati i file; mentre la terza casella permette tramite una casella combinata di scegliere se creare un nuovo progetto indipendente (crea nuova soluzione) o aggiungerlo in uno già esistente (aggiungi soluzione). L’ultima casella quella con il titolo impostato a “Nome Soluzione” permette di dare il nome alla soluzione. La soluzione ha il compito di contenere uno o più progetti. Quindi possiamo creare più progetti che si trovano in una soluzione. Di seguito si riportano i vari tipi di progetto per ambiente Pocket PC, smartphone e Windows CE, per la creazione di applicazioni.


L' Ambiente Pocket PC 2003
Dopo aver selezionato come tipo di progetto Pocket pc 2003 e come modello la voce applicazione dispositivo, viene aperto l’ambiente di sviluppo per la creazione di programmi per Pocket Pc 2003 con il Compact Framework 2.0. (Figura 5).


Figura 5 – Emulatore per l’ambiente Pockectpc 2003.


L’ambiente ci mette a disposizione un emulatore di tipo Pocket PC, il quale semplifica la progettazione dell’applicazione e nel contempo anche la possibilità di effettuare dei test prima di passare su un vero dispositivo mobile.
Al centro troviamo l’emulatore. Nella parte sinistra si trova una barra, detta barra degli strumenti, in essa ci sono dei controlli grafici che permettono di eseguire determinate operazioni in base al controllo scelto. Tramite il mouse si seleziona il controllo desiderato e lo si trascina nell’emulatore. Nella parte destra si trovano due finestre, la prima quella situata nella parte superiore, detta Esplora Soluzione , che permette la gestione della soluzione, elencando i vari progetti, le varie risorse (icone, file xml ecc.) ed altro ancora. Nel bordo superiore di questa finestra si trovano diversi pulsanti (Figura 6) che permettono di effettuare alcune operazioni.
Il primo pulsante partendo da sinistra visualizza la finestra delle proprietà dell’elemento selezionato, il secondo quello con due fogli visualizza o nasconde nella finestra esplora soluzione tutti i file inclusi nel progetto, il terzo pulsante aggiorna la finestra. Il quarto pulsante quello di colore bianco passa in visualizzazione codice, ossia nella parte in cui si devono scrivere le istruzioni per eseguire determinate funzioni. Il quinto pulsante, quello di colore grigio, passa in modalità di progettazione ossia visualizza l’aspetto grafico della finestra situata nell’emulatore. L’ultimo pulsante apre la finestra per la creazione di classi in modalità grafica. .


Figura 6 – La finestra Esplora Soluzioni.


Nella parte inferiore della finestra esplora soluzione, viene collocata la finestra delle proprietà (Figura 7), essa permette di visualizzare ed impostare i nomi ed i valori delle proprietà ed eventi di un oggetto selezionato. Le proprietà (vedere il capitolo creazione di classi) hanno il compito di impostare alcuni valori di un oggetto; questa finestra riporta nella parte superiore una casella ad elenco a discesa, dove sono visualizzati i nomi degli oggetti inseriti nell’emulatore sotto a tale casella si trovano dei pulsanti. Mentre nella parte inferiore di questa finestra è riportata la descrizione della voce di proprietà o evento selezionato.


Figura 7 – La finestra delle proprietà corrisponde ad un oggetto selezionato.


I vari pulsanti della finestra proprietà eseguono determinate operazioni, quali.
Il primo pulsante, quello con i due più, ordina le varie voci per categoria, il secondo pulsante, quello con la lettera “a z”, ordina le varie voci in ordine alfabetico, il terzo, passa in modalità proprietà quando ci si trova nell’elenco degli eventi. Il quarto pulsante, quello con il disegno del fulmine, visualizza gli eventi dell’oggetto selezionato, anche in questo caso si possono ordinare o per categoria o per nome. L’ultimo pulsante, visualizza la pagina delle proprietà del progetto selezionato.
Queste finestre possono essere nascoste facendo click sulla seconda icona posta nella barra del titolo, quella a forma di spilla, chiuse tramite il pulsante della X. Si cambia posizione tramite la freccia rivolta in basso.
Nella parte superiore dell’emulatore è presente un menu che permette la gestione del nostro programma. Di seguito si riporta una breve illustrazione delle varie voci.
• Il menu File: Riguarda la parte del progetto, ossia il salvataggio, la stampa, la creazioni di nuovi progetti, la chiusura del progetto, ecc.
• Il menu modifica: Permette di copiare incollare o tagliare codice o controlli, trovare alcune parole ecc.
• Il menu Visualizza: Permette di visualizzare le finestra proprietà, Esplora soluzione, ed altre ancora. Di passa in modalità codice o progettazione ecc
• Il menu Progetto: Riguarda la parte del progetto, ossia la possibilità di inserire un nuovo elemento o già esistente, aggiungere una classe, un riferimento ecc
• Il menu Genera: Riguarda la creazione del progetto.
• Il menu Debug: Riguarda l’esecuzione del programma e la gestione del debug, ossia la situazione in cui verificare il funzionamento del programma
• Il menu dati: permette di gestire la fonte dati da associare al progetto.
• Il menu Formato: Permette di gestire l’uso dei controlli posizionati sull’emulatore, allineamento, spaziatura ecc.
• Il menu Strumenti: Riguarda le opzioni della finestra, connessione al dispositivo, ed altro ancora.
• Il menu Finestra: Permette di passare da una finestra all’altra.
• Il menu Comunità: Riguarda la possibilità di reperire informazioni ed altro tramite internet.
• Il menu ?: Guida in linea, informazioni sul prodotto ecc


Figura 8 – Il menu e le barre contenente i pulsanti.


Sotto al menu si trova la barra degli strumenti, la quale tramite i vari pulsanti riporta in parte alcune operazione che si possono fare dai vari menu, per esempio l’icona con il singolo dischetto, permette il salvataggio della finestra attiva, mentre quello con più dischetti di tutta la soluzione. La barra degli strumenti può essere modificata aggiungendo nuovi pulsanti che eseguendo determinate compiti o rimuovendo i pulsanti visualizzati. Si notino due elementi molto importanti: il primo è la casella combinata con la scritta debug. Essa permette di eseguire il codice o in modalità Debug o Release. Le differenze sono che in modalità debug, è possibile fare il debug del programma quando è in esecuzione e di conseguenza ci si può fermare in un determinato punto, mentre in release no. Inoltre quando si deve rilasciare il programma va sempre rilasciato in modalità release in questo modo, si migliorano anche le prestazioni.
La seconda segnalazione è la casella combinata quella con la scritta “Pocketpc 2003 se – emulatore”: in essa possiamo selezionare in quale ambiente (dispositivo o emulatore) vogliamo eseguire il programma.


Figura 9 - l’emulatore per smartphone 2003.


L'Ambiente Windows CE 5.0
Se il tipo di progetto è Windows CE 5.0, l’ambiente di sviluppo Visual Studio 2005 mette a disposizione un emulatore con le stesse finestre ed impostazioni dei progetti descritti precedentemente. La differenza è solo nel tipo di emulatore e dei controlli utilizzabili in tale progetto (Figura 10).


Figura 10 - L’emulatore per l’ambiente Windows CE.


Conclusioni
In questo capitolo è stata fatta una panoramica dell’ambiente mobile e dei vari aspetti dell’ambiente di sviluppo per la creazione di applicazioni di sistemi mobili. E’ da tenere presente che tramite l’installazione del tools SDK mobile 5 per Pocket PC e smarthphone possiamo aggiungere al nostro progetto la possibilità di utilizzare anche emulatori per Windows mobile 5.0.

1 commento:

Anonimo ha detto...

Avete sentito parlare di questo corso?. E’ un corso Java con certificazioni. Vi metto di seguito il file Pdf da scaricare cosi’ potete capire meglio di cosa parlo.
Corso Java.Pdf
Ciao