XAML o HTML? HTML e XAML!

di Daniele Bochicchio, in Windows Client,

Ieri parlavo con Marco di Internet Explorer. Essendo un grafico molecolare :), non vede di buon occhio IE, che come tutti sanno se ne frega altamente degli standard, specie per quanto riguarda i CSS.

Si domandava come mai Microsoft non ha saputo tirare fuori niente di meglio dopo IE 6. A parte che IE 6.5 è un grande passo in avanti dal punto di vista delle funzionalità e della security, probabilmente dal punto di vista degli standard web non cambierà granchè.

Comunque, a questa domanda, ho risposto parzialmente portando XAML come esempio. In realtà tutti sappiamo che XAML è una cosa completamente diversa da HTML, che è nato come sistema per rappresentare informazioni. Chi si ricorda HTML 3.2 avrà idea di cosa parlo. L'abbellimento grafico sarebbe dovuto essere demandato ad altro. Peccato che l'altro, i CSS, hanno stentato per anni ad essere adottati proprio perchè i browser (sempre loro :) non hanno mai offerto supporto pieno alle specifiche. Così ci troviamo incasinati in tabelle per fare il layout, mentre in orgine ed anche oggi non si sarebbero dovute usare.

La home page di ASPItalia.com è stata detabellata di recente e presto lo sarà anche il resto del sito. Questo genere di interventi, oltre a rendere più flessibile il layout (questo blog si vede sui mobile devices senza problemi e l'unico intervento che ho fatto è sul CSS, ottimizzato per nascondere alcuni elementi, senza una versione ottimizzata del sito e risparmiando quindi tempo) e contribuisce a risparmiare banda. La home page di cui sopra è passata dagli 80 kb circa di codice HTML ai 47 scarsi (dipende dai contenuti :) attuali. Un risparmio di 30 kb per ogni visita, moltiplicato per le circa 2500 pv al giorno che la home fa è tanta banda da poter sfruttare per altro, ad esempio per feed RSS e Atom :)

Comunque, sto uscendo fuori dal seminato, come spesso mi capita quando parlo di cose nuove.

Il mio discorso ad un certo punto della nostra diatriba si è soffermato su XAML, perchè i concetti alla base sono all'incirca gli stessi. Usare un modello dichiarativo e sfruttare un "browser" (passatemi il concetto) per farne il rendering. L'ennesimo tentativo di Microsoft di farsi una tecnologia a proprio uso e consumo, sfruttando il monopolio sui desktop per costringere tutti ad adottare questa soluzione? No, solo una grande idea.

XAML e HTML sono simili ma non hanno nulla in comune. XAML può essere arricchito di codice, HTML a parte un po' di Javascript no. XAML può essere compilato in un eseguibile, non deve per forza essere eseguito al volo (anzi, da quello che leggo gli unici file XAML che si apriranno con IE senza compilazione saranno quelli senza codice, per motivi di security). XAML può sfruttare un Framework, che a questo punto non so se si chiamerà sempre .NET Framework e l'interazione con l'esterno è garantita tramite Indigo, che va ben oltre il solo protocollo HTTP.

Insomma, costruire rich application per Windows sarà più semplice e permetterà di fare cose più interessanti e con meno fatica. So che Cristian sta lavorando ad alcuni esempi per il nostro speech a Webb.it dedicato a Longhorn e XAML che dovranno rendere il concetto. E sono già pronto, dato che non ci sono tanti speech su Longhorn, a rispondere a domande come questa, per cui mi preparo fin d'ora :)

Dunque sembra che nel futuro dovremo scegliere tra (X)HTML e XAML. L'eterna lotta open contro proprietario? Non credo. Hanno ambiti diversi, come ho appena cercato di spiegare. Credo che per i prossimi 5-6 anni useremo sempre di più XHTML. Non dimenticate che il primo vero pezzo di WinFX è ASP.NET 2.0, che uscirà prima di Longhorn e che ha un supporto pieno per XHTML 1.1.

Inoltre, cosa vi ricorda la sintassi dei Web Controls di ASP.NET? :)

Questo apre la strada a diverse speculazioni. Provo a farne qualcuna, frutto della mia mente e di alcuni discorsi con altre persone, non c'è nulla di ufficiale nè ufficioso in tutto questo, è più una speranza di come possano andare le cose.

Tutti sanno quanto mi piacca IIS, specie nella versione 6. Tutti sappiamo dell'adaptive rendering di ASP.NET 2.0, giusto?

In pochi sembrano ricordare che dopo Longhorn ci sarà Blackcomb o come decideranno di chiamare la prossima versione di Windows Server per Longhorn. E questa nuova versione avrà IIS 7.

[speculation mode="on"]

IIS 7 e ASP.NET 2.x con adaptive rendering, eh? Uhm, e se ci io ci metto un adaptor per fare in modo che le applicazioni ASP.NET 2.x diano come output XAML?

Ed ancora, se faccio in modo che IIS 7 trasformi un'app XAML in un'app XHTML?

[speculation mode="off"]

Dal mio punto di vista sarebbe una grande cosa, perchè permetterebbe di sfruttare il meglio di entrambi i mondi. Chi ha Longhorn potrà sfruttare XAML, chi non ce l'ha avrà accesso ai contenuti sfruttando il suo browser. Il nirvana dello sviluppo web.

Sembra che io non sia il solo a pensarla grossomodo così. Su DevX è stato pubblicato un articolo interessante. Grossomodo ricalca il concetto di adaptor, convertendo codice XAML in istanze di oggetti del .NET Framework 1.x. Basta un file di config per mappare gli elementi XAML sulle classi preferite. Ci sono due esempi, di Winform e di pagina ASP.NET, sfruttando lo stesso codice XAML e variando solo il file di config.

Decisamente interessante. Staremo a seguire gli sviluppi. Prendendo in prestito una pubblicità, il futuro è degli ottimisti ;)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese