Ad Agrigento si gioca? Organizziamoci e giochiamo --> GiocAGrigento!

28 agosto 2007

AJAX vs DOJO

Ma DOJO non fa altro che utilizzare AJAX, direte voi, quindi non è un vero e proprio "scontro". Invece io dico che il "vs" è corretto.
Oggi ho letto il post AJAX - Fondamenti di base di davidonzo, pur trovandolo interessante, e sempre considerandolo un suo promemoria, non concordo sull'opportunità di accedere ad ajax direttamente o quasi direttamente, tramite funzioni autocostruite come questa che pubblica davidonzo
function AJAXReq(method,url,bool)
Il fatto è che in questo modo dovrò occuparmi di mantenere questa porzione di codice, e dovrò preoccuparmi della compatibilità con firefox, ma anche con internet explorer in tutte le versioni presenti e future. Ma dovrò pensare anche agli altri browser in circolazione, e sappiamo che è una sorta di qasba in cui ogni mercante grida più forte degli altri.
Per questo io mi sono affidato a dojo e confermo la scelta fatta allora.
Il framework mi consente di non "reinventare la ruota", si occupa di essere compatibile con tanti browser e offre strumenti per scrivere webapp anch'esse compatibili con gli stessi browser.
Se nel piatto della bilancia mettiamo anche tutte le altre funzionalità offerte da questo framework (ma ce ne sono anche altri in circolazione) la scelta mi è sembrata obbligata.
Se poi non siete convinti potete leggere questa pagina sul perché scegliere dojo, scritta proprio dal team dojo (in inglese).

Per questo consiglio a davidonzo e agli altri che hanno a che fare con ajax di dare un'occhiata!

4 commenti:

  1. Ciao Massimiliano!

    Ottimo articolo. Però forse non ho reso io bene il senso del mio di articolo.

    Non volevo incitare all'uso del self scripting a discapito di framework ottimi come dojo.
    Volevo solo spiegare le basi di ajax e come gestire una chiamata del genere nei vari casi (differenti browser).

    Un framework come dojo è veramente ottima cosa e permette di fare molto.
    Io stesso uso ormai da molto tempo librerie preconfezionate come la prototype e le varie moo.fx.
    L'unica cosa che mi indispone un po' è la dimensione dei frameword stessi.

    Essendo destinati alla moltitudine è normale che siano tanto carichi. Devono andare incontro ad esigenze diverse e disparate.
    Ma per chi vuole sviluppare una piccola applicazione web non li vedo bene.

    Dojo è un frameword da 15mb. Ha senso per progetti molto impegnativi che vengano costruiti e modellati sul framework stesso.
    Ma per aggiungere qualche effetto gradevole o per risparmiare un po' di banda sul server postando delle richieste in background forse si fa prima a scriversi le cosa da soli.

    Dipende sempre dal contesto. L'importate è avere tutti gli strumenti per scegliere al meglio.

    PS: vedo che praticamente a Catania stai a 200m. da casa mia :D

    RispondiElimina
  2. Davidonzo, hai ragione!!
    Mi sono lasciato prendere un po' la mano. La verità è che, come hai detto tu, dipende dal contesto!!

    Anche se esiste una funzionalità di dojo che lo rende davvero scalabile: i custom builds.
    Ovvero si può ottenere una libreria dojo ritagliata strettamente sulle esigenze del momento, quindi i 15Mb di dojo verrebbero ridotti al minimo indispensabile.
    Confesso che questa funzionalità non l'ho mai testata e quindi non posso portare numeri a conferma. Però l'opportunità è molto interessante.

    Stiamo davvero così vicini? bisognerà incontrarci! al limite al TrinacriaCamp!

    RispondiElimina
  3. Per quello che ne so Ajax serve per sopperire al problema che le richieste HTTP sono poco interattive. Dojo non mi è piaciuto: è pesante, non mi dice nulla di nuovo e non è terminato nemmeno il manuale nella parte "esempi".
    Che ne dici di una richiesta da javascript ad una pagina php dinamica che dice al client quali parti aggiornare con "InnerHtml"...
    Praticamente lato client è lo stesso principio dell'ajax, lato server invece avresti una specie di server nel server.

    RispondiElimina
  4. @za è vero sono indietro in tante cose, ma non è così lento come dici! Considera che esiste un deploy con accesso veloce utilizzabile da chiunque già pronto per chi volesse usarlo e non dimenticare la possibilità di effettuare deploy personalizzati includendo solo quello che serve (come dicevo prima).

    Se non ho capito male tu mi stai suggerendo l'architettura di una libreria basata su ajax da scrivere ad hoc? un macello! :-) mi rifiuto di pensarci!
    Invece esistono altre librerie già pronte, ne conoscete migliori di dojo?

    RispondiElimina

Vuoi lasciare un commento? sei molto gentile!