Il web 2.0 è divertente perché è interattivo, orientato all’utente e graficamente accattivante; ci permette di interagire con altri utenti o di collegare tra loro diversi servizi e strumenti web. Facebook, Twetter, Fickr, Youtube, Blogger, Yahoo, Ebay, FeedBurner, Last.fm, Amazon, PageFlakes, TinyURL, …. l’elenco è davvero lunghissimo.
Questa evoluzione della grande rete è avvenuta per diversi motivi: per effetto della concorrenza agguerrita tra i grandi protagonisti dell’informatica e non solo, per il progredire dei browser sempre più veloci e potenti nel supportare i dialetti del web, per il costante potenziamento ed evoluzione dei linguaggi che ruotano intorno al mondo del web con javascript in testa e, infine, perchè nel corso degli anni sono stati sviluppati dei validi strumenti per velocizzare la creazione di sistemi d’interazione con il web.
Proprio in quest’ultimo caso ricadono i framework javascript, degli strumenti software per velocizzare la scrittura di codice per rendere gli elementi delle pagine web interattivi e dinamici. Alcuni di questi si limitano all’interazione con gli oggetti DOM della pagina HTML, mentre altri hanno anche possibilità di gestirne l’aspetto, con effetti di dissolvenza, menù a tendina che si srotolano, scrolling “morbidi”, ecc…
In queste poche righe, vi presenterò:
Intro
Ext JS nasce per rendere lo sviluppo delle interfacce grafiche di web application più comodo e rapido possibile. Questa libreria, ricchissima di funzionalità, permette, con poco codice, di inserire nella propria pagina, oggetti comuni delle interfacce grafica di tipo applicativo desktop, anche molto avanzate, come layout, finestre, tab, form dinamiche, toolbars, combo, menu, tree, griglie o liste (le grid) di dati, …. e di aggiungere funzionalità di drag&drop, effetti di vario tipo e, non ultimo, una comoda interazione con il server.
Se volete vedere quanto è potente questa libreria, vi basti pensare che questo splendido (e complesso) web-desktop è stato realizzato con solo 1.000 riche di codice. Per vedere altri esempi, consultate l’apposita pagina.
Punti di forza
Questa libreria, framework, o foundation, a seconda di come di preferisce definirla, ha molte peculiarità che la rendono, in qualche modo, unica e particolare.
Ciò che distingue maggiormente Ext JS dalle altre librerie è la possibilità di creare interfacce grafiche avanzate, in stile applicativo desktop, con poche linee di codice (come ho appena detto). Quiesta libreria si basa su Ext Core che implementa i metodi di base d’interazione con gli oggetti DOM della pagina; originariamente nata come estensione di YUI, ha poi preso una propria strada.
Una funzionalità molto importante, è la presenza di numerosi adapters; così, se volete integrare nei vostri progetti alcuni oggetti di Ext JS ma utilizzate già jQuery (o Prototype o YUI), nessun problema: potete continuare ad utilizzarla, sarà sufficiente includere, tra le vostre librerie, l’adattatore ad Ext JS; l’adattatore funzionerà, potremmo dire, in sostituzione di Ext Core. Molto utile alla portabilità.
L’integrazione e la collaborazione con i più moderni strumenti web sembrano essere prioritari per gli sviluppatori: sul sito infatti si trovano due esempi che spiccano su tutti, l’utilizzo integrato con Adobe Air e Google Gears per lo sviluppo di web application di ultima generazione.
Tra le particolarità, infine, vorrei citare il porting, denominato Ext GWT di questa libreria in ambiente Java per creare, così, applicativi on-line con un linguaggio di programmazione ad oggetti; gli widget sono gli stesso della versione javascript ma più veloci perché non dipendenti dal browser e dalle sue performance, ma dalla JVM.
Licensing
Il tipo di licenza scelta, spinge all’utilizzo della libreria in modo Open Source; infatti il suo utilizzo è legato ad una doppia licenza. Se infatti viene utilizzata in prodotti proprietari, si deve corrispondere un pagamento per la licenza di utilizzo; altrimenti, se impiegata all’interno di un progetto rilasciato con una licenza libera, la si può utilizzare senza dover pagare nulla. Bella iniziativa ! Traggo dal sito:
Ext JS is an avid supporter of open source software. This is the appropriate option if you are creating an open source application with a license compatible with the GNU GPL license v3.
Chi ben comincia…
Ho iniziato da poco ad utilizzare Ext JS, quindi sono fresco di esperienza da “primo impatto”. Se lo gradite, posso darvi qualche suggerimento per perdere meno tempo possibile.
Quello che subito salta all’occhio è che, se si desidera iniziare a fare codice, di caratteristiche, parametri e funzionalità ce ne sono fin troppi. Non fraintendetemi, è sicuramente un pregio che sia così… però all’inizio ci si perde in questo mare magno e si resta disorientati.
Il mio suggerimento è: innanzitutto avere una buona conoscenza di HTML, Javascript e CSS. La sintassi in stile JSON la si può imparare strada facendo perché è piuttosto semplice. Con tale background, il primo passo che suggerisco è di seguire alcuni tutorial: potete farlo acquistando un buon libro (questo il sito ufficiale) oppure utilizzando quelli pubblicati nel sito dagli utenti: sono fatti piuttosto bene. Altre risorse potete trovarle qui. …ovviamente è tutto in inglese…
Dopo aver imparato le basi, iniziate con il vostro codice. Tenete sempre aperto il sito del framework nella sezione documentazione ma, più che alla sezione API Documentation (che trovo sinceramente un po’ troppo scarna nelle spiegazioni), fate riferimento alla sezione Community Learning Center e, in particolar modo, alla sezione FAQ, molto ben fatta: questa vi risolverà un buon numero dei primi problemi che incontrerete.
Considerazioni personali
Il primo impatto con Ext JS è di notevole effetto.
Scorrendo la sezione demo del sito, si viene immediatamente abbagliati dalle possibilità e dalla ricchezza di questo strumento. E’ effettivamente una libreria ben fatta: siamo giunti ormai alla versione 3.0 ed Ext JS inizia a raggiungere una maturità e una solidità notevoli.
Il suo essere cross-browser è un notevole pregio (gira abbastanza bene anche su Konqueror, anche se non perfettamente) e tutti gli sviluppatori web sanno quanto sia difficile realizzare pagine che siano correttamente ed identicamente visualizzate e funzionanti sui maggiori browser in circolazione.
Il primo utilizzo, comunque, non è così semplice da non dovervi impegnare per un paio di giorni… giusto il tempo di capire i meccanismi di base e sperimentarne il funzionamento. Però, una volta preso il via, è un validissimo strumento. Vista l’attuale potenza dei processori, compresi quelli dei subnotebook , spostare i calcoli sul client e minimizzare le richieste al server è un’ottima cosa. Per chi era abitualto allo script PHP che creava tutta la pagina… bhè, qualcosa da rivedere nel creare applicazioni interamente Ext JS e interattive c’è…. però ne vale la pena.
Browser dichiarati per supportati
Sul sito viene dichiarata la compatibilità con i maggiori web browser, tra cui:
- Internet Explorer 6+
- FireFox 1.5+ (PC, Mac)
- Safari 3+
- Opera 9+ (PC, Mac)
Risorse correlate
- un’ottima panoramica sui framework javascript si trova in questa pagina del noto sito-risorsa html.it
- alcune dritte per iniziare ad orientarsi nel mondo dei framework javascript (in inglese) le trovate qui
Framework maggiori
Questi che seguono sono i framework più utilizzati che ho trovato nella rete. Non intendo dire che sono perfetti in ogni loro aspetto. ma hanno sicuramente almeno un grande pregio che li rendono speciali: velocità, qualità, leggerezza, numero di funzioni…. troverete sicuramente quello che fa per voi:




