Skip to content

Delphi

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.

In this upcoming video series, I will show you how to create a modern, responsive image gallery with TMS WEB Core. In addition, you will learn how to integrate the Pexels API. Starting with basic principles of web development using cascading stylesheets (CSS) including a detailed introduction of flex box, the new grid system, and cards. Floats are a thing of the past! We will also use the Bootstrap framework to create a responsive design. With regard to functionality, we will begin just to show a few curated images from one endpoint. At the end, you will create a web application that allows you to search for specific keywords and display the images in a grid with the ability to navigate between pages (pagination).