Sempre più spesso chi si avvicina alla programmazione in JavaScript si imbatte nella difficile scelta della libreria da adottare, o quantomeno della prima da imparare.
Se lavori all'interno di un team probabilmente già ti è stato imposto un framework, con motivazioni più o meno discutibili.
Se questo è il tuo caso, se sei costretto a usare MooTools ma sei pratico con jQuery, allora questo articolo può ugualmente esserti d'aiuto.
Aiutarti a scegliere tra questi due framework significa spiegartene le differenze. Comincio col dire che entrambi sono scelte eccellenti.
Non esiste la scelta sbagliata. Entrambi i framework hanno i loro punti di forza e le loro debolezze, ma, in generale, sono entrambi ottime scelte. Ci sono anche ulteriori framework che fanno bene il loro lavoro. Dojo, Prototype, YUI, Ext e altri ancora sono ottime opzioni.
La scelta, in verità, ha più a che fare con il tuo stile personale e con i tuoi bisogni.
L'articolo si concentra su MooTools e jQuery, in quanto sono sempre più i framework presi in considerazione dalla maggior parte delle persone. Non cercherò di convincere nessuno a passare da un framework a un altro. Entrambi offrono spunti interessanti da cui è possibile imparare molto. Se vuoi saperne di più su questo articolo e del perché l'ho scritto puoi leggere il mio post sul blog di Clientcide.
Il Motto Dice Tutto.
Se si va sul sito di jQuery, all'inizio della pagina c'è scritto:
jQuery è una libreria JavaScript veloce e concisa che semplifica la navigazione del documento HTML, la gestione degli eventi, le animazioni e le interazioni Ajax per un rapido sviluppo web. jQuery è progettato per cambiare il modo in cui si scrive JavaScript.
...mentre se si va sul sito di MooTools, ecco cosa si troverà scritto:
MooTools è un framework JavaScript Object-Oriented compatto e modulare, progettato per lo sviluppatore JavaScript medio/avanzato. Permette di scrivere codice potente, flessibile e cross-browser con le sue eleganti, ben documentate e coerenti API.
Penso che questo dica già tutto. Se vuoi sapere cosa ne penso io (e stai leggendo, quindi assumo che tu lo voglia), la domanda non è quale sia il framework migliore o peggiore. Quale delle cose scritte qui sopra vuoi fare? Questi due frameworks non stanno cercando di fare le stesse cose. Si sovrappongono un po' rispetto alle funzionalità che mettono a disposizione, ma non stanno cercando di fare le stesse cose.
La descrizione di jQuery stesso parla di HTML, eventi, animazioni, Ajax e sviluppo web. MooTools parla di orientamento agli oggetti (OOP) e riguarda lo scrivere codice potente e flessibile. jQuery aspira a "cambiare il modo di scrivere JavaScript" mentre MooTools è progettato per lo sviluppatore JavaScript medio/avanzato.
Parte di questa considerazione deriva dalla nozione di framework e toolkit. MooTools è un framework che cerca di implementare JavaScript come dovrebbe essere (in accordo con gli autori di MooTools). Lo scopo è quello di implementare una API che sembra JavaScript puro e che lo esalti; non riguarda solamente il DOM. jQuery è un toolkit che mette a disposizione un insieme di metodi facili da utilizzare in un sistema progettato per rendere il DOM stesso più piacevole. Accade spesso che il DOM sia l'area in cui la maggior parte delle persone scrive JavaScript, quindi in molti casi jQuery è tutto quello che serve.
Quando si scrive codice con MooTools si ha la sensazione di scrivere JavaScript puro. Se non si è interessati riguardo al JavaScript come linguaggio, imparare MooTools può sembrare un duro lavoro. Se si è invece interessati a JavaScript ed in particolare a cosa lo rende interessante, la potenza e l'espressività, beh, personalmente penso che MooTools sia la scelta migliore.
La Curva di Apprendimento e la Community.
Per prima cosa, jQuery è sicuramente più facile da imparare. Ha uno stile quasi colloquiale che neanche ti sembrerà di programmare. Se tutto quello che interessa è ottenere qualcosa che funzioni velocemente, senza dover imparare JavaScript, jQuery è probabilmente la scelta migliore. Non che MooTools non aiuti ad ottenere gli stessi risultati, ma ammetto che può essere più ostico da imparare se se si è principianti in JavaScript. Inoltre ci sono moltissime risorse che aiutano ad imparare jQuery - almeno, più di quelle che ci sono per imparare MooTools.
Se si mette a confronto la community di jQuery (vedi la pagina "Discussion") e quella di MooTools (irc, mailing list, e forum non ufficiale) si notano subito due cose: 1) la community di jQuery è molto più grande (personalmente attribuisco questo fatto a quanto detto prima sulla facilità di apprendimento, ma non solo...) e 2) sono molto più attivi nel promuovere la libreria. Misurando jQuery e MooTools sul numero degli utenti, sul numero delle ricerche su Google, sul numero di libri venduti, ecc, jQuery stravince.
Detto questo, per spiegare perché si dovrebbe prendere in considerazione anche MooTools devo prima mostrare cosa fanno i due framework (e come lo fanno). Alla fine la scelta sarà dettata da cosa si vuol realizzare e da come si preferisce programmare (e forse anche dal se piace programmare, almeno in JavaScript).
Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:
Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!