Kitto 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 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.
The client-side part uses ExtJS (through a customized version of the ExtPascal library) to create a fully AJAX application, allowing you to build standard and advanced data-manipulating forms in a fraction of the time.
Kitto includes a database-agnostic data-access layer, allowing to create applications that work on any database engine and port applications between database engines.
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:
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 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).
Technologies we use
Kitto works with different database servers. The first Kitto 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 Kitto.
A note for developers: Kitto is made in Delphi
(from XE3 version to lastest), 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.
We have released the full source code of the Kitto Engine under an Open Source license, plus a customized and enhanced version of ExtPascal. You can find the source code, a couple of full-fledges sample applications and the current documentation for the Open Source Kitto 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.
The Kitto Enterprise version is available to buy. It contains a commercial set of tools for developing Kitto applications, including Kide, an IDE with GUI wizards, automatic syntax checking and verification, database reverse engineering and so on. See the feature matrix.
You can download the latest stable version of Kitto, included a 90 days trial version of Kide IDE. You can download also a Setup to simplify the Web Server installation modules (Apache + ExtJS + FastCGI).
Download Kitto Setup (Kitto engine + Kitto Examples + Kide editor trial)
Download Kitto Server Setup (Apache 2.4 + ExtJS 3.4 + FastCGI)