Mavo è un progetto Open Source finalizzato a proporre un nuovo approccio per la creazione di Web application; sviluppato presso il MIT CSAIL esso consente di convertire pagine HTML statiche in applicazioni reattive, senza la necessità di intervenire direttamente sul codice e senza dover utilizzare un backend server. Tecnicamente non si tratta quindi di uno static site generator, come per esempio Jekyll, ma di una soluzione completamente browser based (o quasi).
Mavo consente di effettuare lo storage dei dati in remoto, sul Cloud, o localmente, ma permette anche di non abilitare queste due opzioni ricorrendo alla configurazione dell'attributo HTML mv-storage; quest'ultimo accetta come parametro un URL verso la risorsa Cloud con cui interagire o la parola chiave local:
Abilitata l'opzione per lo storage locale.
La libreria è stata implementata con lo scopo di estendere la sintassi HTML per la descrizione di Web App in grado di gestire, archiviare ed elaborare dati. Per utilizzarla è sufficiente invocare il file JavaScript e il foglio di stile CSS messi a disposizione direttamente dal server dello sviluppatore. Prima di procedere con l'inclusione si potrà scegliere se utilizzare o meno la versione minificata del file JavaScript, se supportare o meno i browser Web più datati e se utilizzare o no l'ultima versione rilasciata.
Mavo offre di default il supporto per l'upload di file multimediali sul proprio sito Internet, procedura che potrà essere eseguita anche tramite Drag & Drop. E' poi possibile eseguire calcoli anche complessi grazie al supporto per le espressioni che viene fornito direttamente tramite HTML, senza la necessità di ricorrere a iniezioni di codice JavaScript:
Valore slider: [strength]/100
I dati possono essere modificati direttamente dal frontend, mentre l'accessibilità dei contenuti è garantita dal supporto per l'interazione tramite tastiera e screen reader. L'architettura del progetto è fondamentalmente modulare, caratteristica che consente di estendere le funzionalità di base tramite plugin.
Via Mavo