|
Home/La tecnologia RD
Instant Developer è un sistema di sviluppo consolidato: le prima versione risale al 2000, quando le applicazioni web erano ancora molto simili a semplici form di inserimento dati.
Da allora è stata fatta molta strada. Sono stati creati diversi motori di renderizzazione dell’interfaccia utente, in modo da rendere le applicazioni sempre più interattive e complete.
All’inizio del 2003 è stata creata la tecnologia RD (Rendering Differenziale) capace di eliminare la necessità di ricaricare le pagine e quindi di minimizzare l’interscambio delle informazioni fra browser e server. Il meccanismo di funzionamento di RD era praticamente uguale a quello che oggi si ottiene con AJAX (UpdatePanel): una parte della pagina veniva sostituita con un codice HTML generato dal server. Solo che già allora la definizione delle zone e i meccanismi di aggiornamento erano totalmente automatici e funzionavano senza che i programmatori dovessero preoccuparsene.
All’inizio del 2006 è stata resa disponibile in In.de la tecnologia RD2. Le zone di aggiornamento potevano scalare sino al singolo campo della form, ottenendo applicazioni interattive come quelle client-server, anche se l’esperienza utente non era ancora paragonabile a quella di applicazioni desktop, come ad esempio Excel. L’aspetto più interessante di questo passaggio è stato che le applicazioni precedenti diventavano immediatamente più interattive e piacevoli da usare senza che i programmatori dovessero cambiare nemmeno una riga di codice.
Dopo altri tre anni di lavoro, all’inizio del 2009, In.de ha incluso la terza versione del motore di rendering differenziale (RD3), in cui vengono nuovamente superati tutti gli standard prestazionali, avvicinando l'esperienza utente delle applicazioni RIA a quelle desktop. Il tutto è stato ottenuto ancora una volta senza perdere la compatibilità con i progetti precedenti, che quindi possono godere di questo salto tecnologico senza costi di aggiornamento.
Le caratteristiche principali di RD3
- Comunicazione fra client e server basata solo su XML over HTTP. Il server non deve più generare codice HTML perché il browser, leggendo il file XML, è in grado di realizzare l’interfaccia autonomamente grafica e di gestirne i comportamenti. Questo garantisce una vera indipendenza dell’applicazione dal dispositivo di rendering.
- Applicazioni Cross-Browser NPE (Near-Pixel-Equivalent). La libreria javascript di renderizzazione è pensata per ottenere una vera equivalenza grafica e di comportamento delle applicazioni, che risultano così identiche sui vari browser supportati (IE6+, Firefox 3+, Safari 3+, Chrome 1+).
- Minima comunicazione fra client e server. Le caratteristiche della libreria javascript di gestione dell’interfaccia minimizzano il numero di comunicazioni browser-server, che sono limitate agli eventi non gestibili in autonomia dal browser. Le comunicazioni sono sintetiche e possono essere contenute tutte in un unico pacchetto TCP. I dati trasferiti vengono inoltre memorizzati in una cache temporanea per ridurre ulteriormente il traffico. Solo così è stato possibile ottenere griglie con live scrolling come quelle esemplificate qui.
- Applicazioni a interattività scalabile. Lo strato di comunicazione browser-server analizza lo stato della linea internet (banda passante, tempo di attraversamento, pacchetti persi, ecc.) e lo stato di occupazione del server in modo da garantire il massimo dell’interattività all’utente in base alle risorse disponibili.
- Sicurezza By Design: la natura dei meccanismi di interscambio dati rende impossibile la penetrazione a livello applicativo. Questa caratteristica è stata testata tramite sistemi che simulano i più diffusi metodi di intrusione. Al contrario da quasi tutte le applicazioni codificate manualmente con Visual Studio o Eclipse mostrano vulnerabilità se sottoposte agli stessi test.
- Libertà di personalizzazione. La libreria javascript è in codice sorgente visibile, ben commentato ed è concepita per essere modificata. L’aspetto grafico e i comportamenti dell’applicazione possono essere quindi riprogrammati senza che il server nemmeno se ne accorga. Basta conoscere un po’ di javascript e il gioco è fatto, perché RD3 è di gran lunga più semplice da modificare rispetto ad altri tipi di librerie grafiche, come ad esempio ExtJS, JQuery o MooTools.
|