Object-oriented jQuery

Giovedì 12 Marzo 2009 - 08:47

di Riccardo Degni

Scripting

Sul framework jQuery si può dire veramente di tutto, tranne che sia indirizzato verso una struttura OOP.

Micah Snyder ha creato appositamente un file, denominato Class.js e ospitato da GitHub, che permette di integrare una struttura Object-Oriented all’interno del framework, in modalità molto simili ad altre librerie, primo fra tutti Prototype.

Class.js, oltre a permettere l’uso di Pattern Object-Oriented all’interno delle applicazioni che si avvalgono di jQuery, consente di usare massicciamente i namespaces (anche con namespace multipli), permette la creazione di gerarchie ad ereditarietà classica, limitata o Javascript-oriented ed offre parecchia libertà allo sviluppatore, consentendo di creare vere e proprie “combo”.

Potete trovare ulteriori informazioni su Class.js con tanto di documentazione e demo nel Wiki su GitHub dedicato.

L’idea di base sembra molto interessante, per quanto jQuery lavori già bene senza gerarchie OOP. A mio avviso, il rischio che occorre mischiando tra loro due modalità di programmazione Javascript completamente differenti e di creare confusione nello sviluppatore c’è.

Tags:

Categoria: Scripting | Permalink

Commenti

1

secondo me nessuna confusione. Come quando inserirono OOP in PHP. ad oggi ci sono persone che semplicemente programmano in modo imperativo non prendendo in considerazione la programmazione a oggetti.

Dal mio punto di vista ottima implementazione, poi la scelta ricade allo sviluppatore.

# - postato da Michele - 12 Marzo 2009 - 10:10

2

$(”*”) instanceof jQuery … JavaScript e’ di suo Object Oriented e lo e’ sempre stato, il fatto che non ci sia un costruttore nativo Class non significa sia molto, dato che tutte le funzioni, qualche built in a parte, possono essere usate come costruttori.
Questa libreria implementa solo un wrapper sopra quanto di gia’ nativamente presente in JS. Dal mio punto di vista non se ne sentiva affatto la mancanza, tanto piu’ dopo tutti i tests fatti la scorsa settimana, ma e’ vero che non c’era niente per la piu’ usata delle lib (e non c’era volutamente niente a detti di John stesso).
Per concludere, non vedo confusione tra il creare istanze di jQuery ed usarne metodi o creare istanze di altri costruttori ed usarne metodi … voglio dire, (123).toString() e’ valido, ed anche il confronto col PHP non regge molto, JavaScript essendo nativamente OO, e’ chilometri avanti (per dirne una, lavora perfettamente con gli scope e scope innestati, PHP con l’ultimissima vuole scope su lambda espliciti, robe mai viste in un linguaggio OO …)

# - postato da andr3a - 12 Marzo 2009 - 10:25

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento