Silverlight code camp

by Sandro Vecchiarelli 20. July 2010 00:48

E' stato davvero divertente. Gente simpatica e interessata e immaginiamo (io e Riccardo, gli speakers della giornata) sessioni molto interessanti. Ovviamente come annunciato è stato un NO-SLIDES EVENT una formula in cui il protagonista assoluto è il codice sviluppato lì per lì come il cameriere nei ristoranti di lusso ti cucina una Crepe Suzette Flambè. Proprio per onorare lo spirito dell'evento vi metto a disposizione il codice in tre file .rar. Sono gli esempi relativi ad una applicazione RIA Services SIlverlight 4, Una applicazione Windows Phone 7 per l'utilizzo del motore fisico farseerphysics (scaricabile con gli esempi dal sito della Codeplex) e infine l'esempio di una applicazione SketchFlow per la costruzione di prototipi.

Con l'occasione ringrazio davvero tutti i partecipanti e ovviamente l'impeccabile organizzazione Overnet dell'evento.

IL CODICE:

Applicazione RIA , Applicazione WP7, SketchFlow

Tags: , , , ,

Hai mai provato con JQuery?

by Sandro Vecchiarelli 24. February 2010 02:11

Allora continuiamo con la nostra serie di articoli sui Widgets per vedere qualcosa di veramente interessante che gira su Windows Mobile.Ossia l'integrazione con la libreria JQuery. Quanti di voi hanno già pensato di utilizzarla, avranno sicuramente colto l'enorme semplicità oltre alla potenza di una libreria scritta in Javascript. Cosa fa JQuery. La principale funzionalità, come dice il nome stesso della libreria, è quello di ritrovare velocemente e in maniera semplice qualsiasi elemento appartenente al DOM Html della pagina senza ricorrere a tonnellate di codice js. Inoltre Offre un modo trasparente allo sviluppatore di utilizzare i CSS per rendere il più possibile animate le pagine web indipendentemente dal browser del client oltre a supportare facilmente AJAX. Queste sono alcune delle caratteristiche supportate e qui non vogliamo fare un tutorial su JQuery, per cui rimandiamo al sito principale da cui fare il download della libreria e procurarsi i tantissimi tutorials sull'argomento.

 $()

$() è forse la funzione più importante e caratteristica della libreria. Qualunque sia il parametro tra parentesi, questo sarà oggetto di un ciclo e memorizzato come oggetto JQuery. Vediamo un confronto tra la sintassi JQuery e l'equivalente di js.

 $("div.fillMeIn“).html("aggiunto del testo a un gruppo di nodi");

è l'equivalente di

var elements = $("div.fillMeIn");
for(i=0; i< elements.length; i++)
elements[i].innerHTML = "aggiunto del testo a un gruppo di nodi";

Come possiamo vedere dagli esempi di seguito, la funzione $() restituisce sempre un Oggetto JQuery che rappresenta una collezione: 

$("p a") seleziona tutti i links (<a>) annidati dentro un elemento paragrafo (<p>)

$("div.IamAghost").fadeOut() fa sparire tutti gli elementi <div> con class  'IamAghost'

$("div.IamAghost").fadeOut().addClass(removed) aggiunge un tipo di class a tutti gli elementi scomparsi

Ciascuna selezione come abbiamo detto ritorna una collezione di elementi (come LINQ) che può essere a sua volta oggetto di query con altri parametri come per esempo possiamo vedere di seguito:

$(document).ready(function(){ $("table tr:nth-child(even)").addClass("even");});

Con questa riga di codice, all'inizio un pò ostica effettivamente, si costruisce una tabella con righe alternate di diverso stile, dove a quelle pari viene ovviamente applicato lo style 'even'

Widget e JQuery all'opera 

Vista la potenza di JQuery, perchè non applicarla alle applicazioni Widget? In fondo si tratta di applicazioni scritte in HTML, CSS e Javascript. Ed allora ecco alcuni esempi di animazioni che possono essere costruite sulle nostre applicazioni Widget-Mobile. Vediamo alcuni esempi:

 

Tags: , , ,

Evento Community Tour al MICdi Torino

by Sandro Vecchiarelli 15. January 2010 07:52

mic

Oggi si è tenuto a Torino un evento Microsoft veramente interessante. Abbiamo partecipato io e Mighell (Michele Locuratolo) oltre ai rappresentanti Microsoft presso il MIC (Raffaele Menolascino e Beppe Platania). Ecco gli argomenti dell'agenda:

 Panoramica su Microsoft Windows Embedded resentazione dei sistemi operativi che fanno parte dell’offerta Windows Embedded con particolare attenzione su Windows Embedded Standard (WES) e Windows Embedded Compact (CE)

 Interagire al meglio con l’hardware e il sistema operativo  I dispositivi mobili attualmente in commercio hanno caratteristiche sia hardware che software decisamente interessanti. GPS, Accelerometri etc., uniti alle API esposte dal sistema operativo Windows Phone, permettono a noi sviluppatori di realizzare applicazioni sempre più ricche di funzionalità ed in tempi decisamente minori. In questa sessione vedremo come sfruttare al meglio le caratteristiche dei nuovi dispositivi

 Programmazione avanzata dei Widgets    I Widgets stanno diventando la nuova frontiera nella programmazione delle applicazione per i dispositivi Windows Phone. In questa sessione vedremo come, tramite l'utilizzo un po’ più smart di Javascript, riusciremo a interagire con componenti Ajax e a organizzare nostri accessi ai dati in maniera molto strutturata quasi fossimo in presenza di un DB a nostra disposizione. Faranno da condimento anche i CSS che ci aiuteranno a costruire dei layout degni delle più avanzate applicazioni

 MizarTraffic24: in viaggio con Microsoft-Windows Mobile   MizarTraffic24, scaricabile gratuitamente dal marketplace di Windows, è la soluzione  di ultima generazione per essere sempre aggiornati sulle notizie di traffico in tempo reale. In questa sessione illustreremo l’applicazione di infomobilità realizzata per Windows Mobile, che utilizzando i dati distribuiti dalla piattaforma di infomobilità MISTIC, di Mizar Automazione,  rende disponibili le informazioni relative allo stato del traffico sulla  rete stradale nazionale.

Devo dire grande partecipazione di pubblico e successo per tutti gli speaker. Grazie di tutto :-)

Ovviamente a prestissimo  per la pubblicazione deli argomenti degli interventi e  del codice.

sv. 

 

 

 

Tags: , ,

Codice di esempio WPC

by Sandro Vecchiarelli 15. December 2009 02:57

Per tutti coloro che mi hanno chiesto il codice degli esempi fatti vedere al Techdays WPC eccovi accontentati. Contengono esempi sui Notifier di sistema, una applicazione GPS e alcune interazioni con il simulatore di cellulare.

Scarica gli esempi 

bye!

sv. 

Tags: , , , ,

Widget e AJAX

by Sandro Vecchiarelli 14. December 2009 01:31

Come si fa a utilizzare AJAX con i Widget? La domanda non dovrebbe essere posta in questi termini. Infatti se siete abituati a utilizzare Ajax con il framework .NET è ovvio che non possono essere utilizzati nè ScriptManager, nè UpdatePanel. Dobbiamo infatti tornare a programmare Javascript lato client senza nessun aiuto da parte di framework particolare. Quindi la domanda giusta sarebbe 'come possiamo adottare i meccanismi AJAX senza nessun aiuto particolare e adottare tali meccanismi anche sui Widget?' La risposta si articola  in più fasi, partendo da una breve panoramica della tecnologia 'core' di AJAX, sino ad arrivare alla sua applicazione in un browser.

AJAX

Ovvero Asynchronous Javascript XML. Un meccanismo per poter effettuare delle richieste in un browser ed eliminare il refresh della pagina. Tutto nacque un pò di anni fa quando nel marzo del 1999 alla versione di Internet Explorer 5.0 venne fornita una versione dell'oggetto XMLHttpRequest. Quest'oggetto è il protagonista di tutta la tecnologia AJAX. Infatti possiamo immaginarci quest'oggetto come il responsabile della renderizzazione di una singola porzione della pagina Web. La renderizzazione avviene tramite richieste al server (delle normalissime HttpRequest) e gestione delle risposte del server stesso (HttpResponse), il tutto senza disturbare la finestra principale del browser che viene renderizzata in maniera indipendente. La gestione delle risposte è asincrona, cioè l'oggetto XMLHttpRequest invia la richiesta in maniera non bloccante e, senza quindi attendere la risposta, gestirà la response tramite una funzione di callback. Ecco in figura quanto descritto:

 

Non è indicato in figura, ma va da se che possono essere presenti più di un oggetto XMLHttpRequest, in grado di aggiornare in maniera indipendente e assolutamente asincrona più porzioni della pagina web. E' questo poi in definitiva il  ruolo degli UpdatePanel di .NET caratterizzati da un XMLHttpRequest.

 

Code Up!

Vediamo adesso il codice 'vero'. Riprendendo l'esempio del post precedente continuiamo a scrivere il nostro Javascript. Vogliamo che nella nostra applicazione Widget, al click di un bottone venga aggiornato in maniera asincrona il valore di un tag <div>, definito 'divquote' con il valore recuperato da una richiesta ad una pagina aspx (la cosa poteva risolversi anche in un'invocazione ad un web service). L'aggiornamento di 'divQuote' viene implementato tramite una callback ad una funzione javascript chiamata 'harvestResult'. Vediamo intanto il body del widget:

 

Semplicissimo chunk dove al click del bottone ci aspettiamo (senza refresh) di vedere il valore del titolo selezionato nella textbox. A questo punto andiamo a vedere il codice di gestione del click:

 

La prima cosa che facciamo è quella di creare un oggetto XMLHttprequest e controllare che la creazione sia andata a buon fine. Se tutto è ok si chiama una funzione che si preoccuperà di effettuare la richiesta HttpRequest, passando i parametri essenziali quali l'xmlhttp object innanzitutto e poi il valore digitato nella textbox contenente il simbolo del titolo di borsa da recuperare (si noti l'uso della funzione DOM getElementById() supportata dal browser Mobile).

 

La funzione imposta la url a cui chiedere la risorsa, dopodichè prepara una GET (con xmlhttpopen). Sino a qui non si è spedito nulla. Prima di fare la send si predispone la funzione (anonima) di callback che al variare dello stato dell'oggetto xmlhttp sul valore 4 va a impostare i risultati tramite la funzione harvestResults. Il valore 4 significa che la risposta è arrivata tutta (non che la risorsa sia stata trovata però). Infine si invia la httprequest e si attende la risposta dal server. Ecco cosa accade quando arriva la risposta:

 

Si controlla se la risorsa è stata davvero trovata (status == 200). Se si, si recupera l'XML di risposta e si valorizza il div target con il valore degli attributi 'name' e 'last'  del tag 'ticker' all'interno dell'XML inviatoci dal server. Si ricorda che per poter accedere alla rete da parte del widget è necessario configurare correttamente il manifest e fornire esplicitamente il consenso al momento in cui verrà chiesto. Tutto il codice lo trovate naturalmente qui.

bye!

sv. 

Tags: ,

W i Widgets!

by Sandro Vecchiarelli 12. December 2009 20:20

E vediamoli finalmente questi Widget. In questo post vi accompagno nella stesura del vostro primo Widget utilizzando le tecniche introdotte in WM 6.5.

Intanto, cos'è un Widget. Un Widget è un 'pezzo' di Web :-), o come dicono dalle parti di Redmond un 'chunk of Web', realizzato con tutte le classiche tecnologie Web (HTML, CSS, Javascript) che però gira su un dispositivo Windows Mobile >= 6.5 come se fosse una normalissima device application sviluppata con le Windows Form. Detto così può sembrare limitativo, ma se consideriamo il fatto che possiamo utilizzare anche la tecnologia AJAX, la cosa vi garantisco si fa estremamente interessante. Da non sottovalutare inoltre il fatto che i widget sono uno standard W3C e quindi assumono una valenza che va al di la della semplice applicazione che gira su device Windows Mobile, visto che potrebbero essere infatti elaborati da dispositivi completamente differenti e cross-platform semplicemente widget-compliant ( vedi le specifiche del W3C ).

Cominciamo a sviluppare il nostro progetto partendo da un classico progetto Windows device application con CF 3.5 e target un emulatore Windows Mobile 6 (inutile ricordarvi di scaricare l'SDK per Windows Mobile 6.5 di cui, per comodità  , vi lascio il link qui. Aggiungiamo, anche se vi fa un pò strano, una pagina Html e aggiungiamo un tag molto semplice all'interno di body. Il risultato del codice dovrebbe risultare questo:

 La salviamo come WPCWidget.htm 

 
Vediamo adesso com'è semplice trasformare questo piccolo frammento di web in un'applicazione mobile. La procedura è veramente semplice. Scegliamo un'immagine che servirà da icona per il nostro Widget e mettiamola nella stessa directory del file html. La mia si chiama icon.png. Adesso la parte più delicata. Per far sì che il widget venga trattato correttamente sul dispositivo, è necessario fornire un file di configurazione chiamato ovviamente...config.xml. In questo file vengono indicate diverse informazioni come vediamo in figura:
 
 
Questo file, che può essere assimilato ad un manifest file dell'applicazione, è obbligatorio e fornisce le informazioni relative al funzionamento del widget stesso. Il tag root è <widget> contenente la versione ed il namespace (W3C). Di seguito il nome del Widget stesso e soprattutto a seguire l'entry point dell'applicazione: la pagina cioè da cui far partire il tutto. Nel nostro caso si tratta di WPCWidget.htm. Un altro tag molto importante è <access>. Come si vede l'attributo network stabilisce se il widget può usufruire dell'accesso in rete o meno. Nel caso affermativo, l'utente del widget deve essere avvertito e deve esplicitamente dare il permesso alla comunicazione su rete. Seguono l'icona con cui identificare il widget e le informazioni sull'autore. Nella directory dovreste quindi alla fine avere questa situazione:
 
 
La parte più complessa è terminata. Adesso basta  'zippare' i tre file in un unico file, magari chiamato WPCWidget.zip e rinominarlo WPCWidget.Widget. Esatto basta rinominare il file compresso per essere pronto al deployment sul device. Quest'ultimo può avvenire per esempio tramite file sharing con il device. Infatti basterà far partire l'emulatore (tramite direttamente Visual Studio) e una volta avviato l'emulatore andare sulla menubar dell'emulatore stesso e posizionarsi su File\Configure per impostare la directory in cui si trova il .Widget come directory condivisa.
 
 
 
A questo punto se andate ad aprire la storage card sul device (emulator) troverete il contenuto della nostra share
 
 
 
 
Facendo doppio click sull'icona del widget vedremo apparire la nostra icona con la descrizione
 
 
 
Confermando l'installazione vedremo la nostra pagina web in azione sul dispositivo.
 
Oggetti Javascript
 
Il nostro semplice widget contiene solo HTML, ma sappiamo che la grande possibilità è quella di sfruttare javascript. Dobbiamo inoltre far presente che Windows Mobile supporta l'oggetto Javascript Widget che ha alcune interessanti proprietà:
 
Proprietà Descrizione
authorEmail L'indirizzo mail dell'autore. Corrisponde  all'attributo 'email' del tag <author> nel file  manifest
authorName Nome dell'autore. Corrisponde all'attributo 'name' del tag <author> nel manifest
authorURL sito web, come sopra per l'attributo 'href'
currentIcon icona utilizzata dal widget. E' di tipo WidgetIcon
description Descrizione del Widget. Viene visualizzato all'installazione
height Altezza del Widget in pixel
identifier identificatore, come sopra per l'attributo 'uid'
locale Localizzazione del widget. Riflette le impostazioni inserite nella dialog box delle Regional Settings
menu Oggetto di tipo Menu
name Come sopra per l'elemento <name> del manifest
version la versione. Come sopra per l'attributo 'version'
width Ampiezza in pixel
 
Adesso sfruttando l'oggetto menu di widget, cerchiamo di costruire un menu con alcune voci cliccabili. Intanto vediamo le proprietà e i metodi dell'oggetto menu stesso per capire cosa possiamo fare:
 
Proprietà Descrizione
append(item) Appende un menuitem alla softkey di destra
clear() Cancella i contenuti del main menu
createMenuItem(id) Crea un oggetto MenuItem con uno specifico intero identificativo
getMenuItemById(id) Restituisce il particolare MenuItem con quello specifico Id
remove(item) Rimuove lo specifico oggetto MenuItem dal menu
setSoftKey(item, id) Assegna un oggetto MenuItem alla soft-key con lo specifico Id
 
Se avete fatto girare il semplice widget, quando questo parte ha la soft key di sinistra impostata con un singolo MenuItem 'Exit' che termina l'applicazione. L'altra soft key di destra ha un menu con a sua volta un singolo menuitem 'Exit'. Per costruire un semplice MenuItem si crea tramite il metodo opportuno e, in questo caso, si appende alla softkey di sinistra:
 
 
Se si usava menu.append(menu1001), il MenuItem veniva inserito nella softKey di destra.  Con le funzionalità sopra descritte, si allargano le possibilità di costruire dei menù estremamente accattivanti, magari con la possibilità di submenu che a loro volta esplodono in altrettanti menu, come dimostrato nell'immagine successiva:
 
 
Il codice dell'esempio mostra la facilità con cui costruire il submenu visualizzato sopra
 
 
 
CSS
 
 Infine la possibilità di usare i CSS. Come vediamo nel codice seguente, sono supportati completamente i CSS che rendono veramente comoda la formattazione del layout del Widget e quindi una più alta manutenibilità del codice. Tutto questo senza contare le infinite possibilità che si aprono (DHTML) facendo convergere le due tecnologie CSS con Javascript, argomento di prossimi post. Vediamo semplicemente la dichiarazione e l'utilizzo di un CSS:
 
 
 
Per ora può bastare :-) , ma a presto per un prossimo post sull'utilizzo di Ajax con i widget. Intanto potete scaricare qui tutto il codice relativo agli esempi in oggetto.
bye!
sv. 
 
 

Tags: , , , , , , , , ,

WPC - TechDays Microsoft 2009

by Sandro Vecchiarelli 30. November 2009 07:30

Salve a tutti! grande successo per il WPC di quest'anno. Questo post è solo per rassicurare tutti coloro che mi hanno fermato dopo la sessione che a brevissimo pubblicherò su questo blog tutto il materiale relativo al mio intervento. Stay tuned! 

Tags: ,

SCMDM 2008 ovvero System Center Mobile Device Center Manager

by Sandro Vecchiarelli 30. November 2009 07:01

Non di rado mi capita di sentire discussioni  accalorate sulle caratteristiche e sulle impostazioni dei dispositivi Windows Mobile in cui i vari protagonisti elencano quali sono i migliori secondo certi criteri, ovviamente sempre di parte. In realtà ci dimentichiamo che spesso tali dispositivi fanno parte integrante di reti aziendali la cui gestione e configurazione non è affatto banale. Caliamoci infatti in una situazione (tra le più frequenti) in cui un’azienda fornisce al proprio personale di vendita dei dispositivi Windows Mobile con i quali gestire le visite presso il cliente, includendo operazioni di vendita, gestione anagrafica, consultazioni di magazzino e infine sincronizzazione con il Data Base centrale. Quali sono le problematiche che un amministratore IT dovrà affrontare? Eccone alcune tra le più importanti:

Configurazione di un alto numero di dispositivi, a volte anche alcune migliaia, con l’esigenza di installare in tutti gli stessi software applicativi

Gestione degli aggiornamenti software sui devices

Cancellazione dei dati sul dispositivo in caso di perdita o furto dello stesso

Connessione dei dispositivi alla rete aziendale con relativa autenticazione e trasmissione di dati sensibili

E’ certo che il nuovo tool di Microsoft denominato Mobile Device Management 2008, nasce proprio per risolvere tutte le problematiche sopraelencate e fornire una soluzione davvero pratica e semplice da implementare.  Innanzitutto i requisiti minimi: il tool deve girare minimo su un Windows Server 2003 Standard 64bit con SP2. Sopra deve esserci installato anche IIS 6.0, WSUS 3.0 con SP1 e equipaggiato il .NET Framework > 2.0. Inoltre sui devices deve girare il Windows Mobile 6.1 o superiore. La grande innovazione del Mobile Device Management 2008 (di seguito MDM 2008) è quella di dare la possibilità all’amministratore IT di registrare ogni dispositivo proprio come se fosse un oggetto di Active Directory, permettendogli di gestire il device come se fosse un normalissimo computer della rete aziendale, con tutto ciò che questo implica, non ultimo la gestione di tutti i dispositivi tramite delle Group Policy. L’altra grande novità introdotta, che un po’ rappresenta la naturale conseguenza di quella che abbiamo descritto ora, è il fatto di poter accedere dal device alla rete aziendale tramite VPN! Vediamo in figura l’architettura di base.

 

 
Vi sono fondamentalmente 3 server coinvolti in tutto il processo di gestione:
Enrollment Server
Gateway Server
DM Server
Vediamo le funzionalità di ciascuno di essi, premettendo che il funzionamento nel dettaglio viene spiegato esattamente nel web cast che troverete nel DVD in allegato. L’enrollment server, come indica il suo nome, gestisce la fase di iscrizione del device in Active Directory. Tramite la ricezione di un certificato (prodotto dalla infrastruttura PKI della Company Network) il device riesce, come primo step di tutto il processo di gestione, a diventare un oggetto di Active Directory e di conseguenza ad essere riconosciuto come elemento ‘trusted’ della rete. Dopo questa fase il device è in grado di ‘entrare’ dentro la rete aziendale. Questo però viene concretizzato dal secondo server preso in considerazione: il Gateway Server. Tramite quest’ultimo infatti si riesce a creare un Tunnel IPSec utilizzato dal Device per autenticarsi e ad avere accesso all’interno della rete aziendale (con l’aiuto del certificato ricevuto in precedenza). Tutte le comunicazioni tra il device  e la rete interna passano tramite il Gateway Server implementando così una vera e propria VPN. La prima volta che il device fa accesso alla rete, viene chiamato in causa il DM Server il quale si fa spedire la configurazione attuale del dispositivo costringendolo a disconnettersi e rischedulandolo per una successiva riconnessione. Nel frattempo il DM prepara le informazioni di configurazione (memorizzate in un DB Server) da spedire al dispositivo non appena si riconnette. Quest’ultimo tramite le informazioni ricevute riesce a configurarsi per essere coerente con le Policy aziendali così da poter accedere a tutte le risorse della rete interna tutte le volte che lo riterrà opportuno, in maniera sicura tramite il solito Gateway .
A questo punto il device viene gestito come una qualsiasi macchina in Active Directory. Vengono create delle specifiche Group Policy da applicare all’accesso del device alla rete, mentre si utilizza la tecnologia WSUS per quanto riguarda l’aggiornamento del software. Non possiamo inoltre non ricordare che dal MDM2008 è possibile effettuare l’operazione di “Device Wipe”. Significa cioè che nel momento in cui si ritiene opportuno (per esempio ci si accorge che il device è stato rubato, perso o che qualcuno ha effettuato più di un certo numero di tentativi di accesso non autorizzato) l’amministratore può mandare da remoto un segnale di “Wipe” che causerà la totale cancellazione dei dati presenti sul device, storage card compresa.
In conclusione, se facciamo un rapido confronto con quelli che erano i mezzi a disposizione per la gestione dei dispositivi in una azienda, ci accorgiamo degli enormi vantaggi che MDM2008 introduce a fronte di un limitato investimento HW e di Licensing.
 
 
Exchange 2007 SCCM 2007 SCMDM 2008
Platform WM 5,6,6.1 WinCE, Tutti i WM WM 6.1 o superiori
Agent Provisioning Non Richiesto Come per il Provisioning Non Richiesto
Scalabilità N20K + Utenti 25K/DM Point 10K/DM
Software Distribution No Si Si
Domain Object No No Si
Group Policy No No Si
VPN Tunnel No No IP Sec/ IKE v2
Reporting Limitato Si Si
Reporting Limitato Si Si
Password Recovery Si No No

Tags: , ,

Microsoft TechDays-WPC2009

by Sandro Vecchiarelli 1. November 2009 05:33

Anche quest'anno sono presente al Microsoft TechDays-WPC2009. Come non parlare delle nuove API per Windows Mobile 6.5  e delle nuove features dei "Gadgeds" (oggetto dei prossimi post). Comunque vi do il link dove poter trovare tutte le info relative alla manifestazione e....partecipate numerosi :-) http://techdays-wpc.it/DettaglioSpeakers.aspx?idspeaker=32.

sv. 

Tags: ,

Evento Mobility Developer Day 7 Luglio 2009 Milano

by Sandro Vecchiarelli 13. July 2009 19:20

Alla fine ce l'abbiamo fatta!!

E dire che le cose non si erano affatto messe bene all'inizio. Quella mattina su Milano infatti è caduto...il cielo (come temevano i druidi di Asterix). La bufera ha causato inizialmente notevoli ritardi nell'arrivo dei partecipanti che, stoicamente, hanno resistito alle alluvioni e alla paralisi del traffico per arrivare (qualcuno anche intorno a mezzogiorno) lo stesso ad assistere alle sessioni. Quindi il primo ringraziamento va davvero a tutti coloro che, nonostante le difficoltà, hanno partecipato numerosi. E' stata si può dire un'anticipazione di quello che sarà il lancio ufficiale a breve di Windows Mobile 6.5 e di Windows Mobile MarketPlace. Interessanti davvero le opportunità su questo versante, sottolineate anche dai responsabili Microsoft Fabio Falsea e Giorgio Gifani.

Infine come non ringraziare Lorena Landini che inaugurava la sua attività di organizzazione eventi Microsoft (non c'è che dire...proprio un inizio col botto!! :-) e che nonostante tutto ci ha s(o)upportato dietro le quinte. Cmq. alla fine possiamo dire grande successo!!!

Alla prox!

grazie ancora!

sv. 

Come promesso a molti presenti in aula vi lascio al link sotto sia le slides che il codice sorgente. 

Materiale evento mobility.rar (3,03 mb)

Tags: , , ,

Sandro Vecchiarelli

MeLaureato in Scienze dell'informazione a Pisa, si è occupato di analisi e progettazione software per istituti bancari e pubbliche amministrazioni, approfondendo inoltre gli aspetti della programmazione ad oggetti sin dai primi esordi del web in Italia. Certificato MCSE e MCT si occupa anche di elementi legati al networking e alla sicurezza. Svolge un' importante attività di docenza su argomenti riguardanti la piattaforma .NET, XML e Web services. E' autore di 2 corsi di successo: "Windows Server Security"(MIE1311), riguardante gli aspetti legati alla sicurezza della piattaforma Windows Server, e "Ingegneria del software: tecniche per la costruzione di software di qualità" (MIEAU36) dove vengono affrontate le tecniche per scrivere codice il più possibile robusto, riusabile e performante. Negli ultimi anni ha acquisito anche importanti competenze riguardanti prodotti molto complessi quali Microsoft Biztalk Server, oltre ad aver affrontato l'analisi e lo sviluppo di applicazioni in ambienti embedded quali Windows CE e Pocket PC. Nel 2008 è stato nominato MVP Microsoft Windows Mobile, riconfermato nel 2009 e 2010.

Tag cloud

Page List