My Favorite Frameworks, Components, and Tools in Delphi
Over the years of working with Delphi, I have experienced various tools and frameworks. Some of them have been so useful in my projects that they became an integral part of my workflow. In this article, I want to introduce the frameworks, components, and tools that I have used the most over the past three years.
RESTRequest4Delphi
One of the tools that has truly earned its place in my projects is RESTRequest4Delphi. This library is a powerful API for working with REST services and can interact with any language or platform. Its main goal is to simplify the process of sending and receiving data from APIs in a minimalistic yet flexible way.
RESTRequest4Delphi supports four different engines for executing requests: Synapse, ICS Overbyte, Indy, and NetHTTP. This allows you to choose the engine that best fits your project or preference. The framework was developed by Vinicius Sanchez and is completely free. Over the past three years, I have used this library in nearly 90% of my projects because it is lightweight, stable, and allows building a professional REST Client very quickly.
Horse
One of my favorite frameworks for web services in Delphi is Horse. This framework is inspired by Express.js and aims to provide a simple, fast, and minimalistic way to build APIs and web applications. Horse can be used in both Delphi and Lazarus, and fortunately, it is free and open-source.
I usually use Horse for writing the main APIs of my projects. Although its speed might be slightly lower than DataSnap, in practice, the difference is negligible, and its simplicity and ease of implementation are highly valuable. In the past three years, I have used Horse in about 90% of my projects, and I can confidently say it is one of the best choices for fast and reliable REST development in Delphi.
FireDAC
FireDAC is one of Delphi's standard and powerful components for database connectivity. It has been present in nearly all of my database projects over the past three years. If I were to review my history with database components, I started with BDE. After a few unpleasant experiences with data loss, I moved to ADO. For a while, I used both ADO and UniDAC simultaneously until I eventually focused entirely on FireDAC.
FireDAC offers high speed, excellent stability, and broad support for databases such as SQLite, MySQL, MSSQL, and PostgreSQL. Advanced features like Connection Pooling, Cached Updates, and LiveBindings make it a professional choice for modern Delphi projects.
Kastri
Kastri is a cross-platform library for Delphi developed by Dave Nottage. I have used this library in all of my mobile projects, and I can say that in every mobile application I have developed over the past few years, parts of Kastri have been included.
Kastri provides various features for accessing native Android and iOS APIs and covers many capabilities that Delphi does not provide by default. One of the main reasons for its popularity with me is Dave Nottage's continuous support. He tirelessly works on improving the library, fixing issues, and responding to developer requests. For me, Kastri has become an essential tool in mobile Delphi development.
Boss
Although Boss does not play a direct role in programming, it is one of my essential behind-the-scenes tools for managing packages in Delphi. Boss is essentially a package manager for Delphi, similar to npm in JavaScript or pip in Python. It allows easy installation, updating, and management of libraries and project dependencies.
I usually use Boss in projects that have no user interface and do not rely on heavy Delphi libraries. Especially when building APIs, Boss is always part of my workflow and significantly speeds up and cleans up the process.
TFrameStand
TFrameStand (and also TFormStand) was developed by Andrea Magni and honestly makes working with frames in FMX projects much easier. I used this component in several projects and was initially very satisfied with its performance and concept.
However, after some time, I stopped using it in desktop projects and only used it in mobile projects. Eventually, I have not used it for quite some time. One of the main reasons is the weak support and lack of proper documentation. Learning it mainly requires studying examples, as many details are undocumented. Nonetheless, TFrameStand remains a favorite and memorable tool for me, and if it were better documented or actively developed, I would definitely use it again.
DelphiFavorite
Although DelphiFavorite does not directly impact programming, I use it many times throughout the day. It is an Add-in for the Delphi IDE that allows me to manage a personalized list of projects and files — similar to Delphi's standard Favorites but with much more functionality.
One of my favorite features in DelphiFavorite is the ability to organize files into separate categories and prioritize their order according to personal preferences. This simple yet powerful add-in has greatly helped me keep hundreds of files and projects organized and efficient.
mORMot
mORMot is an open-source, powerful toolbox for Delphi and Free Pascal based on RESTful, ORM, SOA, and MVC principles. It was developed by Arnaud Bouchez and provides a complete set of tools for building modern client-server applications.
Version 1.8 is stable and reasonably well-documented. However, most recommendations suggest using version 2, which is more powerful but lacks official documentation, making it challenging to learn. The community around it is very active and supportive online.
Due to several reasons, including the default dependency on SQLite and the complexity of implementing JWT, I have not used mORMot in any commercial projects and only wrote a few test projects with it. Nevertheless, it remains in my list because I enjoy its speed, architecture, and power, and I hope to learn it thoroughly and use it in real projects one day.
And tools not included in my list
You might ask, "What about TMS?" Indeed, almost every Delphi developer has heard of it. TMS offers a vast collection of components and tools, but I have never used it in any project, so it is not included in my list.
Similarly, DevExpress provides amazing VCL components, but I have not used it in any project yet. I could have included FastReport, a powerful reporting tool that always performs excellently. However, since I use it in less than 10% of my projects and have focused more on building APIs and mobile applications in recent years, my usage is very limited.
p.s :
I also built Finvo invoice using Delphi (FMX) & RESTRequest4Delphi & FireDac & FastReport — a desktop invoicing tool for freelancers.

