Skip to content

Kittox at a glance

Kittox is a Delphi framework for building data-driven web applications. It combines a server-side engine written in Delphi with a modern client based on HTMX and server-generated HTML, allowing Delphi developers to create rich web interfaces without writing JavaScript.

The following diagram shows the overall architecture:

Kitto Architecture

Kittox might be the right tool for you if:

  • You need to create a web front-end for a database with many tables;
  • You want a rich user interface with search, filtering, grouping, charts, and more;
  • You prefer to write your server-side business rules in Delphi;
  • You need to deliver it rapidly;
  • You want to do it with Open Source tools.

If some or all of the above conditions are met, then a closer look at Kittox is in order.

A closer look

Kittox is an engine for creating data-driven web applications. This means that Kittox offers tools to ease the creation of applications that display and allow to manipulate data stored in a database. It is made in Delphi, and it is mainly aimed at Delphi developers not wanting to learn the intricacies of HTML, CSS and Javascript but wanting to get the job done quickly.

As such, Kittox is not a general-purpose tool for creating web sites.

Kitto Detailed Architecture

A Kittox application is based on a set of text files in yaml format called the Metadata. Metadata contains the mapped database objects (Models), the user interface descriptions (Views and Layouts) and the general configuration parameters such as database connection. A Kittox application may as well contain business rules and controllers (custom user interface elements) written in Delphi.

Kittox roughly follows the MVC paradigm for data presentation.

Kittox offers the following features for application development:

  • Scalable 3-tier architecture.
  • Extensible metadata catalog based on yaml files.
  • Database-agnostic data access.
  • Modeling of database objects through Models.
  • Server-side store with record state tracking, transactional master-detail saving, and blob lazy-loading.
  • Pluggable authentication mechanisms.
  • Pluggable access control/user permission management mechanisms.
  • Modeling of presentation (user interface) elements through Views and Layouts.
  • Pre-defined and pluggable Controllers.
  • Pervasive, pluggable macros throughout metadata.
  • Built-in localization for multi-language applications.

Kittox integrates with other tools to implement some of its features:

For more information, please read the Getting started guide, download the source code and the examples, and if you have doubts just ask!

Released under Apache License, Version 2.0.