TeamMosaico

martedì, aprile 11, 2006

MosaicoX2 e la nuova sfida del WEB 2.0

L'uso dell'interfaccia WEB è cambiato notevolmente grazie a due fattori: XHTML e AJAX. Il primo è semplicemente uno standard di linguaggio per definire le interfaccie WEB ma rispetto al vecchio HTML ha la peculiarità di essere estensibile ed omogeneo, favorendo così la possibilità di modellarlo a runtime mediante varie tecniche di programmazione. AJAX rappresenta una vera e propria svolta nella progettazione delle pagine WEB dato che permette di aggiornare parte della pagina senza necessariamente doverla “ricaricare” integralmente dal server, il che si traduce in maggior velocità e maggiore dinamicità delle interfaccie WEB.
XHTML unito ad AJAX fornisce agli sviluppatori la possibilità di creare pagine WEB ancora più dinamiche e applicazioni più leggere e veloci, con conseguente miglioramento dell'iterazione uomo macchina.
Senza entrare nei dettagli tecnici in merito ad AJAX per il quale si trovano miriadi di siti tecnici molto completi, aggiungo che costruendo procedure PHP che vengono richiamate da AJAX otteniamo un connubio di tecnologie leggere ma potenti.
Quando abbiamo pensato a MX2 avevamo accumulato abbastanza esperienze nel settore applicazioni WEB e avevamo ben chiaro un concetto: molti stanno portando le loro applicazioni dalle LAN aziendali al WEB quindi sono necessari sistemi di sviluppo flessibili e leggeri per poter costruire diverse applicazioni in poco tempo. Esiste anche un altro “problema”, quello che si verifica normalmente quando si scrivono applicazioni WEB in PHP: il codice PHP si mescola con il codice HTML, questo porta problemi quando il codice deve essere manutenzionato e modificato per aggiungere nuove funzionalità.
Per questo motivo nasce la tecnologia MoasXMLObjects di TeamMosaico che permette di scrivere applicazioni WEB estensibili e che rispettano il modello di sviluppo MVC, che prevede che il codice di comportamento e la definzione delle interfacce siano sempre e comunque separati.
La tecnologia MoasXMLObjects prevede la costruzione di oggetti XML che definiscono l'interfaccia dell'applicativo, per ogni oggetto XML è possibile avere una controparte PHP che ne gestisce il comportamento dove vanno instaurate le logiche di funzionamento. Sarà poi possibile puntare a parti dell'oggetto XML dal codice PHP per poterlo modificare a runtime definendo il comportamento dell'interfaccia in relazione alle iterazioni con l'utente.
Fino a qui poco o niente di nuovo se non avessimo inserito nella nostra tecnologia un concetto di “estensione” degli oggetti XML. Questo significa che una volta definito un oggetto è poi possibile integrarlo ed estenderlo in altri oggetti che ne erediteranno forma e comportamento. Partendo da questo concetto possiamo arrivare al punto di costruire tante micro applicazioni che funzionano già singolarmente ma che possano poi essere integrate ed estese in altre applicazioni. La novità non stà tanto nel fatto che ciò sia possibile ma nel fatto che sia possibile farlo con oggetti scritti in XML. Oggetti scritti in XML sono semplici da leggere “ad occhio nudo” e da modificare con un qualunque editor di testo. Sono “autodescriventi” e per questo permettono una semplice manutenzione del codice, sono “portabili” perchè indipendenti dalla piattaforma.
Partendo da questa nuova tecnologia è possibile quindi sviluppare diverse tipologie di applicazioni in maniera rapida e “pulita”.

Il sito ufficiale della comunità di sviluppo per MosaicoX2 è questo:
http://www.teammosaico.biz/opensource/flat/index.php

A questo link potrete scaricare una versione aggiornata degli xmlobjects. Ci sono alcune applicazioni di esempio da studiare che vi permetteranno di capire meglio come funzionano.