Skip to content

Delphi

RAD Is Not No-Code: Why Delphi Still Dominates Windows Desktop Development After 30 Years

The no-code movement is having its moment. Articles proclaim its death, its rebirth, its transformation. But amid all this noise, there's a critical distinction being lost:

Rapid Application Development (RAD) is not no-code, and the difference matters more than ever.

I've been building Windows desktop applications with Delphi for three decades. During that time, I've watched trends come and go—from the CASE tool revolution to today's no-code platforms. And I've learned something important: there's a vast difference between tools that eliminate coding and tools that accelerate coding through intelligent design.

From 30 Years of Delphi to the Modern Web: My Journey Into 2026

A personal reflection on three decades of desktop development, and what comes next


The Landscape Has Changed

I started with Delphi before most developers today wrote their first line of code. Over 30 years, I watched Borland rise, worked inside the company, and built a career helping others master the platform. I've created hundreds of videos, spoken at conferences worldwide, and earned recognition in the Delphi community.

But I'm not writing this to reminisce. I'm writing because the world has fundamentally shifted, and pretending otherwise helps no one.

The traditional setup—a developer at a desk, building Windows applications that run on office PCs—is no longer the default. People work from phones on trains. They access business systems from tablets in warehouses. Executives approve invoices from airport lounges.

The desktop isn't dead. But it's no longer the center of gravity.

GitHub Is Not a Backup (And Why That Matters)

I came across something this morning that made me pause: a developer celebrating their move from daily ZIP files to GitHub, calling it their "backup solution." While I'm genuinely happy they've discovered version control, this statement reveals a dangerous misconception that's worth addressing.

Let me be clear: GitHub is not a backup. Version control is not backup. Full stop.

Random Numbers in Delphi: When the RTL is Good Enough (And When It Isn't)

I recently came across several Delphi implementations in which developers used their own random number generators, apparently unaware of—or unconvinced by—the built-in Randomize and Random functions that have been part of the RTL since Delphi's earliest days. Some developers seem to believe they can do better than the runtime library, while others might simply not know what's already available.

Let's take a fair look at Delphi's built-in random number generation, understand when it's perfectly adequate, and identify the rare cases where you might actually need something more sophisticated.

TStringList: The Swiss Army Knife You're Probably Underusing

If you've been writing Delphi code for any length of time, you've used TStringList. It's the go-to container for managing lists of strings. But here's the thing: most developers only scratch the surface of what this versatile class can do.

Let me show you three powerful features that often fly under the radar: duplicate handling, built-in sorting, and the surprisingly useful CommaText property.

🎅 Santa's Sleigh: A Festive Delphi VCL Experiment 🎄

Happy Holidays to the Delphi Community! ✨

As the holiday season wraps us in its magical embrace, I wanted to share a fun little project that perfectly captures the Christmas spirit while showcasing the power of AI-assisted Delphi development. Meet Santa's Sleigh - a delightful VCL application that brings Santa and his reindeer flying across your Windows desktop!

The Magic Behind the Scenes 🪄

This isn't just another holiday greeting - it's a fascinating experiment in modern Delphi development. The entire application was created through AI-powered coding, demonstrating just how far we've come in leveraging AI to build real, working applications.

What Makes This Special? 🌟

Santa's Sleigh is a transparent, borderless VCL application that features:

  • 🦌 Rudolph Leading the Way: Watch as Rudolph with his glowing red nose leads the reindeer team
  • đź›· Authentic Sleigh Design: Hand-drawn sleigh with proper curved runners and gold trim
  • 🎅 Jolly Santa: Complete with his iconic red suit, white beard, and festive hat
  • ✨ Smooth Animation: 60 FPS animation with gentle wave motion as Santa glides across your screen
  • 🪟 Transparent Magic: Using VCL's transparency features, only Santa's sleigh appears - no window frame in sight!
  • đź’« Trailing Sparkles: Christmas magic sparkles trail behind the sleigh

A Christmas Carol for Delphi Developers: “AI Humbug!” … or Maybe Not? 🎄

Every December, you can hear it echo across developer forums:
“AI? Bah, humbug! It doesn’t help with real Delphi code!”

If you’ve spent decades refining your Delphi craft — from Turbo Pascal to today’s VCL and FireMonkey projects — you might share that sentiment. But let me show you why those days are fading faster than a pine tree in January.

Recently, I built a new Delphi system information component, TSysInfo, in about one hour.

No, not because I worked all night — but because AI helped.

Screenshot of component in RAD Studio IDE

Looking Forward to Speaking at TMS Training Days 2026 in Rotterdam!

I’m very excited to share some great news — TMS Software has announced the next edition of TMS Training Days, which will take place in Rotterdam, the Netherlands, on April 23–24, 2026!

This isn’t my first time being part of a TMS event, and even though I’ve been a bit quiet lately when it comes to TMS and Delphi, I’m proud and truly honored to be invited again to speak at yet another TMS Days.

Why IBExpert Remains My Go-To Tool for Firebird Database Management

After 30 years in software development, I've learned that specialized tools almost always outperform generalist solutions. Nowhere is this more evident than in database management, where IBExpert stands as the undisputed champion for Firebird databases.

The Gold Standard for Firebird

Let me be blunt: if you're working with Firebird databases and you're not using IBExpert, you're making your life harder than it needs to be. I've tried the alternatives—those Swiss Army knife database tools that promise to handle "any database." They all fall short when it comes to Firebird. The difference isn't subtle; it's the gap between a tool built by people who truly understand Firebird's architecture and one where Firebird support was tacked on as an afterthought.

Why TMS XData Is My Go-To Choice for Building Web Services in Delphi

After years of working with various frameworks and tools for building web services, I've come to a clear conclusion: TMS XData is the best tool for the job—if you're a Delphi developer. Now, I'll be upfront—I've been doing extensive work with the company that distributes TMS XData, so there's certainly a personal connection here. But my preference isn't just based on familiarity or convenience. There are solid, practical reasons why I keep reaching for XData whenever I need to build robust, professional web services in the Delphi ecosystem.

Let me be clear from the start: I'm talking specifically about the best solution for Delphi developers. Other languages have their own excellent options—Node.js has Express, Python has Flask and FastAPI, .NET has ASP.NET Core. Each language ecosystem has evolved its own tools optimized for its strengths. But if your world is Delphi, and you need to build web services that leverage your existing Delphi skills and codebase, TMS XData stands above the rest.

Why You Need to Switch to Delphi 13 and its 64-bit IDE Yesterday

For most Delphi developers, the switch to 64-bit isn’t obvious at first glance. After all, for decades since Delphi 2, we’ve been working quite happily in a 32‑bit IDE, building applications, connecting to databases, and delivering production software.

With the introduction of 64‑bit compilers for Windows and other platforms, the natural assumption was:

“As long as I can compile 64‑bit executables from the 32‑bit IDE, I’m fine— right?”

Not quite. Let’s talk about why sticking to the 32‑bit IDE is holding you back, and why the time to switch is right now.

RAD Studio 13 Florence has been released

Exciting times being a Delphi developer! Embarcadero has just released RAD Studio 13 Florence, bringing a host of new features and improvements to the Delphi and C++Builder development environments. This release focuses on enhancing developer productivity, improving application performance, and expanding platform support.

Here is a list of my favorite new features in RAD Studio 13 Florence:

  • Database magic with FireDAC: FireDAC gets several practical improvements — better type support (unsigned BIGINT, improved PostgreSQL array handling), smoother drag-from-fields behavior, OAuth for Oracle, and parallel Firebird backups, plus many smaller fixes. RAD Studio still ships with InterBase 2020 Developer and now includes a license for the upcoming InterBase 15 Developer edition.

  • Ternary Operator: RAD Studio 13 finally brings the much‑requested ternary operator to Delphi — written with the if keyword so you can use concise in‑expression conditionals.

  • Language improvements: The update also adds handy language tweaks across Delphi targets: NameOf, {$PUSHOPT}/{$POPOPT} as new compiler directives, implicit Self in record class operators Initialize and Finalize, is not / not in operators, a noreturn directive, and tighter generic constraints — small changes that make everyday code cleaner and clearer.

  • 64-Bit personalities: So far, all 64-Bit personalities had been in Preview. RAD Studio 13 includes a full-featured 64-bit IDE for Windows x64 that's now part of the core installer (no separate add-on). Compared with the 12.3 initial release it adds full Delphi and C++ build/debug support, C++ tooling via Visual Assist, COM/ActiveX/type-library support, Live Templates (Ctrl+J) and the Surround menu, plus various quality improvements.

  • WebStencils and WebBroker enhancements: In recent blog posts, I explained that I mostly focus on the backend these days. Most of my frontend work is done with React and Next.js. I only have a few VCL and FireMonkey applications that I maintain. WebStencils turns RAD Studio’s web stack into a proper server-side framework, adding scripting, session/auth support, dataset access controls and a new switch statement. RAD Studio 13 also extends WebBroker with session management, improved logging and better Apache/Nginx integration — together these updates make building data-driven sites and secure web APIs much faster and easier.

How to configure Linux for Delphi development

Delphi has long been a powerful tool for Windows application development, but with the introduction of Linux support in recent versions, developers can now leverage Delphi's capabilities to create applications for Linux environments. This opens up new opportunities for cross-platform development and expands the reach of Delphi applications.

The difficulty for many developers lies in the configuration of Linux that you can connect it to RAD Studio so that you can deploy your Linux applications directly from the IDE. This process involves several steps, configuring the Linux target in RAD Studio, and ensuring that all necessary libraries and dependencies are in place.

As always, you find great resources on GitHub from other Delphi developers.

Why do you mention Linux?

Linux is a popular choice for many developers due to its flexibility, stability, and open-source nature. By supporting Linux, Delphi developers can reach a broader audience and take advantage of the strengths of both Windows and Linux platforms. Additionally, Linux is widely used in server environments, making it an attractive option for developing backend applications and services.

Just to give you an example, I run all my web servers on Linux and I also run all my XData backend services on Linux. I simply love the stability and performance of Linux servers. Installing reverse proxies like Nginx or Apache is a breeze and does not require a lot of resources. And best of all: Linux is free! Renting a Linux server is often cheaper than 5 bucks a month. You won't find a Windows server for that price.

A note on Delphi developers and GitHub

It's common to hear that Delphi developers are less active on platforms like GitHub compared to other programming communities. While open-source collaboration is widespread elsewhere, Delphi developers often hesitate to share their code publicly or contribute to shared projects. This reluctance can limit opportunities for learning, collaboration, and innovation. Embracing platforms like GitHub can help Delphi developers connect with peers, improve code quality, and contribute to the growth of the community.

Still, talking to many Delphi developers, I often hear that they are not familiar with GitHub or do not see the value in sharing their code on a platform that they cannot control. This is a missed opportunity for the Delphi community to grow and thrive.

Version control? I only use backups and ZIP!

Sadly, another frequent occurence when talking to Delphi developers is that they do not use version control systems like Git. Many developers rely on manual backups or ZIP files to manage their code, which can lead to issues with code management, collaboration, and tracking changes over time. Version control systems like Git provide a robust way to manage code changes, collaborate with other developers, and maintain a history of code changes. By using Git, Delphi developers can improve their development workflow, reduce the risk of code loss, and enhance collaboration within their teams. It is also very easy to embrace as the learning curve is not steep at all. And best of all: Git is free! And one of the best books is free as well: Pro Git.

Please use version control!

Back to Linux

To get started with Delphi on Linux, you'll need to set up a Linux environment that RAD Studio can connect to. This typically involves installing a compatible Linux distribution, configuring SSH access, and ensuring that the necessary libraries and tools are installed on the Linux machine.

But nowadays, Windows even offers a Windows Subsystem for Linux (WSL) that you can use to run a Linux environment directly on your Windows machine. This can simplify the setup process and make it easier to test and deploy your Delphi applications on Linux.

Once your Linux environment is set up, you can configure RAD Studio to connect to it. This involves adding a new Linux target in the IDE, specifying the connection details, and testing the connection to ensure everything is working correctly.

How to configure Linux for RAD Studio

Ian Barker and Jim McKeeth to the rescue! Initally, they created a great series of Gists that walk you through the entire process of setting up Linux for RAD Studio. As Gists are a bit hard to find, I have copied the content to a GitHub repository that you can find here:

This repository contains detailed instructions and scripts to help you configure your Linux environment for Delphi development. It covers everything from installing the necessary packages to configuring SSH access and setting up the RAD Studio connection.

Surf GitHub for more resources

There's so many great resources on GitHub from other Delphi developers. Just search for "Delphi Linux" or similar terms to find repositories, gists, and projects that can help you get started with Delphi on Linux. You can find sample projects, libraries, and tools that can make your development process easier and more efficient.

Summary

Running Delphi applications on Linux is now more accessible than ever, thanks to the support provided in recent versions of RAD Studio. By setting up a Linux environment and configuring RAD Studio to connect to it, developers can take advantage of Delphi's powerful features to create cross-platform applications. This opens up new opportunities for reaching a broader audience and leveraging the strengths of both Windows and Linux platforms.

Ready to expand what your Delphi applications can do?

Whether it’s deploying to Linux, building web APIs, or learning new frontend tools, I’ll guide you through planning, setup, and delivery. Reach out and we’ll map the next steps together.

Cherish the Past, Embrace the Future: Web development with Delphi and TMS WEB Core

Get ready

This week, I watched several technical sessions from Google I/O and React Conf 2024. Two conferences that contain a plethora of information about the latest trends in web development. It's fascinating to see how the web platform has evolved over the years, from the early days of static HTML pages to the modern, dynamic web applications we have today.

As a Delphi developer, I couldn't help but reflect on the evolution of web development and how it intersects with the world of Delphi. While Delphi is primarily known for its strength in building native desktop applications, the rise of web technologies has opened up new possibilities for developers. One such technology that bridges the gap between Delphi and web development is TMS WEB Core.

Bridging Worlds: Delphi, TMS WEB Core, and the Evolution of Hybrid Desktop Applications

User interface design

In the ever-evolving landscape of software development, the boundaries between different platforms and technologies continue to blur. One such convergence is the fusion of web and desktop applications, facilitated by powerful tools like Delphi and TMS WEB Core. These technologies enable developers to seamlessly integrate web components into native desktop applications, opening up new possibilities for innovation and user experience.

In this article, we'll explore the strengths of Delphi and TMS WEB Core, and how they come together to create hybrid desktop applications that combine the best of both worlds. We'll also provide an example of how to integrate a web component into a VCL application using TMS WEB Core, showcasing the power and flexibility of this approach.