di: Riccardo Degni 21 Aprile 2008
Per entrare nel vivo delle nuove, potentissime meccaniche offerte dalla versione 1.2 del framework MooTools, in questo articolo vi riporto l'intervista che ho realizzato con l'ideatore, nonché team leader, della libreria in questione: Valerio Proietti. Ringrazio personalmente Valerio per la completa disponibilità e per la ricchezza dei contenuti. Inoltre consiglio a tutti gli sviluppatori che utilizzano MooTools di non perdersi questa risorsa. Al suo interno troverete consigli, suggerimenti, codici e tante novità sull'universo di MooTools, con qualche curiosità sul suo ideatore. Iniziamo!
Riccardo: Come e quando è nata la tua passione per il Web Design e in particolare per Javascript?
Valerio: La mia passione è iniziata più o meno sei anni fa. Allora il mio lavoro (parecchio noioso) consisteva nella realizzazione di scripting vari, ma sopratutto nell'ottimizzazione di questi ultimi. Dovevo migliorarli e scriverli più elegantemente. La passione per Javascript è quindi piu una passione per lo scripting in generale. Programmare per il web da una grande soddisfazione immediata e facendolo hai il grande vantaggio che il tuo lavoro possa essere visto da tantissime persone in poco tempo.
Riccardo: Sviluppare un framework Javascript completo e "full-featured" come MooTools è un'impresa ardua, soprattutto con prodotti come Prototype e jQuery in circolazione già da tempo. Quali sono stati i motivi che ti hanno fatto intraprendere questa scelta?
Valerio: Poco dopo aver iniziato con il web development ho deciso insieme ad un amico di creare un CMS, chiamto MooFlex e basato sull'accopiata Prototype + Scriptaculous. Devo dire che ero davvero impressionato dalla potenza di Prototype, mentre con Scriptaculous non mi trovavo per niente bene. Ho quindi deciso di scrivermi il mio framework di animazioni: moo.fx (togli "le" da MooFlex ed ottieni moo.fx). Volevo qualcosa che sfruttasse davvero la potenza di Prototype, qualcosa di ottimizzato alla perfezione ed allo stesso tempo utile agli sviluppatori. Continuando ad ottimizzare e migliorare i miei lavori, lo script diventava sempre più grande, coeso ed "armonico": è da qui che è nato MooTools.
Riccardo: Sfogliando accuratamente il codice della versione 1.2 e paragonandolo a quello delle primissime release, come la 0.90 o la 1.0, si nota come questo sia diventato molto più robusto ed articolato. Come si è evoluta la tua metodologia di programmazione e di conseguenza MooTools?
Valerio: Diciamo che MooTools mi ha insegnato, e continua ad insegnarmi, sia JavaScript, sia HTML, sia CSS, come si comportano i browser e molto altro. Sviluppando MooTools imparo tantissimo. All'inizio impari tantissime cose in poco tempo e il framework cresce rapidamente, poi raggiungi una certa stabilità continuando comunque ad evolvere. La versione 1.2 rappresenta questa stabilità che stiamo rincorrendo da piu di un anno. Ma l'evoluzione non sta solamente nel codice in termine stretto, ma riguarda anche il design di API e l'immedesimazione nell'utente.
Riccardo: Qual è stata la parte più ostica da realizzare/progettare all'interno del framework?
Valerio: In linea generale, sicuramente realizzare la compatibilità con tutti i browser, soprattutto con Opera e Internet Explorer 6. È veramente un compito ostico da portare a termine, ma mi compiaccio del fatto che nessun utente che usa MooTools debba fare lo stesso, compreso me.
Riguardo il codice, senza dubbio i selettori CSS3 sono stati parecchio complessi, pur non essendo particolarmente difficili da programmare sotto la componente logica. Bisognava trovare la giusta via di mezzo tra velocità, eleganza, efficenza ed estensibilità.
A differenza di altri framework che dopo il calcolo principale aumentano la velocità di esecuzione, ho optato per un parser "logico", senza nessun tipo di "case" specifico. Ogni selettore viene "splittato" nelle sue parti e trattato nel medesimo modo di tutti gli altri.
I vantaggi si riscontrano nella drastica riduzione della mole di codice, nell'aumento della sua mantenibilità e ancora nella riduzione del margine d'errore.
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida jQuery UICreare siti ricchi e dinamici con jQuery UI, il progetto ufficiale... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |