Vantaggi

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.