Kitto2: Data-driven Web Toolkit per sviluppatori Delphi

Kitto2 è 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 C/S Delphi, che si sono tradizionalmente sentiti spesso “tagliati fuori” dallo sviluppo Web, sia per la vastità di standard, strumenti e tecnologie coinvolte, sia per la loro scarsa strutturazione (al contrario di Delphi), sia anche per il fallimento o la scarsa performance di strumenti che sono stati proposti insieme alle varie versioni di Delphi  al riguardo.

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 Kitto2 usa ExtJS 6.2 per creare un'applicazione interamente AJAX, permettendo di creare form di manipolazione dati standard e avanzate in poco tempo.

Kitto2 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 come ExtJS. Tuttavia, Kitto2 permette di operare a basso livello se necessario.

Kitto2 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 Kitto2 è 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 Kitto2, rispetto alla the prima versione sono:

  • La libreria ExtPascal è stata completamente rimossa
  • L'uso di Apache + FastCGI è stato sostituito dalla tecnologia WebBroker.
  • La libreria ExtJS 3 è stata sostituita con la ExtJS 6
  • Kide, l'IDE per kitto, è stato rilasciato sotto licenza Open-Source

 

Architettura di Kitto2

La struttura di un'applicazione Kitto2 è assimilabile ad una struttura MVC . Architetturalmente, i componenti del sistema dialogano secondo il seguente schema:

Kitto<sup>2</sup> Architecture

Gli elementi sono:

  • L' applicazione   __ , cioè l'eseguibile contenente il motore di Kitto2, 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 10.2 Tokio di Delphi.

  • Il server database  __ raggiungibile via DBX o ADO o FireDac - 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, Internet Explorer, Safari, Opera... su cui vengono utilizzate le librerie ExtJS6.2  per la gestione dell'interfaccia utente (ma non serve conoscere ExtJS nè Javascript per creare applicazioni Kitto2).

Tecnologie

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

Per chi sviluppa, il cuore di Kitto2 è realizzato in Delphi (da XE7 in poi) per Win32 o Win64 o Linux64. Un'applicazione Kitto2 può girare su piattaforma Windows o Linux. È possibile estndere Kitto2 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 Kitto2 non richiede la conoscenza di Delphi né skill da sviluppatore esperto.

Kitto2 è Open-Source su Git-Hub

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

Stiamo costantemente preparando documentazione ed esempi scaricabili.

Per provare alcuni esempi online, potete visitare il nostro demo server.

Kide2 l'IDE perfetto per le applicazioni Kitto

Dal Settembre 2017 anche Kide2 è disponibile con licenza Open-Source. Kide2 è l'IDE perfetto per le applicazioni Kitto, con una GUI avanzata, dotato di wizard per velocizzare lo sviluppo. Comprende funzioni avanzate come la verifica automatica di validità dei file di configurazione, reverse engineering del database, e altre funzioni per velocizzare lo sviluppo.

Apri la guida di Kide2

Download Kitto2 & Kide2 Setup

Download Kitto2 Setup (Kitto2 engine + Kitto2 Examples + Kide2 editor)

 

 

Ethea utilizza le tecnologie