KittoX: Data-driven Web Framework per sviluppatori Delphi

è uno strumento di sviluppo per applicazioni Web data-driven. Consente la creazione di RIA (Rich Internet Applications) basate su un modello dati che può essere mappato su qualunque database.

È nato in particolare per gli sviluppatori Delphi di applicazioni gestionali Client/Server che non hanno molta dimestichezza con lo sviluppo Web, sia per la vastità di standard, strumenti e tecnologie coinvolte, sia per la loro scarsa strutturazione (al contrario di Delphi.

L’obiettivo è continuare a scrivere la logica applicativa in Delphi, poter contare su un supporto all’accesso ai dati al livello di quanto sempre offerto in area C/S, avere strumenti veloci e flessibili per descrivere l’interfaccia utente di un’applicazione sofisticata che girerà lato client nel browser.

La parte client di KittoX sfrutta la moderna tecnologia HTMX per creare un’applicazione interamente AJAX, permettendo di creare form di manipolazione dati standard e avanzate in poco tempo.

KittoX si rivolge a sviluppatori Delphi che hanno bisogno di creare applicazioni web senza doversi districare tra HTML, CSS, Javascript o dover imparare ad usare una specifica libreria cliente. Tuttavia, KittoX permette di operare a basso livello se necessario.

KittoX include un layer di accesso ai dati indipendente dal tipo di database, per la creazione di applicazioni che funzionino con qualunque database, e il porting di applicazioni tra database diversi.

Un’applicazione KittoX è descritta da un insieme di file YAML di semplice manutenzione, che hanno il vantaggio di mantenere le definizioni astratte e dichiarative e consentono l’estensione futura. Le regole applicative sono stabilite sia in maniera dichiarativa o attraverso frammenti di codice Javascript (sul client) o Delphi (sul server).

Le maggiori differenze di KittoX, rispetto alle precedenti versioni di Kitto sono:

  • La rimozione di qualsiasi dipendenza con libreria client ExtJS
  • Ottimizzazione delle performances grazie ad HTMX
  • Utilizzo di icone Material-Design SVG
  • Possibilità di personalizzare Temi (chiaro/scuro) con colori custom e font
  • Possibilità di utilizzare librerie avanzate per Dashboard, Grafici, Calendar… (disponibili con licenza AGPL)

Architettura di KittoX

La struttura di un’applicazione KittoX è descritta in questo schema.

L'applicazione

Cioè l’eseguibile contenente il motore di KittoX, le librerie server selezionate e la business logic. Rispetto al web server, si comporta come un application server.

Il Server Web

Implementato con la tecnologia WebBroker di Delphi che può essere installato anche in Linux utilizzando la versione Delphi dalla 10.4 alla 13.1.

Il Server Database

Raggiungibile via FireDac (default) DBX o ADO – con la possibilità di integrare altre librerie di accesso ai dati – e che può risiedere anch’esso su un’altra macchina e qualunque sistema operativo supportato.

Il Browser Web

Che sta sul lato client e che può essere Firefox, Google Chrome, Edge, Safari, Opera… su cui vengono utilizzate le librerie client, in particolare HTMX per la gestione dell’interfaccia utente (ma non serve conoscerele per creare applicazioni KittoX).

Destop Embedded

Con la nuova modalità “Desktop Embedded” è possibile anche sviluppare una applicazione Windows Desktop come avviene con Electron, una finestra che incorpora WebView2.

Tecnologie

KittoX funziona con diversi motori di database. Le applicazioni fino ad ora create con KittoX lavorano con Firebird , Microsoft SQL Server, Oracle e con tutti i database supportati dalle tecnologie FireDAC di Embarcadero, ADO di Microsoft e DBExpress. L’aggiunta del supporto per un nuovo database è un’operazione semplice e rapida in KittoX.

Per chi sviluppa, il cuore di KittoX è realizzato in Delphi per Win32 o Win64 o Linux64. Un’applicazione KittoX può girare su piattaforma Windows o Linux. È possibile estendere KittoX a livello di sorgente per ottenere un livello di personalizzazione totale; va comunque tenuto presente che buona parte delle attività necessarie a creare un’applicazione con KittoX non richiede la conoscenza di Delphi né skill da sviluppatore esperto.

Il motore di KittoX è Open-Source su Git-Hub

Abbiamo rilasciato il motore di KittoX, comprensivo di tutti i sorgenti, sotto licenza Open Source. Il codice, la documentazione e gli esempi sono disponibili qui.

Tutta la ricca documentazione di progetto con esempi e reference per sviluppatori è disponibile on-line qui.

Live Demo

Per provare alcuni esempi online, potete visitare la pagina delle demo.

Alcuni screen-shot della demo “TasKitto”: dashboard, menu, fuzioni, ricerca sui dati, elenco, tools di download…

Maschera di input con layout:

Riepilogo dati con grafico dinamico:

KittoX Enteprise con KIDEX: l'IDE perfetto per le applicazioni Kitto

La suite professionale di KittoX Enterprise contiene il motore KittoX e un potente editor per sviluppare le applicazioni con KittoX, dal nome KIDEX (KittoX IDE), oltre al modulo per integrare ReportBuilder e Flexcel.

KIDEX è l’IDE per lo sviluppo rapido di applicazioni Kitto. KideX è in grado di generare i file di modello dei dati per KittoX partendo dalla struttura del Database, ma non solo: i wizard e gli editor integrati facilitano la definizione dei file YAML necessari alla costruzione di una applicazione Kitto e guidano lo sviluppatore nel conoscere le opzioni  disponibili.

Il modulo KittoEntX contiene tutti i tool già pronti per integrare il famoso motore di generatore di report “ReportBuilder” (di proprietà di Digital Metaphors) all’interno di una applicazione Kitto e il supporto a Flexcel (di proprietà di TMS) per l’esportazione di report in Excel.

Apri la guida di KideX

KittoX Enteprise disponibilità e prezzi

Per soddisfare tutte le diverse esigenze dei nostri clienti, proponiamo Kitto Enterprise Framework(R) in diverse configurazioni e moduli aggiuntivi, e lo accompagniamo con una serie completa di servizi di consulenza, formazione e supporto.

Per i prezzi delle licenze e i servizi di formazione e consulenza,  contattare il supporto di Ethea.