Introduzione a WinFX: Windows Presentation Foundation

3 pagine in totale: <<Indietro 1 [2] 3 Avanti >>

Una rivoluzione nella piattaforma grafica Win32

Per oltre venti anni Windows è rimasto sostanzialmente identico a sé stesso. Il rendering è infatti basato su GDI ed un po' di librerie User, per cui le limitazioni che abbiamo oggi nella creazione di interfacce grafiche su Windows sono dettate dall'epoca in cui è stato pensato il subsystem grafico.

GDI non ha grosse limitazioni, come sicuramente avrete constatato utilizzando una qualsiasi applicazione, dato che tutte quelle attualmente sul mercato sono basate su questo componente.

Il vero limite che GDI ha è quello di essere fortemente orientato al pixel nella fase di rendering e dunque legato ad un modello tutto sommato sorpassato.

La motivazione principale di un rinnovamento così marcato è che il livello dell'hardware odierno consente di fare cose che, quando GDI è stato pensato, non erano nemmeno immaginabili, perché al giorno d'oggi anche in presenza di hardware molto spinto, la maggior parte delle applicazioni continuano ad usarlo (quasi) come quello di dieci anni fa, senza trarne un significativo giovamento.

Utilizzando una scheda video con 256 MB di RAM e facendo girare Office non avrete nessun apprezzabile miglioramento che impiegando una sicuramente più economica alternativa. Certo, Office non è chiaramente un metro di paragone universale, dato che i compiti per cui è pensato non sono quelli di intrattenimento, però resta il fatto che molto probabilmente l'unico genere di applicazioni attualmente disponibili per sfruttare al massimo il proprio hardware, ironia della sorte, sono i giochi.

Allo stesso tempo video, fotografie, musica e più in generale contenuti multimediali come la TV o forme miste di intrattenimento basate su Internet, sono alla base di moltissime attività quotidiane ed offrire una serie di servizi orientati al multimedia è un vantaggio da non trascurare.

Anche se a noi sviluppatori piace tanto, infatti, il command prompt ha decisamente meno fascino di una bella interfaccia costruita ad hoc, specie considerando l'avvento degli Home Teather PC (HTPC), di cui Windows XP Media Center Edition è un ottimo esempio.

Grazie a questi device, che sono il primo tentativo di sdoganare il PC dal ruolo di mezzo di lavoro per dargli anche un ruolo nelle case, gli utenti si sono sempre più abituati a vedere il computer non solo come uno strumento di lavoro, ma anche di piacere, da utilizzare per vedere le foto, i video o ascoltare musica, utilizzando tra l'altro sistemi di "puntamento" non convenzionali per un pc, come può essere un telecomando.

La prima cosa che si nota quando si passa dalla TV al computer è che quest'ultimo, spesso, ha un'usabilità minore derivante dal fatto che le interfacce sono più complesse (a causa della libertà che si ha nell'utilizzare il device di puntamento) e meno accattivanti dal punto di vista estetico, mentre considerando il fatto che una TV è molto limitata, mentre un computer invece fortemente espandibile, ci si dovrebbe aspettare il contrario.

Se state utilizzando il .NET Framework esiste un'estensione di GDI, nota come GDI+, che consente di sfruttare un engine grafico dove sono disponibili alcune primitive, con una resa grafica migliore, che in accoppiata con DirectX e Direct3D rende più semplice sfruttare al meglio l'hardware della scheda grafica. Ciò che manca ancora è una piattaforma comune, che abbia linee guida ben definite, consenta di creare applicazioni dal look curato, senza dover ricorrere a toolkit esterni e sfruttando al massimo l'hardware a disposizione. Possibilmente senza essere legati ad una risoluzione, ad un device particolare (schermo, TV o proiettore).

Windows Presentation Foundation nasce proprio per dare una visione d'insieme, unificata, nella creazione dell'interfaccia grafica di applicazioni per Windows.

Windows Presentation Foundation: una tecnologia versatile

WPF si rivolge a tutti gli sviluppatori di applicazioni Windows e per certi versi sorpassa il modello di sviluppo proprio delle WinForms, utilizzato fino alla versione 2.0 del .NET Framework (che è ancora supportato e non viene eliminato), introducendo il supporto per questo genere di applicazioni:

  • applicazioni "classiche";
  • applicazioni vettoriali 2D;
  • applicazioni vettoriali 3D;
  • applicazioni con video, audio, immagini;
  • applicazioni documentali;
  • applicazioni con navigazione, sulla falsa riga delle applicazioni web.

WPF consente di definire all'interno di un'area di lavoro, esattamente come fareste con un qualsiasi tool di grafica, oggetti vettoriali, che hanno la peculiarità di non essere semplici immagini, ma di poter interagire, essere manipolati, cambiati, il tutto in maniera semplice e programmatica.

Il vantaggio più evidente, poi, di utilizzare la grafica vettoriale, anziché quella raster è di rendere più facile la fruizione dei contenuti, a prescindere dalla risoluzione del dispositivo, perché nella grafica vettoriale gli oggetti possono essere adattati alla reale risoluzione del dispositivo, senza perdita di qualità. Se torniamo ancora una volta a pensare agli HTC, l'esempio classico è quello di poter adattare con facilità un'applicazione alle risoluzioni a 4:3 e 16:9 senza dover ripensare la grafica dell'applicazione.

E tutto questo è possibile grazie ad un nuovo linguaggio, chiamato XAML, che consente di definire gli oggetti nell'area di lavoro attraverso tag XML, un po' come faremmo con una normalissima pagina web.

3 pagine in totale: <<Indietro 1 [2] 3 Avanti >>

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.



TUTORIALS


IN EVIDENZA
MISC