Un nuovo appuntamento DotNetLombardia

Print Content | More

Con un po’ di ritardo causa numerosi impegni vi segnalo che Martedì 15 Maggio si terrà un nuovo appuntamento targato DotNetLombardia: non si tratta di un vero e proprio evento, dato che la formula sarà quella adottata qualche mese e che è stata particolarmente apprezzata, ovvero della tavola rotonda. Non c’è un’agenda, non ci sono speaker, non c’è un unico argomento: sarà una chiacchierata tra amici appassionati di sviluppo e tecnologia, dove ognuno potrà sentirsi libero di parlare, proporre un argomento o esporre agli altri la sua esperienza.

Alcuni degli argomenti che verranno toccati sono:

  • Integrazione di soluzioni on-premise con il cloud
  • Migrazione di soluzioni verso Azure e Office 365
  • Panoramica su soluzioni complesse con Sharepoint 2010
  • Panoramica della novità introdotte da Windows 8 Server
  • Novità sullo sviluppo di applicazioni per Windows 8

L’appuntamento è per Martedì 15 Maggio a Milano, nel Negozio Civico c/o ChiAmaMilano (che ci ha già ospitato in occasione del precedente appuntamento) in Largo Corsia dei Servi, zona San Babila, alle ore 14.

Per confermare la vostra partecipazione è sufficiente mandare una mail di conferma all’indirizzo di Roberto Freato rob@dotnetlombardia.org.

Vi aspettiamo numerosi e… tenetevi liberi per fine Giugno perchè stiamo organizzando un nuovo evento dedicato a Windows Phone! Presto avrete maggiori dettagli!


DotNetLombardia , Windows 8 , Windows Phone , Microsoft , Azure , Sharepoint , Office 365

0 comments

Due importanti novità per il Marketplace di Windows Phone

Print Content | More

E’ fresca la notizia da parte del team di Windows Phone di due importanti cambiamenti che coinvolgono il Marketplace e che, soprattutto il secondo, hanno un impatto non indifferente (in senso positivo, a mio avviso) per gli sviluppatori. Ma vediamoli in dettaglio.

No more Zune

Attualmente ci sono tre modi per scaricare un’applicazione Windows Phone: dal telefono, dal marketplace web o da Zune. A partire dai prossimi giorni rimarrano attive solamente le prime due possibilità: non sarà più consentito acquistare o scaricare applicazioni dal Marketplace tramite Zune.

Personalmente, non mi sembra un grande danno: non è un segreto che la parte di gestione delle applicazioni di Zune sia piuttosto limitata e le statistiche in possesso di Microsoft hanno confermato che la maggior parte degli utenti utilizza il telefono e il marketplace web per cercare e installare le proprie applicazioni. Fino a che non verrà introdotta una gestione delle applicazioni più efficiente, non credo che qualcuno ne sentirà la mancanza Smile

No Windows Phone 7.5, no party!

Windows Phone 7.5 è ormai una realtà da diversi mesi e non esiste device di prima generazione sul mercato che non abbia ricevuto l’aggiornamento. Per tale motivo e in previsione degli investimenti futuri di Microsoft sul marketplace in termini di funzionalità e sicurezza a partire dai prossimi giorni il download e l’acquisto di applicazioni dal Marketplace non sarà più disponibile per gli utenti che stanno ancora utilizzando la versione 7.0 di Windows Phone. Sarà possibile solamente sfogliare il Marketplace ma, in caso di download, comparirà un messaggio di errore. In questo modo, anche gli sviluppatori saranno sollevati dal compito di mantenere aggiornate due versioni distinte dell’applicazione, una per Windows Phone 7.0 e una per Windows Phone 7.5 e successivi (vi ricordo, infatti, che con il rilascio della versione 7.5 Microsoft aveva dato la possibilità agli sviluppatori di caricare e mantenere due XAP separati per entrambe le versioni del sistema operativo).

Anche questa, personalmente, mi sembra una buona notizia: spingere gli utenti ad avere un dispositivo il più aggiornato possibile è sicuramente una buona strategia, che avvantaggia tanto gli sviluppatori (che possono creare applicazioni senza preoccuparsi della retrocompatibilità) sia gli utenti (che possono beneficiare delle tante novità introdotte in Windows Phone 7.5).


Windows Phone , Microsoft , Marketplace , Zune

0 comments

Windows Phone Commands: una preziosa estensione per Visual Studio

Print Content | More

Se siete sviluppatori Windows Phone (cosa molto probabile se state leggendo questo blog Smile ) vi farà sicuramente piacere fare la conoscenza di Windows Phone Commands, una preziosa estensione di Visual Studio che va a migliorarne le funzionalità per quanto riguarda il testing delle applicazioni.

L’estensione è installabile dalla Visual Studio Gallery all’indirizzo http://visualstudiogallery.msdn.microsoft.com/945a718f-82d5-429f-a0b1-88bd6202c1a3

Una volta installata, si può accedere al tool dal menu View – Other windows di Visual Studio:

AppMenu

Il tool permette, dalla schermata principale, di collegarsi sia all’emulatore che ad un device reale. Dopodichè avremo accesso a diverse funzioni:

Informazioni sul device

Una volta connesso al dispositivo, il tool è in grado di mostrare alcune preziose informazioni come la build del sistema operativo, il tipo di processo e la quantità di memoria disponibile. Per collegarsi, è sufficiente premere l’icona del fulmine, selezionare dal menu a tendina il tipo di dispositivo e premere Connect.

Accedere a applicazioni ed impostazioni “nascoste” dell’emulatore

Come sappiamo, l’emulatore contiene una versione minimale del sistema operativo, che nasconde molte delle applicazioni e delle impostazioni che sono disponibili invece su un device reale. Questo a volte limita la possibilità di testare alcuni tipi di applicazioni (ad esempio, quelle in grado di integrarsi nell’hub Pictures) o determinate condizioni (ad esempio, i servizi di geolocalizzazione disabilitati). Tramite la sezione accessibile con la terza icona (quella con il simbolo di una cartella e di un piccolo ingranaggio) è possibile visualizzare l’elenco delle applicazioni native e delle voci della sezione Settings del sistema operativo, che possono poi essere aperte con un click.

SNAGHTMLad019df

Esplorare l’Isolated Storage

L’SDK di Windows Phone 7.5 ha introdotto un tool per esplorare l’isolated storage di un’applicazione: purtroppo però si tratta di un tool a linea di comando, poco intuitivo e user friendly. Il tool integrato all’interno dei Windows Phone Commands offre un’interfaccia visuale molto semplice, che permette di vedere i file e le cartelle all’interno dell’isolated storage; di scaricare un file sul computer per analizzarlo; di caricare un file dal nostro computer. Per accedere a questo tool è sufficiente premere sempre la terza icona dell’estensione: in cima alla sezione troverete tutte le applicazioni di terze parti installate sul telefono, identificate da un guid. Per ognuna di queste avrete una serie di opzioni (ad esempio, per lanciare o disinstallare l’applicazione): il terzo pulsante è quello che consente di accedere all’Isolated Storage Explorer.

sc_Explo1

Deploy e update di applicazioni

E’ possibile fare il deploy di applicazioni non solo dal tool Application Deployment o da Visual Studio, ma anche tramite questa estensione: il vantaggio è che potete anche installare uno XAP simulando un update, dandovi così la possibilità di testare anche scenari di aggiornamento della vostra applicazione (ad esempio, per verificare l’integrità dei dati o l’aggiornamento dello schema del database). Potete accedera a questaa opzione con la quarta icona, con il simbolo di un telefono e di un martello.

sm1

Editor visuale del file di manifest

Se siete sviluppatori Windows Phone dovreste conoscere molto bene il file di manifest: tale file, contenuto nella cartella Properties di ogni progetto, è un file XML contenente tutte le informazioni che identificano l’applicazione: titolo, numero di versione, feature del telefono utilizzate, ecc. Purtroppo Visual Studio non include un editor visuale che permette di modificare le varie voci: è necessario modificare manualmente il file. L’ultimo tool incluso in questa estensione cerca di sopperire a questo limite, offrendo un’interfaccia visuale per agire sul file di manifest. Potete accedere tramite l’ultima icona, con il simbolo di un foglio e di una pergamena.

SNAGHTMLae0f06f


Windows Phone , Microsoft , Visual Studio , Windows Phone Commands

1 comments

Nuovo evento Nokia – Microsoft per sviluppatori con Ben Riga

Print Content | More

Il 4 Maggio si terrà a Milano un nuovo evento organizzato da Nokia e Microsoft dedicato agli sviluppatori, con la presenza eccezionale direttamente da Redmond di Ben Riga, Senior Technical Evangelist per la piattaforma Windows Phone.

L’evento si prospetta molto interessante: dando un’occhiata all’agenda possiamo notare che non verranno proposte le “solite” sessioni, ma ci si concentrerà su come ottimizzare le performance delle applicazioni in occasione dell’imminente lancio dei primi dispositivi di fascia bassa dotati di Windows Phone 7.5 Refresh (o Tango), la versione del sistema operativo ottimizzata per i device come il Lumia 610, dotati di caratteristiche hardware inferiori rispetto ai device tradizionali me che saranno venduti ad un prezzo molto competitivo.

In più, ci sarà una sessione del mio amico Roberto dedicata allo sviluppo di applicazioni business per Windows Phone e a come integrarle con Azure, la piattaforma cloud di Microsoft.

L’evento si terrà il 4 Maggio a Milano, nello Spazio AnniLuce, in via G. Sirtori 32 a Milano: potete iscrivervi sul sito ufficiale. Cosa state aspettando?


Windows Phone , Microsoft , Nokia

0 comments

Effettuare il parsing di un file XML in un’applicazione Metro style per Windows 8

Print Content | More

Mi sto cimentando nel compito di portare una delle applicazioni sviluppate da me e Marco Leoncini (la serie dedicata alle ricette italiane) da Windows Phone a Windows 8: una delle prime sfide che mi sono trovato ad affrontare è il porting dei dati. L’applicazione Windows Phone si appoggia infatti ad un database SQL CE, che al momento non è compatibile con Windows 8. La soluzione più semplice da noi scelta è l’utilizzo di un file XML: alla fine la struttura del database era molto semplice ed era costituita da un’unica tabella con l’elenco delle ricette.

Nel mio caso, non ho la necessità di memorizzare dati nello storage: il file XML contenente l’elenco delle ricette è incluso nel progetto di Visual Studio, dato che deve essere di sola lettura, in quanto nella mia applicazione l’utente può solo consultare le ricette e e non modificarle.

Il primo problema era perciò capire come leggere il file presente all’interno del progetto: in Windows Phone avrei utilizzato ad esempio il metodo GetResourceStream esposto dalla classe Application, che permette di accedere proprio ai file inclusi all’interno del progetto. Dopodichè avrei sfruttato la classe XDocument per effettuare il parsing dell’XML e avrei utilizzato LINQ to XML per manipolare i dati. Ecco un esempio:

Uri uri = new Uri("recipe.xml", UriKind.Relative);
StreamResourceInfo sri = Application.GetResourceStream(uri);
XDocument doc = XDocument.Load(sri.Stream);

// eseguo le query per recuperare i dati sul file XML

 

Il problema è che la classe Application non è disponibile in Windows 8 e quindi non si è in grado di utilizzare il metodo GetResourceStream. Spulciando nella documentazione di Windows 8 ho scoperto che tramite WinRT possiamo accedere a diversi tipi di storage: c’è quello locale dell’applicazione, ci sono le librerie di sistema (come la cartella Documents o Pictures) e così via. Uno di questi storage consente proprio di accedere alla “cartella” dell’applicazione, cartella che viene nascosta dal pacchetto preparato da Visual Studio nel formato .appx (che è l’equivalente dello XAP delle applicazioni Windows Phone, ovvero un pacchetto che contiene tutto il necessario per far funzionare l’applicazione, come librerie, contenuti, manifest, ecc.).

Una volta fatto il build della nostra applicazione Metro sytle andiamo nella cartella bin/Debug all’interno del nostro progetto: troveremo una cartella AppX, che rappresenta il contenuto del nostro pacchetto.

SNAGHTML73789ec

La prima cosa da fare è perciò quella di selezionare il file XML incluso nel nostro progetto e, dalla finestra Proprietà, impostare la Build Action su Content e Copy to Output Directory su Copy if newer. In questo modo il file XML verrà incluso all’interno del pacchetto.

A questo punto da codice possiamo accedervi grazie allo storage chiamato InstalledLocation, che espone il metodo GetFileAsync() che permette di recuperare un file dal pacchetto.

Importante! Eravamo già abituati con Windows Phone, ma in Windows 8 questo concetto è ancora più importante: tutte le operazioni che possono impiegare più di 50 millisecondi per essere completate sono asincrone in WinRT! La differenza, che ci semplifica un po’ l’utilizzo di questo metodo di programmazione, è che WinRT supporta nativamente le parole chiave async e await, introdotte in C# 5, che permettono di scrivere codice che all’apparenza sembra sincrono ma in realtà viene eseguito su thread differenti.

Il trucco in questo caso sta nel:

  • marcare la funzione che stiamo creando con la parola chiave async
  • anteporre alla chiamata al metodo asincrono la parola chiave await. In questo modo il codice che scriveremo sembrerà asincrono (una riga sotto l’altra), ma in realtà, grazie alla parola chiave await, le righe successive non verranno eseguite fino a che l’operazione asincrona non ha restituito un risultato.

Occhio all’inghippo

Prima di spiegarvi l’inghippo di cui sto parlando, eccovi l’XML di esempio che ho usato per questi test:

<?xml version="1.0" encoding="utf-8" ?>
<recipes>
  <recipe>
    <title>Pasta al pomodoro</title>
    <ingredients>Pasta, pomodoro, formaggio</ingredients>
  </recipe>
  <recipe>
    <title>Pasta al ragù</title>
    <ingredients>Pasta, pomodoro, ragù</ingredients>
  </recipe>
</recipes>

Ovviamente non è completo di tutti i dati relativi alla ricetta, ma ho volutamente usato un XML “minimale” con lo scopo di capire la procedura più corretta per effettuarne il parsing con WinRT.

L’inghippo che ho citato prima è  il mio tentativo di sfruttare il metodo Parse della classe XDocument (che permette di trasformare un XML piatto in una struttura dati complessa “navigabile” grazie a LINQ) è fallito miseramente. Ecco un estratto del codice che ho cercato di utilizzare:

public async void GetAllRecipes()
{
    StorageFile file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("Recipes.xml");
    string xml = await FileIO.ReadTextAsync(file);
    XDocument doc = XDocument.Parse(xml);
    ...
  
}

In prima istanza ho recuperato il file Recipes.xml, sfruttando il metodo GetFileAsync citato poco fa. Dopodichè ho utilizzato un’altra classe di WinRT che permette di effettuare operazioni sui file, chiamata FileIO: nel mio caso, ho usato il metodo ReadTextAsync che, dato un oggetto di tipo StorageFile (ovvero un file recuperato da uno dei vari storage disponibili), lo tratta come testuale e memorizza in una stringa il testo contenuto (ovviamente, anch’esso in maniera asincrona).

Infine, ho utilizzato il metodo XDocument.Parse su tale stringa: il risultato però, durante l’esecuzione, è un’eccezione di tipo ArgumentException, con il messaggio Data at the root level is invalid. Line 1, position 1, che solitamente sta a indicare un file XML non valido o con degli errori di sintassi. Una breve verifica però mi ha fatto capire che c’era qualcosa non andava, dato che il file XML  non conteneva alcun errore di sintassi.

Il trucco sta nel leggere il file XML come stream e di sfruttare il metodo XDocument.Load che, tra le varianti disponibili, accetta anche un oggetto di tipo Stream.

Ecco il codice corretto:

StorageFile storageFile = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("Recipes.xml");
var file = await storageFile.OpenAsync(FileAccessMode.Read);
Stream stream = file.AsStreamForRead();
XDocument doc = XDocument.Load(stream);


ApplicationContext.Current.Recipes = doc.Descendants("recipes").Elements("recipe").Select(x => new Recipe
                                                              {
                                                                  Title = x.Element("title").Value,
                                                                  Ingredients = x.Element("ingredients").Value,
                                                                  Category = x.Element("category").Value
                                                              });

La differenza rispetto al codice precedente è che apriamo il file in lettura in maniera asincrona, tramite il metodo OpenAsync, e lo convertiamo in uno stream sfruttando il metodo AsStreamForRead esposto dall’oggetto file.

A questo punto possiamo inizializzare un’istanza della classe XDocument: le operazioni successive non differiscono in alcun modo da quelle che avremmo dovuto eseguire in un’applicazione Windows Phone o ASP.NET. Una volta in possesso del documento, ho recuperato tutti i nodi recipe e ho trasformato ogni nodo in un oggetto di tipo Recipe, che non fa altro che mappare 1 ad 1 le informazioni memorizzate nell’XML.

public class Recipe
{
    public string Title { get; set; }
    public string Ingredients { get; set; }
}

Una volta in possesso di una collezione di oggetti di tipo Recipe (nel mio caso, una List<Recipe>) possiamo utilizzarla a piacimento nella nostra applicazione: ad esempio, possiamo utilizzarla come sorgente dati di ua ListView o di una GridView, esattamente come faremmo in un’applicazione Windows Phone.

Ecco un esempio di ListView in XAML:

<ListView x:Name="Recipes">
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding Path=Title}" />
                <TextBlock Text="{Binding Path=Ingredients}" />
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

E il codice che si occupa di recuperare le ricette e visualizzare sfruttando la ListView:

public MainPage() 
{
    StorageFile storageFile = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("Recipes.xml");
    var file = await storageFile.OpenAsync(FileAccessMode.Read);
    Stream stream = file.AsStreamForRead();
    XDocument doc = XDocument.Load(stream);


    List<Recipe> recipes = doc.Descendants("recipes").Elements("recipe").Select(x => new Recipe
                                                                          {
                                                                              Title = x.Element("title").Value,
                                                                              Ingredients = x.Element("ingredients").Value,
                                                                              Category = x.Element("category").Value
                                                                          }).ToList();
    Recipes.ItemsSource = recipes;
}


Windows 8 , XML , LINQ

6 comments

Nuovo requisito per la certificazione: Application Testability

Print Content | More

Tra i requisiti tecnici indispensabili per passare la certificazione sul Marketplace è stata introdotta una nuova sezione, chiamata Application Testability. In realtà, si tratta di un requisito che si dava già per scontato: evidentemente però non tutti gli sviluppatori ne tenevano conto e perciò Microsoft ha deciso di “ufficializzarlo”, includendolo nella documentazione.

Cosa richiede questo requisito? Semplicemente che l’applicazione sia testabile in tutte le sue parti da parte dei tester del Marketplace: questo significa che dovete fornire tutti gli strumenti necessari per poter utilizzare tutte le funzionalità dell’applicazione. Ad esempio, se questa è legata ad un servizio che richiede delle credenziali (ad esempio, un client Twitter o Instapaper) dovete fornire delle credenziali di test; se l’applicazione è legata ad un client desktop (ad esempio, un tool di accesso remoto) dovete fornire anche un link per scaricare tale client.

Dove specificare queste informazioni? Nell’ultimo step della certificazione, in cui si seleziona la modalità di pubblicazione (privata, automatica, manuale, ecc.), c’è un campo apposito dove lasciare delle note per il tester: questo è il posto giusto dove specificare credenziali, link per il download e quant’altro.

Mi raccomando, non dimenticatevi! Se non fornite tutte le informazioni necessarie l’applicazione verrà sicuramente bocciata, costringendovi ad un nuovo “giro” di certificazione e allungando i tempi di pubblicazione della vostra applicazione.


Windows Phone , Microsoft , Marketplace

0 comments

Visualizzare immagini GIF in un’applicazione Windows Phone

Print Content | More

L’altro giorno ho fatto due chiacchiere via Skype con Nazareno Manco, un amico sviluppatore, che si è trovato ad affrontare un problema nello sviluppo di un’applicazione Windows Phone: la sua necessità era quella di recuperare delle immagini dal web, da visualizzare all’interno di una pagina. Il problema è che queste immagini erano in formato GIF, che non è supportato da Silverlight e, di conseguenza, da Windows Phone.

Facendo una breve ricerca su Internet mi sono imbattuto in questo post di Jaime Rodriguez, in cui viene citata la libreria Image Tools per Silverlight, che offre una serie di controlli e converters che permettono di convertire in tempo reale un’immagine da un formato all’altro. Vediamo come utilizzarla per visualizzare imamgini GIF anche all’interno di un’applicazione Windows Phone.

Innanzitutto dovete includere le varie DLL di cui è composta la libreria all’interno dell’applicazione: il modo più semplice è utilizzare NuGet, così che venga copiato il necessario in automatico.

SNAGHTML89ae30b

Dopodichè l’utilizzo di questa libreria si articola in due step:

  • L’utilizzo del controllo AnimatedImage, che va a sostiture il controllo Image e funge da contenitore all’interno del quale verrà visualizzata l’immagine.
  • L’utilizzo del converter ImageConverter, che si occupa di fare la conversione da un formato all’altro.

Entrambe le classi fanno parte del namespace ImageTools.Controls, che deve essere quindi dichiarato nello XAML:

xmlns:imagetools="clr-namespace:ImageTools.Controls;assembly=ImageTools.Controls"

A questo punto potete dichiarare come risorsa (locale nella pagina o globale a livello di applicazione) il converter ImageConverter, come nell’esempio:

<phone:PhoneApplicationPage.Resources>
    <imagetools:ImageConverter x:Key="ImageConverter" />
</phone:PhoneApplicationPage.Resources>

Ora vi basta inserire il controllo AnimatedImage, valorizzando la proprietà Source con l’indirizzo dell’immagine GIF e applicando il converter appena dichiarato.

<StackPanel>
    <imagetools:AnimatedImage x:Name="Image" Source="{Binding Path=ImageSource, Converter={StaticResource ImageConverter}}" />
</StackPanel>

Nel codice, la proprietà ImageSource è di tipo Uri e punta all’indirizzo di un’immagine GIF di esempio:

ImageSource = new Uri("http://www.nonstopgifs.com/animated-gifs/games/games-animated-gif-002.gif", UriKind.Absolute);

Il trucco per “far funzionare la magia” è l’utilizzo di uno dei decoder messi a disposizione dalla libreria Image Tools: è sufficiente registrarlo all’avvio dell’applicazione, specificando il formato dell’immagine che deve essere decodificato. Nel nostro esempio, dobbiamo utilizzare un GifDecoder, che viene registrato come nell’esempio:

public MainPage()
{
    InitializeComponent();
    ImageTools.IO.Decoders.AddDecoder<GifDecoder>();
}

A questo punto, grazie ai due controlli utilizzati in precedenza qualsiasi immagine GIF che verrà caricata sarà automaticamente convertita in modo da essere visualizzata: la cosa interessante è che, grazie anche al controllo AnimatedImage, sono supportate le GIF animate, per cui l’animazione verrà visualizzata correttamente.

Di seguito trovate il link per scaricare il progetto di esempio di riferimento di questo post.


Windows Phone , Microsoft

0 comments

Windows Phone SDK 7.1.1 rilasciato in versione finale

Print Content | More

Dopo non molto tempo dalla prima release dell’SDK 7.1.1 per Windows Phone in versione CTP, ecco arrivare la versione finale, dedicata principalmente al testing delle applicazioni con i nuovi device di fascia bassa. Questa SDK contiene infatti un nuovo emulatore, in grado di simulare sia i device tradizionali dotati di 512 MB di RAM, sia quelli più economici dotati di 256 MB. Come già ricordato nel post precedente, la ridotta quantità di memoria non è l’unica differenza rispetto ai device tradizionali: è però l’unico aspetto che ha un impatto sullo sviluppo di applicazioni, dato che quelle troppo onerose in termini di memoria consumata non saranno in grado di funzionare.

Per una panoramica completa su questa versione e sulle tecniche per ottimizzare il consumo di memoria delle applicazioni vi rimando ai due articoli da me scritti che sono stati pubblicati poco tempo fa sul blog MSDN.

Quali sono le principali differenze rispetto alla versione CTP di qualche tempo fa?

  • Trattandosi di una versione finale, questa SDK ha la licenza go live: può essere usata perciò per sviluppare applicazioni che verranno pubblicate sul Marketplace.
  • Ora l’SDK è localizzato in 10 lingue, al contrario della CTP che era disponibile solo in inglese.
  • Grazie a questa versione dell’SDK ora l’emulatore è compatibile con Windows 8: è sempre stato possibile installare i tool di sviluppo sulla Consumer Preview del nuovo OS di Microsoft (anche se con Visual Studio 2010, la versione 11 non è ancora supportata) ma, a causa dell’incompatibilità dell’emulatore, era possibile effettuare i test solo su un device reale. Con questa nuova versione l’emulatore torna ad essere funzionante e, di conseguenza, potete fare come il sottoscritto e sbarazzarvi di Windows 7 per iniziare ad usare solamente Windows 8 Smile

Potete scaricare la nuova versione all’indirizzo http://www.microsoft.com/download/en/details.aspx?id=29233: vi ricordo che non si tratta di una nuova versione dell’SDK ma di un aggiornamento, che va ad installarsi sopra la versione 7.1 dell’SDK. Non è necessario perciò disinstallare la versione precedente.


Windows Phone , Microsoft

0 comments

Una panoramica degli eventi futuri: .NET Campus, WhyMCA e altro ancora

Print Content | More

E’ un periodo di grande fermento per gli sviluppatori italiani: tanti sono infatti gli eventi e le attività (sia legate a tecnologie Microsoft che non) che si terranno nei prossimi mesi (e che si stanno già tenendo in questi giorni, vedi eventi come il Codemotion a Roma o alcuni appuntamenti del .NET Campus nel sud Italia).

In più, l’uscita della Consumer Preview di Windows 8 ha “scaldato gli animi”, accendendo un grande interesse verso WinRT e le applicazioni Metro style, merito grazie anche del grande lavoro che Microsoft sta facendo per promuovere la piattaforma e, soprattutto, per aiutare gli sviluppatori italiani a tirare fuori il meglio dalle nuove tecnologie di casa Microsoft.

Vediamo insieme alcuni degli appuntamenti più importanti dei prossimi mesi.

.NET Campus

Evento organizzato da Microsoft e DevLeap e con un occhio di riguardo al mondo degli studenti, si tratta sicuramente di un ottimo punto di partenza per conoscere le tecnologie Microsoft: speaker d’eccezione presenteranno, in maniera completamente gratuita, sessioni riguardanti Windows 8, Windows Phone, sviluppo web, Azure, ALM e tanto altro ancora.

L'evento principale si terrà a Roma il 21 Aprile presso l’Università di Roma Tre, anche se quest’anno sono stati organizzati due spin off nel sud Italia (a Cosenza e Benevento per la precisione), già trascorsi.

L’anno scorso ho potuto partecipare contribuendo all’Ask The Expert e l’atmosfera era veramente ottima: potete iscrivervi sia all’evento che ai vari laboratori (anch’essi gratuiti, ma richiedono una iscrizione separata) dal sito ufficiale.

WhyMCA

Torna l’evento mobile più grande dell’anno, a cui sono particolarmente affezionato dato che ho avuto la fortuna di partecipare sin dalla prima edizione e del quale mi piace particolarmente lo spirito: la volontà di creare una grande community mobile trasversale, che raccolga persone appassionate di questo argomento indipendentemente dalla tecnologia. Ognuno di noi ha le proprie preferene e passioni (nel mio caso, Windows Phone), però poi nella realtà ci si trova a dover utilizzare tecnologie diverse per soddisfare al meglio le richieste dei clienti e del mercato. Ecco perciò che un evento che proponga sessioni su Android, iOS, Windows Phone e sviluppo cross platforma è particolarmente benvenuto, in un mondo odierno dove il mobile sta acquisendo una forza quasi superiore a quella del web.

Anche quest’anno viene ripetuta la formula dei 2 giorni (24 e 25 Maggio), in una location però differente: questa volta la conferenza si terrà a Bologna e non a Milano, presso l’Hotel Sheraton. L’agenda non è ancora disponibile, in quanto è stata appena aperta la call of paper, che si concluderà il 6 Aprile: se avete un argomento interessante da proporre riguardante il mobile, non siate timidi e fatevi avanti! Per ulteriori informazioni, vi rimando al sito ufficiale.

Start Something Tour

Ne ho già parlato in un post dedicato, ma vi ricordo che Microsoft ha dato via allo Start Something Tour, che girerà l’Italia proponendo una serie di laboratori in cui i partecipanti hanno la possibilità di sviluppare le loro applicazioni ottenendo il supporto di persone esperte per superari eventuali ostacoli o ottenere consigli. I laboratori sono focalizzati soprattutto sullo sviluppo di applicazioni per Windows Phone e Windows 8, ma recentemente ne sono stati aggiunti alcuni dedicati allo sviluppo web e ad Azure.

Ecco la pagina con riepilogati tutti gli eventi e i link per iscriversi.

jSDay

Anche se non si tratta di un argomento che tratto frequentemente sul mio blog, è innegabile l’importanza che Javascript sta acquisendo sempre di più al giorno d’oggi, sia per lo sviluppo di applicazioni web che client (pensiamo a framework come PhoneGap per il mobile o al supporto nativo di Windows 8 grazie a WinJS per lo sviluppo di applicazioni Metro style). Il 16 e 17 Maggio si terrà a Verona la prima conferenza internazionale organizzata in Italia dedicata a Javascript. Perchè internazionale? Perchè gli speaker non saranno esclusivamente italiani e la maggior parte delle sessioni verrà erogata in lingua inglese.

Per questo motivo si tratta sicuramente di un’appuntamento prezioso e importante: al contrario degli altri eventi di cui vi ho parlato, però, in questo caso non stiamo parlando di un evento gratuito: è possibile acquistare i biglietti a questo indirizzo, il costo al momento varia dai 130 euro per una sola giornata ai 175 per entrambi i giorni (con la possibilità inoltre di acquistare un biglietto cumulativo valido anche per il phpDay). Al momento però ci troviamo nella fase di Early Bird, che scadrà il 1° Aprile: dopo tale data, i costi aumenteranno, perciò se siete intenzionati a partecipare non aspettate a iscrivervi!


.NET Campus , WhyMCA , Start Something Tour , JsDay , Windows Phone , Windows 8 , Javasript

0 comments

Qualche articolo interessante sul blog MSDN: SDK 7.1.1 e Web API

Print Content | More

Nel corso di questa settimana sono stati pubblicati tre guest post sul blog MSDN, ovvero post (solitamente tecnici) a cura di MVP o persone delle community e non scritti direttamente da persone che lavorano in Microsoft.

Due articoli sono stati scritti da me e riguardano la nuova SDK 7.1.1 che è stata rilasciata qualche settimana fa in CTP: il primo articolo fa una panoramica generale della nuova versione e spiega come identificare il tipo di device su cui è in esecuzione l’applicazione; il secondo articolo invece entra un po’ più in dettaglio su quali sono i limiti da tenere in considerazione, come ottimizzare le applicazioni e come valutare il consumo di memoria.

A metà settimana è stato invece pubblicato un articolo del mio amico Ugo Lattanzi dedicato a WebAPI, una delle novità più interessanti di ASP.NET MVC 4: ve lo segnalo perchè, oltre ad essere scritto molto bene, è dedicato ad una tematica che abbiamo già affrontato qualche settimana fa, quando abbiamo parlato di come consumare servizi web in un’applicazione Windows Phone realizzata con PhoneGap.

Buona lettura!


Windows Phone , Microsoft , Web API

0 comments