Kitto2: Data-driven Web Toolkit for Delphi developers

Kitto2 is a tool for data-driven web application Development. It allows to create Rich Internet Applications based on a data model that can be mapped onto any database.
It was born primarily to address the needs of Delphi Client/Server developers, traditionally left out of the web business because of the variety of technologies and standards involved, their lack of structure (compared to Delphi) and because of the poor performance or bad luck of web development technologies bundled with Delphi over the years.

The goal with Kitto2 is keeping on writing the application logic in Delphi, with top-level database support (on par to what is expected in a traditional C/S environment), and at the same time using flexible and rapid tools for describing the GUI of a rich browser-based client application.

The client-side part uses ExtJS 6.2 to create a fully AJAX application, allowing you to build standard and advanced data-manipulating forms in a fraction of the time.

Kitto2 is aimed at Delphi developers that need to create web application without delving into the intricacies of HTML, CSS, Javascript or learning to use a particular library such as ExtJS, yet it allows access to the bare metal if required.

Kitto2 includes a database-agnostic data-access layer, allowing to create applications that work on any database engine and port applications between database engines.

A Kitto2 application is described as a set of easily maintained YAML files, keeping definitions abstract and declarative and allowing for future extensions. Business rules are enforced either declaratively or through small javascript fragments on the client, or in Delphi code on the server.

The major differences of Kitto2, compared to the first version are:

  • ExtPascal library has been removed
  • Replacement of Apache + FastCGI with WebBroker technology.
  • Replacement of ExtJS 3 with ExtJS 6
  • Kide editor also released under Open-Source license

Kitto2 Architecture

The structure of a Kitto2 Application more or less follows the MVC paradigm. From an architecture standpoint, the components in the systems are connected to each other according to the following scheme:

Kitto<sup>2</sup> Architecture

The elements are:

  • The aapplication   __ , that is the Kitto-powered executable, that may include any Delphi libraries you might need and any Delphi-based business logic. To the web server, it behaves as an application server.

  • The web server __ is made using Delphi WebBroker technology, and may reside also on Linux using Delphi 10.2 Tokio.

  • The database server  __ accessed through either DBX or ADO or FireDAC - with the option of plugging in any other data access library - and that can run on the same or a different machine (again, on any supported operating system).

  • The web browser __ runs on the client machine and can be Firefox, Google Chrome, Internet Explorer, Safari, Opera... The ExtJS  library is used here to manage the GUI, but you don't need ExtJS or Javascript expertise to create Kitto2 applications.

Technologies we use

Kitto2 works with different database servers. The first Kitto2 applications we have developed work with Firebird , Microsoft SQL Server and any database supported by Microsoft's ADO and Embarcadero's DBExpress or FireDAC technologies. Plus, adding support for a new database type is quite easy in Kitto2.

A note for developers: Kitto2 is made in Delphi (from XE7 version to lastest), for Win32 and Win64 and Linux64.
Currently, a Kitto2 application runs on Windows or Linux platoform. You can extend Kitto2 at the source code level to achieve full customizability, but you should keep in mind that most application development tasks in Kitto2 do not require Delphi expertise.

Kitto2 is Open-Source on Git-Hub

We have released the full source code of the Kitto2 under an Open Source license. You can find the source code, a couple of full-fledges sample applications and the current documentation for the Open Source Kitto2 here.

We are constantly in the process of producing documentation and downloadable examples.

If you want to see some live demos, please go to our demo server.

Kide2 the perfect IDE for Kitto applicartions

From Semptember 2017, also Kide2 is available under OpenSource license! Kide2 is the perfect IDE for Kitto applications with GUI wizards, automatic syntax checking and verification, database reverse engineering and so on.

See the feature matrix.

Download Kitto2 & Kide2 Setup

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

 

Ethea uses these Technnologies