Semplifica e velocizza lo sviluppo e la manutenzione delle applicazioni, senza scrivere codice;
- è un sistema dichiarativo che richiede la semplice definizione di un modello, cioè di come e dove sono i dati, delle loro relazioni e delle regole per utilizzarli;
- riduce drasticamente la complessità separando e ‘nascondendo’ le tecnologie utilizzate, evitandone la conoscenza diretta e rendendole intercambiabili;
- consente di realizzare, in poche decine di minuti, prototipi perfettamente funzionanti che con pochi ritocchi, progressivamente, diventano applicazioni definitive;
- può essere utilizzato anche da persone senza una specifica preparazione allo sviluppo ma piuttosto e più utilmente con competenze relative alle materie oggetto delle applicazioni.
Migliora la gestione del ciclo di vita delle applicazioni e le attività del team di sviluppo;
- non è un generatore di codice statico ma un interprete dinamico di applicazioni: in altre parole non alimenta la crescita incontrollata del codice e i relativi problemi di gestione;
- è un ambiente ideale per l’utilizzo delle metodologie ‘agili’, consentendo un processo di sviluppo molto dinamico, rapido e progressivo;
- mantiene separati la logica applicativa dalla forma di presentazione consentendo di lavorare su una parte senza interferire sull’altra;
- consente il riutilizzo dei moduli sviluppati;
- è auto-documentante: l’essenzialità e la chiarezza dei costrutti è di comprensione immediata e costituisce già di per sé un documento di specifica completo;
- oltre ad essere uno strumento di lavoro è una metodologia che applicando i concetti della generalizzazione dei problemi, della costruzione modulare e dell’uso di pochi paradigmi generali utilizzati in molti e differenti contesti, indirizza lo sviluppatore verso un modo di lavorare virtuoso, più semplice e lineare.
Consente la razionalizzazione del sistema informativo;
- è complementare, non alternativo, ai sistemi informativi esistenti permettendo di integrarli facilmente con le funzionalità mancanti;
- permette di migrare applicazioni obsolete o non più gestibili, gradualmente e mantenendone le strutture dati;
- le applicazioni prodotte sono tra loro omogenee e coerenti, ed offrono un insieme di funzionalità generali completo e trasversale;
- le diverse applicazioni costituiscono nel loro insieme un sistema unitario ed integrato che cresce e si sviluppa nel tempo.
- aggiunge al sistema informativo funzioni di amministrazione applicativa: blocco di aree applicative, monitoraggio degli utenti e della rispettiva ‘posizione’ all’interno dell’applicazione, analisi dell’utilizzo orario, monitoraggio e notifica degli errori;
Rende accessibili informazioni di diversa origine, tipologia e localizzazione, adattandosi al contesto nel quale è calato;
- consente di accedere a database, file-system, mail server, web services, feed RSS, pagine web ed eventualmente anche applicativi specifici;
- non richiede esportazioni/importazioni di dati e relativi aggiornamenti; le informazioni sono lette e aggiornate direttamente alla fonte, quando necessario;
- le applicazioni possono accedere simultaneamente a molteplici fonti di dati e, stabilendo delle relazioni tra esse, realizzare una ‘integrazione’ applicativa dei dati.
Permette l’utilizzo di molteplici dispositivi in differenti scenari;
- è adattivo: la medesima applicazione ‘risponde’ ai differenti dispositivi (personal computer, smartphone, tablet) adattandosi alle relative capacità, sfruttandone le funzionalità supportate e limitando quelle mancanti;
- esistono diverse versioni che, a partire dal medesimo modello, consentono di ottenere piattaforme applicative adatte ai vari scenari di utilizzo.
Ha un’architettura tecnologica aperta e in continua evoluzione;
- è pensato per arricchirsi in modo continuo di nuove possibilità (funzioni applicative, tipologie di dati, paradigmi di accesso, dispositivi di fruizione delle applicazioni) e per incorporare progressivamente le tecnologie che nel tempo si rendono disponibili: essendoci la totale separazione tra l’applicazione (o meglio il suo modello) e l’interprete che rende le applicazioni, quest’ultimo può essere corretto, migliorato e integrato con nuove funzionalità e tecnologie che possono essere, immediatamente e con minimo sforzo, acquisite non solo dalle nuove applicazioni ma anche da tutte quelle precedentemente sviluppate;
- si basa su tecnologie e protocolli standard, preferibilmente non proprietari e open: tale scelta garantisce elevata qualità, apertura e minimizzazione dei costi;
- è multi piattaforma (funziona su tutti i sistemi operativi), si adatta ai diversi ambienti infrastrutturali e necessita di requisiti hardware e di sistema minimi;
- è customizzabile ed integrabile con altri sistemi;
- può essere utilizzato come strumento di sviluppo per CED aziendali, software house, sviluppatori indipendenti o come componente tecnologica di base per singoli progetti.