Entwickler Konferenz: Maybe for starters a global question regarding Delphi: My sister already used Delphi 20 years ago in school and it is said to be an excellent language to enter the world of programming. Is that still so and what are the biggest changes in your opinion since then?
Marco Cantu: Over more than 25 years Delphi was and remains an excellent choice to learn programming, due to its easier syntax compared to curly brace languages and the fact it allows progressing from procedural programming to the world of object orientation, while other popular languages only offer an OOP paradigm. For learning, Python has grown a lot with great merit, but the ability to easily build a local Windows application with full fledged UI in Delphi remains unparalleled for a beginner. The landscape changed a lot and there are more nice programming languages to pick, but Delphi has also improved considerably with generic programming, dynamic constructs, anonymous methods and is continuously evolving over type, while retaining a high degree of compatibility with the billions of lines of existing code written with it.
Entwickler Konferenz: And of course are there any breaking changes or what are the most noticeable changes in Delphi 11?
Marco Cantu: The biggest changes in Delphi 11 relate with the development environment itself, given we made the move to using High DPI support in the IDE. This is not only a cosmetic type of chance offering crisp font text in the editor and high resolution icons, but also a big functional change because now you can design your VCL (and FireMonkey) applications directly at High DPI. This is a big change to the designer, along with the ability to preview VCL styles at design time, another big feature introduced in this release. Alongside, we updated the Welcome page getting rid of the HTML surface we used to display it. There is more in Delphi 111, from VCL extensions to a lot of quality improvements, but the IDE is cearly the focus of the new release.
Entwickler Konferenz: How can Project Reunion help to better interact Microsoft Tech with Delphi?
Marco Cantu: Delphi has been following the changes in the MIcrosoft development model for Windows for a long time. It has been the first third-party dev tool to offer full support for invoking WinRT APIs (at least the subset available to native applications) and the first IDE to integrate APPX support for Microsoft store deployment. We have continued along these lines offering MSIX packaging from the IDE and we already have a specific component wrapping the WebView 2 control (that is. the version of Edge based on Chromium). MSIX and WebView2 are two of the subsystems part of Project Reunion (now called Windows App SDK) we have been supporting since the last release. We are also expanding our WinRT API coverage and looking forward to being able to call all of the APIs (including WinUI 3 user interface controls) from within a native non-packaged application. As the Windows App SDK is still under development, we are closing monitoring and supporting its features as they become available.
The entire story around the Windows App SDK is very important for us. Microsoft long ago promoted the idea that the native Windows API was dead and moving to .NET was becoming a requirement, scaring some of our customers. Later they went on implying that the Unified Windows Platform (UWP) was the only viable futures, but then they started allowing integration with the so-called Desktop Bridge (originally intended as a migration path) and now they are saying native non-packages applications (the current name for native WinAPI apps) are first class citizen applications with access to the entire platform API. In other words, after saying for 15 years that the Delphi (and Visual C++ and other tools) underlying model and structure was old, they are now saying it is a great way to go for the future. This is great news for Delphi, given we have kept improving the tool and in particular the VCL library, which is by far the best Windows desktop UI library — we have kept focusing on it while Microsoft created and deprecated at least 5 other Windows UI libraries in the same time.
Entwickler Konferenz: Delphi adopted some features from Project Reunion, did it also adopt features from other platforms?
Marco Cantu: While Windows remains our primary target and working with the new APIs offered by the platforms is a top priority for us, we do the same across the spectrum of platforms we support. In this release of Delphi we offer macOS ARM-64 native support, targeting Apple M1 CPUs, alongside with Intel 64-bit targets and deployment of Universal platform binaries. We currently support the official platform application stores for Windows, macOS, iOS and Android, and each of them requires staying current with API usage, a reason we keep moving to newer libraries for mobile platforms. In terms of the Windows platform, along the classic VCL library we also offer our multi-device FireMonkey library which lets you target with the same exact source code Windows, macOS, iOS, Android and even native Linux UI, with the ability to customize the UI for each platform in the designer but reply on shared source code for all targets. Doing this without losing the native compilation and native platform integration is pretty unique these days.
Entwickler Konferenz: What advantages does Delphi have compared to Microsoft’s own compiler?
Marco Cantu: In terms of compilers we offer a different language than Microsoft, so it is hard to draw a direct comparison. While we also offer a C++ language solution companion to Delphi, C++Builder, the Delphi language offers advantages in terms of readability and simplicity, and is a much nicer language to start with. Compared to C#, one of the other main options from Microsoft, the advantage is having native code fast to execute and not requiring a runtime. With Delphi compiler code we have true xcopy deployment across most existing versions of Windows, with no runtime dependencies whatsoever. Also the code is fast and predictable in terms of response time, which is why Delphi is currently used a lot in industrial automation projects, where C# and java pose challenges in terms of predictability.
Entwickler Konferenz: In which direction do you think will Delphi develop in the future?