Visto a Las Vegas

Dalla mia ultima colonna, ho avuto il piacere di partecipare alla conferenza Microsoft Mix08 a Las Vegas, e mentre nego fermamente le accuse di amici e parenti che avevo un Microsoft impianto cerebrale installato laggiù (a causa della mia palese eccitazione per ciò che ho visto), non c'è dubbio che Microsoft abbia mostrato alcune nuove tecnologie molto potenti ed entusiasmanti che ha sotto sviluppo. Come leggerai di seguito, tuttavia, un numero significativo di essi è ancora in fase di sviluppo e farli funzionare per applicazioni del mondo reale sarà complicato per un po 'di tempo a venire.

Visto a Las Vegas

La spinta principale di Microsoft alla fiera è stata l'ultima versione di Silverlight, che a differenza del suo predecessore è molto più di un semplice lettore video. La versione 2 ha la capacità e gli strumenti di sviluppo per diventare una piattaforma per Rich Internet Applications (RIA) complete. Microsoft Expression Blend, lo strumento di web design di Silverlight, è semplicemente fantastico per disporre i componenti dell'interfaccia utente, con istruzioni visive non solo per l'allineamento ad altri controlli su la pagina, ma anche un prompt visivo ogni volta che due controlli sono distanziati di una distanza prescelta, in modo che con il minimo sforzo puoi creare applicazioni piacevoli da guardare A. È ovvio che grandi designer come Jon Harris, ex Macromedia e ora senior product manager per Expression Suite, ha contribuito molto alla produzione di uno dei migliori strumenti di progettazione dell'interfaccia utente che abbia mai visto Mentre. Questa enfasi sull'importanza del design è stata seguita anche in Visual Studio, dove la visualizzazione Design dei progetti Web utilizza ora l'eccellente motore di rendering di Expressions Web.

Resi senza parole

A questo punto, prenderò una piccola deviazione dalla storia di Mix08 per montare una delle mie soapbox preferite: i motori di rendering nei popolari strumenti di web design. Molti di questi strumenti di progettazione utilizzano il proprio motore proprietario per eseguire il rendering del codice HTML in una visualizzazione che si avvicina a quella che verrà mostrata da ciascun browser. Ho volutamente detto "approssimativo", perché sappiamo tutti che anche i principali browser non fanno tutto bene, quindi che possibilità ha un pezzo di codice scritto appositamente per uno strumento di web design?

Nei primi giorni del web, quando il browser più popolare era Netscape's Navigator, Netscape produceva un editor di pagine web chiamato Netscape Gold che utilizzava lo stesso motore di rendering del browser stesso ed era piuttosto buono. Poi è arrivato IE e ci ha cacciati per sempre dal paradiso del web design. Questo non è uno scavo su IE o su qualsiasi altro browser in particolare: sarebbe fantastico se rendessero tutti la stessa pagina web, ma attualmente non lo fanno. Certo, abbiamo definito degli standard, ma se li guardi contengono frasi come “User Agent [i browser] possono utilizzare qualsiasi algoritmo desiderano farlo e sono liberi di preferire la velocità di rendering alla precisione" (www.w3.org/TR/REC-CSS2/tables.html). Quando gli standard stessi sono aperti a interpretazioni variabili, che possibilità abbiamo che i browser di diversi team di sviluppo di aziende concorrenti si comportino esattamente allo stesso modo?

Se vogliamo continuare a utilizzare l'HTML (e ci sono potenti argomenti contrari a farlo), allora abbiamo bisogno di uno strumento di sviluppo web la cui "visualizzazione del design" possa emulare accuratamente diversi browser. Il motivo per cui questi strumenti di progettazione contengono i propri motori di rendering, così mi è stato detto, è che possono offrire il debug degli sviluppatori, guida sensibile al contesto e vari altri servizi integrati, tutti utili a volte. Ma non sarebbe bello poter dire alla tua applicazione di progettazione di utilizzare un motore di rendering diverso in modo da poter vedere una visualizzazione veramente accurata della tua pagina web, non solo un'approssimazione?