Per utilizzare al meglio le funzionalità avanzate offerte da MooTools, per crearne di nuove e per gestire i diversi aspetti della nostra applicazione, è necessario comprendere il meccanismo fondamentale che sta alla base di questa libreria.
In questa prima parte dell'articolo vedremo come utilizzare i cosiddetti componenti "core", mentre nella seconda impareremo a svolgere operazioni con il costruttore Class, il "motore" di MooTools. Vi ricordo che la documentazione completa del framework è disponibile all'indirizzo http://docs.mootools.net.
Iniziamo con l'analisi dei componenti di base (contraddistinti dal simbolo di dollaro '$' iniziale), che svolgono compiti di fondamentale importanza e vengono utilizzati per la creazione di molti altri componenti.
Tra di essi è presente una funzione interna chiamata $native, che, come indica il nome, agisce sugli oggetti nativi di Javascript (Array, String, Function e Number) aggiungendo ad ognuno di essi un metodo chiamato "extend".
Utilizzando questo metodo è possibile aggiungere nuove proprietà all'oggetto prototype del nostro oggetto principale, ma a differenza del Javascript nativo, o di altri framework quali jQuery e Prototype, è possibile farlo in uno stile decisamente più "object oriented".
Vediamo subito un semplice esempio. Supponiamo di volere aggiungere al costruttore String un metodo chiamato "firstChar", che restituisce il primo carattere della stringa. Ogni oggetto in Javascript, possiede una proprietà chiamata "prototype" che è un ulteriore oggetto contenente i metodi del costruttore principale.
In Javascript nativo bisogna quindi impostare una nuova proprietà nell'oggetto prototype, in modo che possa essere utilizzata dal costruttore principale:
String.prototype.firstChar = function() {
return this.charAt(0);
}
La chiamata seguente del metodo firstChar restituisce il primo carattere della parola, ovvero "c":
"ciao".firstChar();
MooTools permette di svolgere questa stessa operazione in una modalità più vicina ai modelli orientati agli oggetti di C++, Java e PHP5: basta applicare il metodo extend all'oggetto desiderato e passargli come parametro un letterale oggetto contenente i metodi da aggiungere:
String.extend({
firstChar: function() {
return this.charAt(0);
}
});
Il codice precedente aggiunge il metodo firstChar all'oggetto prototype di String, nello stesso modo in cui accadeva nel primo esempio.
Utilizzando questo approccio è possibile aggiungere un qualsiasi numero di metodi agli oggetti nativi, effettuando una sola chiamata del metodo extend, in maniera molto più rapida rispetto a quella predefinita.
Per citare un ulteriore esempio, nei file 'php_string', ' utility_string' e' utility_array' di Moo.Rd, ho utilizzato il metodo extend per aggiungere una numerosa collezione di metodi ai costruttori String e Array.
|
Ottimizzare le Performance di jQuery: cache e concatenazione |
Canvas, guida praticaCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida jQuery UICreare siti ricchi e dinamici con jQuery UI, il progetto ufficiale... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Google AdWords Base27 Febbraio 2012 a Milano |
|
|
Corso Webmaster base12 Marzo 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster19 Marzo 2012 a Milano |
|
|
Corso Webmaster base20 Febbraio 2012 a Roma |
|
|
Corso Google AdWords Base28 Marzo 2012 a Roma |