Qualche utile libreria JavaScript

Le pagine web stanno diventando sempre più ricche e dinamiche. Molti effetti visivi e altri tipi di caratteristiche dinamiche fanno uso di script JavaScript, disponibili gratuitamente in rete e open source. Ne riporto un breve elenco, per coloro che fossero interessati.

Librerie di base

Queste tre librerie general-purpose si contendono il primato di libreria base su cui costruire le altre librerie per scopi particolari. Poiché conosco soltanto Prototype, non so fino a che punto le loro funzionalità siano equivalenti. JavaScript è un linguaggio relativamente giovane (è nato tra il 1997 e il 1999), quindi è chiaro che i tentativi di creare una libreria di funzioni di base "standard" si susseguiranno ancora per lungo tempo. Il problema è che, come nel caso del C++ (nato più o meno nello stesso periodo), i programmatori saranno costretti a imparare e disimparare l'uso delle librerie finché un qualche standard non avrà la meglio sugli altri.

E' chiaro che le "guerre di religione" tra queste librerie si susseguono in rete a ritmo serrato, vedi ad esempio questo articolo su Ajaxian.


Prototype è una libreria JavaScript il cui scopo è quello di permettere uno sviluppo semplice di applicazioni web dinamiche. Prototype sta diventando velocemente la base per ogni applicazione web. Dopo l'introduzione dell'oggetto prototype in JavaScript, che permette di aggiungere funzionalità agli oggetti già esistenti, Prototype dovrebbe essere il primo tentativo di dotare il linguaggio JavaScript di una libreria base più potente di quella che il linguaggio stesso offriva.


MooTools è una libreria JavaScript compatta, modulare e object-oriented. Permette di scrivere codice potente, flessibile, cross-browser con un insieme di API eleganti, ben documentate e coerenti. Da molti è vista come l'evoluzione di Prototype, sebbene molti altri la dichiarino un plagio. In entrambi i casi, MooTools ha preso il meglio delle idee di Prototype e le ha portate avanti.


jQuery è una libreria veloce e concisa che semplifica il modo di scorrere i documenti HTML, gestire eventi, effettuare animazioni e aggiungere interazioni di tipo AJAX alle pagine web. Dalla sua pagina web è possibile anche scaricare un gran numero di plugin che si basano su questa libreria, i cui scopi variano dagli effetti visivi alle funzionalità di interfaccia utente, ecc.


Dojo è un toolkit open source scritto in JavaScript. E' costruito mettendo insieme codice proveniente da vari contributi (nWidgets, Burstlib, f(m)). Lo scopo di Dojo è di risolvere alcuni problemi storici riguardo al DHTML che hanno impedito la gran parte dei programmatori a sviluppare applicazioni web dinamiche.


Ext (o extJS) è un framework JavaScript client-side. Attualmente è utilizzato da Adobe, IBM, Siemens e altri. Ha due tipi di licenze: una LGPL e una commerciale. E' nato come un'estensione della libreria YUI (Yahoo! User Interface) da cui poi si è distaccato.

Librerie di effetti grafici

Moo.fx è una libreria di effetti JavaScript piccolissima (3 KB) e semplice da usare. La sua pagina è costruita in modo da mostrare molti degli effetti della libreria stessa. Ne esistono due versioni: una è basata su MooTools, l'altra su Prototype.


Script.aculo.us fornisce un insieme di librerie JavaScript facili da usare e cross-browser per costruire siti web e applicazioni web. E' basata su Prototype.


Funzionalità particolari

Lo script Lightbox può essere usato per sovrapporre un'immagine alla pagina correntemente caricata. Generalmente viene lanciato da un link posto sul thumbnail di un'immagine, per mostrare, senza cambiare pagina, l'immagine ingrandita. Molte immagini di questo sito utilizzano questo script per la visualizzazione. L'installazione è semplicissima, si tratta semplicemente di aggiungere il codice per il caricamento dello script all'interno del HEAD della pagina e aggiungere un attributo rel ai link che si vuole vengano gestiti da lightbox. Lightbox utilizza Prototype e Scriptaculous.

 

Slimbox è un clone di Lightbox 2.0 ed è scritto usando il framework MooTools invece che Prototype/Scriptaculous. E' progettato per essere piccolo, efficiente, più conveniente e completamente compatibile con Lightbox.

 .