Excite

Excite Ajax Team

Si è tenuta a Boston qualche settimana fa la "Ajax Experience", una delle più importanti conferenze che vede riuniti insime gli sviluppatori di Ajax di tutto il mondo. Quello che mi colpisce, al di là della rilevanza o meno dell'evento, è l'emergere di una forte volontà di condivisione della propria conoscenza. La comunicazione fra sviluppatori, positiva in quanto aiuta a far progredire più in fretta il linguaggio, è evidente anche sui siti dedicati.

Ajax, acronimo di "Asynchronous JavaScript and XML", è una tecnica per sviluppare applicazioni web interattive e dinamiche usando una combinazione di vari linguaggi informatici.

Ajax è in grado di migliorare l'esperienza web degli utenti, rendendo l'utilizzo dei vari servizi più veloce, intuitivo, interattivo. Grazie all'utilizzo di Ajax, ad esempio, cliccando sui vari oggetti di una pagina, l'utente non deve attendere che la stessa si ricarichi, perchè tutto avviene "istantaneamente". Proprio per questi vantaggi, sono sempre più numerose le applicazioni web sviluppate con Ajax. Se vuoi provarne una, puoi scegliere Excite MIX.

Alcune delle funzionalità più comode di MIX da un "punto di vista utente" derivano proprio dall'uso di Ajax, alcuni esempi: la modifica dei moduli inseriti, lo spostamento dei moduli con semplice drag & drop, l'aggiunta di nuovi contenuti avvengono tutti instantaneamente senza che la pagina si aggiorni grazie proprio all'implementazione di codice Ajax.

Per saperne di più, faccio una chiaccherata sull'argomento Ajax con il team Excite che ha sviluppato MIX:

Qual è il futuro di Ajax, in che fase del suo percorso si trova?
Andrea: Ajax, in senso ristretto, è soltanto uno stratagemma tecnico. Perché mai dovrei ricaricare tutta la pagina, con navigazione, testata e tutto il resto, se mi serve solo aggiornare una porzione del contenuto? Semplicemente perché prima c'erano delle limitazioni tecniche a questa soluzione, che poteva solo essere rozzamente emulata tramite i frame o realizzata con enormi difficoltà con il componente XMLHttpRequest, il nucleo dello stesso Ajax. Poi l'evoluzione dei browser e la tecnologia targata Google hanno "sbloccato" questa impasse: Ajax è semplicemente ciò a cui puntava naturalmente la tecnologia web. E in questo senso è destinato a sparire nel tempo come argomento di interesse particolare. Ciò che non sparirà è l'incredibile evoluzione nella programmazione lato client (quella eseguita dal browser) che la diffusione di Ajax ha provocato, e con cui ormai si identifica. Per anni è stato il lato più negletto del web, realizzato con molta approssimazione direttamente da graphic designer o da programmatori lato server. Ora ha assunto il ruolo di protagonista, valorizzando le specifiche professionalità, con benefici enormi in termini di usabilità, accessibilità e scalabilità delle interfacce web. L'impulso al web dato da Ajax in questo senso più largo punta direttamente a un obiettivo prossimo, verso cui si stanno concentrando gli sforzi: il web come "piattaforma", con possibilità comparabili a quelle dei sistemi operativi installati nei nostri computer. Un obiettivo improponibile solo due anni fa.

Marco: Per quanto mi riguarda posso constatare che oltre alla nascita di nuove applicazioni come Google Maps o Netvibes (ma dovrei dire MIX.. ;) si sta assistendo alla nascita di equivalenti web di applicazioni normalmente usate su PC. Alcune volte il "porting" è riuscito ed efficace, come il caso di www.meebo.com per l'applicazione messenger. Altre volte su web si deve simulare un'applicazione talmente complessa che ne esce un prodotto interessante dal punto di vista tecnico ma non da quello dell'utilizzo. E' il caso di www.writely.com (oggi è stato assorbito in Google Docs & Spreadsheets) che propone un equivalente di "MS Word" online e www.youos.com che addirittura simula un sistema operativo su web. Il limite di questi approcci è che si sta cercando di realizzare su web applicazioni che richiedono complessità, velocità di esecuzione e tempi di risposta di diversi ordini di grandezza maggiori di quelli possibili con una piattaforma web basata su Ajax. Dunque mi sembra che in questo senso ci sia un po' di euforia.

Ben: Considero AJAX soltanto un modo di realizzare "rich interfaces". Ce ne sono altri, ad esempio Flash. Ma pure le rich interfaces non sono sempre desiderabili. Si tratta di valutare caso per caso quale esperienza fornire all'utente e quali metodi usare per farlo. Non considero AJAX in se' stesso particolarmente importante, tranne che rende facile fornire certi tipi di interazioni all'utente. Avra' un futuro AJAX? Finche' non ci sia qualcosa di meglio. Dipende su come evolvono i browser. Per ora direi che AJAX rende facile fare quello che si poteva gia' fare con frame/iframe (in modo imbranato) o flash (con dei svantaggi per lo sviluppatore).


Quali sono i limiti di Ajax?
Andrea: Esistono sia limiti tecnici che limitazioni "culturali" nel suo utilizzo. Il principale vincolo tecnico è relativo all'inadeguatezza dei browser attuali. Realizzare un'applicazione Ajax complessa comporta ancora, seppur meno che in passato, acrobazie per aggirare molti limiti degli strumenti. Ad esempio: - l'esecuzione contemporanea di molte funzioni javascript tende a saturare le risorse del computer (soprattutto del processore), rallentandolo o bloccandolo temporaneamente; - seppure molto migliorati nel rispetto degli standard, i browser continuano a comportarsi spesso in modo diverso in presenza dello stesso codice (javascript, HTML o CSS); - i browser sono stati pensati per saltare da una pagina all'altra, non per gestire pagine Ajax. Alcune consuetudini dell'utente (l'uso del tasto "indietro", il bookmark delle pagine) non sono attualmente supportate dai browser, se non con stratagemmi temporanei; - alcuni meccanismi di gestione dei contenuti (cache e garbage collector) non sono pensati per Ajax; - in javascript per motivi di sicurezza non c'è un modo semplice per salvare contenuti sul proprio PC, da consultare offline; - non c'è un meccanismo standard per tenere aperto un flusso di comunicazione con il server, che consenta al browser di "aspettare" messaggi remoti. E' sempre il browser a dover chiedere. Insomma, Ajax è decollato quando ancora la tecnologia non è pronta a supportarlo. Nella stessa condizione sono i dispositivi mobili (palmari e cellulari) e le cosiddette tecnologie assistive per disabili (browser testuali e screen reader). Lo stesso vale per gli standard, su cui il W3C ha cominciato da poco a lavorare. Riguardo ai limiti culturali, oltre al pericolo del suo abuso vorrei citare alcune pratiche deleterie che si stanno diffondendo: - lo sviluppo di applicazioni che non funzionano affatto senza javascript. L'alternativa deve essere sempre lasciata, sia per motivi di accessibilità ai disabili che per consentire l'utilizzo attraverso dispositivi mobili, o a chi è in ufficio dietro a un firewall che disabilita javascript per motivi di sicurezza, o a chi semplicemente lo disattiva di sua volontà. Le tecniche esistono, e MIX è in prima linea per diffonderle. - si stanno moltiplicando progetti che consentono di emulare un ambiente javascript in linguaggi diversi, spesso in Java: sono soltanto tentativi di evitare lo sforzo d'imparare un linguaggio che effettivamente fa ancora paura a molti programmatori. Ma lo fanno costruendogli intorno mostruose sovrastrutture assolutamente non necessarie, e difficilmente dotate di sufficiente flessibilità per un progetto Ajax di qualità.

Marco: vedi sopra

Ben: Un limite di AJAX e' che, come ogni strumento, e' utile soltanto se usato dove sia adatto, e nel modo giusto. Aggiungere l'uso di AJAX ad un sito soltanto per poter dire "eccoci, usiamo AJAX" non serve a nulla. Con tutto l'entusiasmo per AJAX, c'e' il rischio di pensarlo come chissa' che cosa magica. L'altro limite di AJAX che mi viene in mente e' che ti permette di creare applicazioni davvero complesse. Quindi se non sei attento a strutturare bene come lo usi, finisci con qualcosa che ti sfugge di mano. Altro limite e' che rende possibile lunghe visite ad una singola pagina, in cui se lo sviluppatore non sia molto attento ci possono essere dei memory leak che mano man bloccano il browser dell'utente.

Quali sono per voi le migliori applicazioni Ajax sviluppate in Italia e nel resto del web?
Andrea: A Gmail va riconosciuto il ruolo di capostipite. Per il resto, in definitiva siamo ancora tutti pionieri. Forse, più che le singole applicazioni vanno citati gli sforzi di elaborazione delle librerie di codice che le rendono possibili: Prototype, Dojo, jQuery, Rico, Yahoo YUI, Microsoft Atlas, Mootools e tante altre.

Marco: Per me Google Maps rimane il top, sia per il fatto che la uscita è ben precedente al boom di Ajax, sia per il fatto che è un'applicazione da fantascienza in grado di impressionare chiunque, dallo smanettone incallito a...mia nonna!!

Ben: Italia: non so, Resto del web: Gmail.

Per finire, se volete seguire l'argomento, ecco tre siti da aggiungere al vostro MIX:

Ajaxian.com Aggiungi a MIX RSS
Ajax Lesson Aggiungi a MIX RSS
Max Kiesler Blog Aggiungi a MIX RSS


Italia - Excite Network Copyright ©1995 - 2019