bootstrap

Voci categorizzate come ‘extjs’

Finalmente la release ufficale di Ext 2.0

Dicembre 4, 2007 · 2 Commenti

untitled-1.gifEra ora ! Con quasi un mese di ritardo rispetto alle previsioni e’ finalmente uscita la versione definitiva della libreria JavaScript ExtJS 2.0.

Con le sue innovazioni, principalmente architetturali, rappresenta un grande passo avanti nella direzione di rich Internet application veramente complete e moderne.
In questa release migliora l’organizzazione del codice (in senso OO), la documentazione, le performance, la facilita’ di programmazione. In particolare tra le tante novita’ ho apprezzato il nuovo modello a componenti/container per l’interfaccia utente, molto piu’ object oriented del passato (ancora piu’ ispirato probabilmente agli usuali framework UI delle piattaforme Java e .NET).

Aumentano le funzionalita’ e i widget; da segnalare le griglie con raggruppamenti e totali, gli scrolling tabs (finalmente!), il layout di tipo anchor che permette appunto di ancorare i widget ad esempio ad un lato della form e tantissimo altro.
Consigliabile dare uno sguardo all’impressionante sample Desktop Sample App che getta le basi per un vero e proprio sistema operativo “remoto”.

Io e i miei colleghi stiamo studiando questo framework ormai da diversi mesi e lo stiamo utilizzando per lo sviluppo di una applicazione abbastanza imponente. Si tratta di un applicativo gestionale per l’organizzazione del lavoro di aziende che effettuano la raccolta differenziata dei rifiuti. Per chi e’ curioso ho pubblicato una demo molto preliminare. Ovviamente la libreria ExtJs 2.0 e l’approccio total AJAX ha un ruolo importantissimo: ci permette di realizzare software web based, con tutti i vantaggi che ne comporta, ma con look&feel simile ad un software desktop. In passato sviluppavamo applicazioni di questo tipo usando l’approccio tradizionale: PHP che genera normali pagine xhtml con form etc. Per quanto questo approccio vada benissimo per applicazioni specifiche e orientate ad Internet (ad es. un CMS o simile) e’ deleterio per lo sviluppo di applicazioni gestionali, soprattutto se si abbracciano metodologie agili che prevedano la prototipizzazione rapida: troppi dettagli di controllare. Una libreria di alto livello permette di astrarsi dei mille problemi dell’interfaccia utente e concentrarsi sulle business rules e sull’usabilita’ complessiva.

Posso tranquillamente affermare che Ext ha cambiato il modo di lavorare del nostro team in relazione a questo tipo di progetti aumentando di molto la produttivita’; per questo motivo sto investendo grandi energie nello studio di questa libreria. E si.. bisogna dire le cose come stanno: ExtJS e’ una libreria piuttosto vasta e complessa e ha di conseguenza una learning curve un po’ impegnativa, senza contare che necessita la perfetta comprensione di JavaScript cosa non scontata, ma e’ tempo ben speso. Dopo un po’ si incomincia a capire il modo corretto per affrontare qualsiasi problemi e si incomicia ad andare molto spediti…

Ovviamento Ext e’ una libreria client, il lato back office bisogna svilupparselo da se’ o trovarlo in rete, non importa in quale linguaggio o con quali strumenti: Ext e’ neutrale rispetto alla tecnologia lato server. Io ad esempio uso un framework PHP+MySQL sviluppato internamente, tutte le comunicazioni avvengono tramite JSON etc, ma volendo e’ possibile usare ad esempio ASP.NET con XML o qualsiasi altra cosa assurda vi venga in mente.

In definitiva consiglio vivamente Ext 2.0 a chiunque abbia bisogno di sviluppare, per lavoro o per hobby, applicazioni AJAX di qualsiasi grado di complessita’, in particolare modo se di tipo business/gestionale, purche’ abbia un po di tempo da investire nel suo apprendimento.

Categorie: extjs · javascript · php

ExtJS: un framework JavaScript

Settembre 14, 2007 · 2 Commenti

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:

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 !

Categorie: extjs · framework · javascript