And the winner is Base+JQuery
In questi giorni siamo fortemente impegnati nella progettazione e sviluppo di un nuovo progetto, nome in codice “scatolino magico”, ispirato ad un software che da subito ci è piaciuto: Enso (by Humanized).
L’idea su cui si basa Enso è quella di fornire un sistema per fare operazioni comuni in modo semplice e rapido.
Il progetto “scatolino magico”, partendo dallo stesso concetto, nasce dal proposito di offrire agli utenti del web un nuovo paradigma di interazione con i siti web.
Al momento il progetto resta dietro al sipario ma presto farà la sua spettacolare entrata sul palcoscenico di internet, per cui restate sintonizzati su questi canali per avere maggiori informazioni, nel frattempo volevamo discutere di alcune fasi e scelte progettuali:
In una prima fase la scelta è stata quella di utilizzare Prototype+Script.aculo.us, librerie che abbiamo già impiegato con successo in numerosi progetti (es. Yoople! ed elasticoWeb) e che ormai maneggiamo senza problemi.
Tuttavia, sebbene questa accoppiata di librerie resti la nostra prima scelta, non ci è sembrata la scelta migliore per questo progetto soprattutto a causa delle dimensioni considerevoli anche in seguito ad una compressione, per questo motivo ci siamo spostati su MooTools riscrivendo il codice senza grandi rivoluzioni in quanto i due framework si assomigliano parecchio e offrono entrambi un’astrazione Object Oriented per Javascript.
In breve tempo siamo riusciti a ridurre del 50% le dimensioni del progetto, ma a questo punto, in seguito alla lettura di un’intervista a Valerio Proietti (inventore di MooTools), si è presentato un nuovo aspetto che non avevamo ancora considerato: queste librerie vanno a modificare aspetti di Javascript che potrebbero creare conflitti con altri framework:
«…so che Prototype, come MooTools, - dice il padre di MooTools - modifica i prototypes degli oggetti, mentre YUI, Dojo e JQuery non lo fanno. Questo aspetto dovrebbe avere un impatto enorme nella scelta del framework. Se hai una pagina della quale non hai il completo controllo o che include altri framework, MooTools darà sicuramente dei problemi dato che modificando i prototypes va in conflitto con gli altri, mentre YUI o JQuery si comporteranno alla perfezione.»
Questa considerazione ci ha portato ad optare per JQuery. Dopo questa scelta ci siamo scontrati con la scomparsa di Classi, Sottoclassi ed ereditarietà…cosa che in una fase iniziale abbiamo provato a considerare come strada percorribile, ma poi siamo giunti alla conclusione di non poterne fare a meno in questa fase dello sviluppo del progetto, ormai troppo maturo per riscrivere il codice da zero.
Per fortuna ci è corsa incontro la libreria Base di Dean Edwards vero e proprio guru di Javascript: 2Kb per ritornare alla progettazione OO!
Conclusione (la morale della favola)
Ogni libreria fornisce aspetti caratteristici, semplicità d’uso, velocità, leggibilità, dimensioni ridotte e compatibilità, quello che importa è individuare gli aspetti su cui faremo leva durante il nostro progetto, nel nostro caso gli aspetti fondamentali sono paradigma OO e compatibilità tra diverse tecnologie, per questo motivo la nostra scelta è andata verso: Base + JQuery.
Ci auguriamo che sia stata una lettura interessante e vi invitiamo a tornare presto per gli ultimi sviluppi del progetto “scatolino magico”!!!!
2 Commenti
Invia il tuo commento | rss commenti [?] | trackback uri [?]