Kitto: Data-driven Web Toolkit for Delphi developers

Kitto is a tool for data-driven web application Development.

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 Kitto 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.

Kitto Architecture

The structure of a Kitto 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 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 an instance of Apache  with the FastCGI module installed, and may reside on the same or a different machine (on any supported operating system).

  • The database server  __ accessed through either DBX or ADO - 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 Kitto applications.

Technologies we use

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

A note for developers: Kitto is made in Delphi (2010/XE for Win32, XE2 for Win32 and Win64). Currently, a Kitto application runs on Windows (not necessary a Windows Server platform) and uses Apache as the web server. In the future we may release versions that support other web servers such as IIS or other operating systems, depending on demand. You can extend Kitto at the source code level to achieve full customizability, but you should keep in mind that most application development tasks in Kitto do not require Delphi expertise.

Availability

We are in the process of producing documentation and downloadable examples. We are also releasing the source code of the Kitto Engine under an Open Source license, plus a customized and enhanced version of ExtPascal, so please check back soon.

In addition, we will release a commercial set of tools for developing Kitto applications, including an IDE with GUI wizards, sutomatic syntax checking and verification, database reverse engineering and so on.

Download and documentation

We have created a few demo Kitto applications, which we have previewed at the IT-DevCon 2011 and which will be made availabe in this site in a few days. The kit contains a small (Firebird) database and reference documentation that will help you better understand the architecture.


Ethea makes use of
these Technnologies