AJAX, ATLAS e l'HTML ... siamo sicuri di essere sulla strada giusta?
Nelle ultime 48 ore ho scambiato un paio di email con Alessandro Perilli, a proposito di AJAX.
Negli ultimi mesi stiamo assistendo alla nascita e all'evoluzione di applicazioni web anche molto complesse (GMail ne è un esempio eccellente, ma anche Outlook Web Access e altre). Questa complessità porta a sempre nuove esigenze, che nell'ultimo periodo hanno trovato risposta nella nuova frontiera della tecnologia web: AJAX (Asynchronous Javascript and XML). Essendo io un uomo che in gran parte vive :-) di XML, Web Services e architetture distribuite .... dovrei essere contento di questo fatto.
Sapere poi che anche Microsoft, per bocca del papà di ASP.NET, annuncia l'imminente uscita (settembre 2005 a PDC) di un add-on per ASP.NET 2.0 per supportare AJAX in ASP.NET 2.0 e il fatto che in ASP.NET V.Next avremo supporto nativo per AJAX, con nome in codice ATLAS, dovrebbe riempirci tutti di gioia ed entusiasmo.
Io sollevo però qualche dubbio e manifesto qualche perplessità. Mi spiego meglio: siamo sicuri che sia giusto voler farcire di mille e una funzionalità il povero HTML, poi D-HTML, poi XHTML, ecc.. che era nato con lo scopo di mostrare hypertesti e ora invece si trova sempre più spesso a dover sostituire applicazioni Windows in modo più o meno efficace e più o meno sofferto per lo sviluppatore?
Non sarebbe forse meglio dire:
- HTTP è un linguaggio per trasferire hypertesti dal server al client, su esplicita richiesta del client verso il server
- HTML ha un suo ruolo: impaginare hypertesti in modo sganciato dalla piattaforma.
- DHTML consente, sotto certe condizioni, di aggiungere qualche funzionalità interattiva/grafica al codice HTML, per renderlo più bellino graficamente e da un punto di vista della usabilità.
- Stiamo sempre più riempiendo HTTP, HTML e DHTML di "porcheria" :-) (ViewState, Session, async callbacks, Java, JavaScript, ActiveX, Windows Forms Controls, XML, XSLT, DSO, AJAX, Flash, ecc.) per poter correre una gara di Formula1 con un triciclo :-)
- Ora abbiamo bisogno di un nuovo metalinguaggio, probabilmente basato da subito e al 100% su XML, pensato per descrivere interfacce utente ricche e finalizzato a costruire le UI degliu Smart Client in archiettura SOA.
- Deve essere indipendente dalla piattaforma che ne fa il rendering
- Deve essere concordato dalle grandi aziende che danno la direzione al mercato (IBM, Microsoft, Sun, Oracle, Google, ecc.) e standardizzato dal W3C e/o da OASIS esattamente come accade per le specifiche del mondo WS-*
Non ha secondo me troppo senso assistere al proliferare di N diverse piattaforme per raggiungere risultati tra loro simili dal punto di vista della "User Experience" ma diversi come compatibilità e supporto delle piattaforme. Meglio prendersi alcuni mesi di tempo e poi partire tutti su una nuova strada, certa e unica che non trovarsi circondati di N piattaforme linguaggi che si intersecano e si completano a vicenda.
Certo una scelta come questa è molto difficile da prendere, per le grandi aziende, perchè significherebbe ricreare da zero il client container di questo nuovo metalinguaggio, di fatto mettendo a rischio le quote di mercato acquisite in tutti questi anni con prodotti come Internet Explorer, Firefox, ecc.
Cosa ne pensate? I commenti sono aperti.
PS: Si vede che ormai ho 30 anni ... una volta parlavo di tecnologia :-) adesso di andamento del mercato ... spero di non diventare rapidamente vecchio come Marco :-).