| I programmatori C++ che non si sono mai occupati di sviluppare Web Application saranno molto felici di venire a conoscenza di un framework, che consente di sviluppare un sito web interamente con codice C++. Si tratta di Wt (ovvero un C++ Web Toolkit) ed è distribuito con licenza open source GPL. Il requisito fondamentale per scrivere moderne applicazioni web tramite questa libreria è conoscere lo stile di programmazione delle interfacce grafiche.
Dalla prospettiva del programmatore le API Wt sono molto simili a quelle messe a disposizione da altre librerie grafiche, come ad esempio Qt, Gtk e wxWidgets. Al contrario di queste ultime, però, anziché avere come risultato finale della compilazione finestre gestite da un server grafico, come ad esempio X11, o dal sistema operativo stesso, la libreria Wt crea le finestre all'interno dei web browser.
L'obiettivo dichiarato della libreria consiste nel nascondere le tecnologie web sottostanti (HTML, AJAX, XML, CGI, JavaScript e DHTML); la libreria è in grado di scegliere la creazione dell'interfaccia grafica e di gestire la sessione in base alle caratteristiche supportate dal browser, adattandosi alle feature del browser stesso.
Gli eventi lato client, come ad esempio i clic, i movimenti del mouse e le operazioni di copia e incolla, sono convertiti in maniera trasparente in eventi lato server, tramite il meccanismo signal/slot messo a punto dagli sviluppatori della libreria. Un'altra peculiarità del framework consiste nel meccanismo di traslazione del codice C++ dinamico in codice JavaScript, che consente di evitare lunghi ritardi dovuti al roundtrip (ovvero il tempo di andata e ritorno dei pacchetti) per semplici aggiornamenti della pagina.
Il motore di rendering delle Wt di solito fa largo uso di AJAX per gestire gli aggiornamenti sull'albero delle finestre; ciò non preclude il funzionamento delle applicazioni su browser, che non implementano (o hanno disabilitato per motivi di sicurezza) AJAX e JavaScript in quanto l'applicazione si adatta al browser. Inoltre facendo uso solo di un’API di livello-finestre, la libreria può garantire protezione contro i più comuni attacchi cross-site scripting (XSS), tramite built-in e filtraggi automatici delle stringhe visualizzate.
Infine, essendo una libreria nativa C++, le applicazioni web create tramite le Wt tipicamente possono beneficiare di una maggiore efficienza rispetto alle soluzioni Java e Ruby. Per tale motivo la libreria potrebbe risultare utile nello sviluppo di applicazioni per dispositivi embedded.
|