Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1907, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Sviluppare Metro-style app per Windows 8 con Visual Basic: prima parte

Introduzione

E' il tema del momento, senza ombra di dubbio, per chi ama la tecnologia Microsoft e per chi sta guardando al futuro prossimo con gli occhi del developer.

Lo sviluppo di applicazioni Metro-style per Windows 8 è sicuramente un tema caldo e, ovviamente, gli sviluppatori Visual Basic non ne sono esentati

Iniziamo quindi una serie di post dedicati allo sviluppo di app Metro-style per Windows 8 con Visual Basic; in questo primo post faremo un'introduzione discorsiva alla piattaforma, dal post successivo daremo un'occhiata ad alcuni punti cardine e utilizzeremo l'edizione Express per Windows 8 di Visual Studio 11 Beta.

Cosa non pretendiamo di fare e cosa invece pretendiamo

La serie di post che iniziamo oggi ha una finalità introduttiva, per una serie di ragioni: la tematica è nuova per (quasi) tutti me compreso. Più che di insegnare qualcosa, quindi, ho lo scopo di condividere un percorso che io stesso sto facendo. La mission è come sempre () quella di portare il nostro caro Visual Basic all'utilizzo di una nuova tecnologia, dimostrando che ha le stesse potenzialità di C#. Non c'è quindi, perché non ci può essere, la pretesa di affrontare ogni singola tematica possibile nello sviluppo Metro. Al contrario, gli obiettivi che mi pongo sono i seguenti:

  • coinvolgere gli sviluppatori Visual Basic nel mondo di Windows 8 & Metro
  • individuare gli strumenti di sviluppo necessari
  • capire cosa serve per il test delle app
  • capire cosa ci viene messo a disposizione dagli strumenti di sviluppo
  • capire come è strutturata un'app Metro-style
  • capire dove va a finire un'app Metro-style
  • riepilogare una serie di risorse utili che coprano le tematiche non discusse in questa serie di post

Il tutto, come sempre, è caratterizzato da un personale approccio alla tematica. Questo perché tengo a specificare che non si ha la pretesa di essere la bibbia

Cosa occorre

Per sviluppare app di tipo Metro-style per Windows 8 abbiamo bisogno almeno di Visual Studio 11 Express Beta per Windows 8. Ovviamente le edizioni superiori tipo Ultimate, attualmente in beta, sono sicuramente ottime scelte in ogni caso partire con la Express ci darà quella sensazione di semplicità e futura (presumibile) disponibilità di un ambiente gratuito. Dal lato della figura del Designer, l'installazione degli strumenti di sviluppo renderà disponibile anche Expression Blend for Visual Studio 11 Beta. Quest'edizione di Blend contempla chiaramente la gestione di applicazioni Metro.

In principio era WinRT

Come sapete, Windows 8 consente quel duplice utilizzo costituito dall'ambiente Metro e dall'ambiente Desktop. Affinché le app Metro possano funzionare, queste si poggiano su un framework dedicato chiamato Windows Runtime, in gergo detto WinRT. Si tratta di una piattaforma dalla forte connotazione COM, che permette una notevole interazione con il sistema operativo e facilita lo sviluppo Metro anche per C++ e JavaScript.

Questa è la rappresentazione grafica delle piattaforme disponibili in Windows 8 (origine immagine qui):

Come potete vedere dalla parte sinistra della grafica, Windows Runtime è un insieme di API per la gestione di comunicazioni, grafica, multimedia, device, stampa ecc. ecc. Esso mette a disposizione namespace, classi, un sistema dei tipi, tutte cose che, come sviluppatori VB, utilizzeremo nel modo a noi familiare perché comunque si ha un approccio tipicamente .NET alla cosa, sebbene ci siano dei namespace diversi, delle classi nuove e specifiche per determinate cose, ma essenzialmente l'approccio al codice rimane quello.

La grafica ci permette anche di capire come lo sviluppo di app Metro sia fattibile con: XAML + VB/C#, XAML + C++, e HTML + JavaScript.

Il nostro caso è esattamente quello XAML + VB  Anche in questo caso non avremo la possibilità di esplorare ogni area, ogni classe, ogni namespace di WinRT ma cercheremo di trovare gli strumenti adatti per imparare a muoverci in questo ambiente. Nel frattempo, non dimenticate di leggere il blog dell'inimitabile Raffaele Rialdi che conosce WinRT molto molto bene e di seguire il sito WinRT Italia creato dai cari amici di ASPItalia.

Quindi iniziamo già a capire che Metro non è solo VB o C#, ma è anche HTML e C++. Cosa non di poco conto, ma che vedremo meglio nei prossimi post, se ho investito pesantemente su tecnologie come WPF e Silverlight che si basano su XAML, questa conoscenza di XAML me la ritrovo anche in Metro. E' chiaro che non tutti gli oggetti sono uguali, per cui qualche differenza nel codice che definisce l'interfaccia ci può essere, ma tutto sommato lavorare con i controlli in XAML per Metro non sarà così difficile se arrivo da mondi XAML-based. In realtà la cosa di cui dovremo preoccuparci sarà il corretto posizionamento e orientamento delle app all'interno di un device, ma questa è un'altra cosa che approfondiremo in seguito.

Async/Await

Un'altra cosa che probabilmente sapete è che la novità più importante non solo in Visual Basic 11, ma anche negli altri linguaggi .NET, è l'introduzione delle parole chiave Async e Await e di quella parte di Framework che permette di scrivere codice asincrono. Sviluppando app Metro sarà pressoché onnipresente l'utilizzo di questo pattern, poiché Metro è asincrono per natura intrinseca. Ecco quindi un'altra ragione per la quale Async è arrivato: certamente favorire la scrittura di codice migliore e responsivo, ma anche per consentire lo sviluppo per Windows 8.

Conclusioni della prima parte

In questo post abbiamo dato delle informazioni sullo sviluppo di Metro app per Windows 8, più che altro di carattere generale e non specifiche per Visual Basic, cosa che invece faremo a partire dal prossimo post.

Alessandro

Print | posted on venerdì 13 aprile 2012 03:00 | Filed Under [ UWP e Windows Store Apps ]

Powered by:
Powered By Subtext Powered By ASP.NET