JavaScript  »  Articoli  »  MooTools 

Le basi di MooTools

di: Riccardo Degni     10 Settembre 2007

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.

$native e $extend

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.

Guide JavaScript

Canvas, guida pratica

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Guida Javascript: tecniche avanzate

Una guida dal taglio pratico per approfondire la programmazione a...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Google AdWords Base

27 Febbraio 2012 a Milano
Disponibilità: 7 Posti

Corso Webmaster base

12 Marzo 2012 a Milano
Disponibilità: 6 Posti

Corso JQuery e Ajax per Webmaster

19 Marzo 2012 a Milano
Disponibilità: 7 Posti

Corso Webmaster base

20 Febbraio 2012 a Roma
Disponibilità: 7 Posti

Corso Google AdWords Base

28 Marzo 2012 a Roma
Disponibilità: 7 Posti