Chiunque sviluppi applicazioni AJAX sa che è fondamentale dotarsi al più presto di un buon framework JavaScript come ad esempio jQuery, Prototype o YUI; in questo modo abbiamo a disposizione un ambiente consistente e facile da programmare, le innumerevoli piccole differenze tra i browser spariscono, si possono utilizzare effetti grafici quasi all’altezza di Flash etc.
La libreria ExtJS sviluppata dal vulcanico (in termini di produttività…) Jack Slocum e’ tutto questo ma e’ anche qualcosa in piu’: propone un ambiente di sviluppo completo di quasi tutti i componenti presenti nelle normali applicazioni desktop. Possiamo contare su griglie, menu, dialog box, bottoni, finestre, tree, tab panel e tanto altro. Penso che nulla più di qualche esempio possa rendere l’idea:
- Screencast “What Ext JavaScript Library is all about”
- Examples & Demos
- Esempi della versione 2.0 preview (che però non è ancora scaricabile)
Da circa un mese sto studiando questa libreria e posso dire che è veramente interessante e per certi versi rivoluzionaria rispetto al parco di librerie presenti in Rete. Partita come semplice estensione della YUI dalla quale dipendeva strettamente (all’inizio si chiamava YUI-Ext) ora è totalmente indipendente. Da non molti mesi è inoltre arrivata ad un certo grado di maturità (adesso la versione stable è la 1.1.1) ed è in lavorazione la 2.0 che pare uscirà tra non molto, diciamo prima di Natale.
Pro:
- Licenza Open Source LGPL
- Molto potente: diciamo che con un po’ di impegno è possibile sviluppare software che assomigliano notevolmente come aspetto e funzionalita’ ai programmi desktop scritti in Java con Swing oppure .NET WinForms.
- Ben strutturata: il sorgente è complesso ma immediatamente comprensibile, spesso vengono utilizzati design pattern etc. e best practices dello sviluppo software.
- I temi grafici sono intercambiabili e tutti molto curati.
- Discreti esempi e tutorial
- Compatibile con YUI, Prototype o jQuery
Contro:
- Estremamente pesante: quasi 1MB tutto compreso. Questo la rende molto più adatta per lo sviluppo delle cosiddette RIA (Rich Internet Application) anziche’ normali siti. Ad esempio io la sto usando per sviluppare un gestionale piuttosto complesso: magari in futuro posto qualche screenshot.
- La curva di apprendimento è inizialmente molto ripida, anche se dopo un po’ il tutto diventa più chiaro
- La documentazione non è perfetta e spesso decisamente carente; ma è comprensibile essendo questo un progetto molto giovane.
- Qualche problema di prestazioni con le griglie: sono estremamente pesanti… ma comunque tollerabile.
Alternative:
- Interessante e per certi versi molto simile a ExtJs l’impronunciabile Qooxdoo
In ogni caso ExtJS e’ assolutamente da provare !
Come posso loclaizzare in italiano i componenti?
Per esempio i tasti Yes, No, Cancel… dei MessageBox o i calendari
Ciao, devi includere l’apposito script (dopo ext-all.js):
ext2/source/locale/ext-lang-it.jsE’ sempre stato un prodotto troppo pesante per fare applicazioni web ma ha dei widget veramente straordinari.
Se la curva di apprendimento è ripida il risultato è: molta conoscenza in poco tempo. Se dopo diventa più chiaro … è ancora meglio !!!