Delphi 10.4 Sydney - Release 2 is out!
I didn't write here much about the release of Delphi 10.4 Sydney but I've been using it almost exclusively for the last several months and have upgraded all projects I could to the latest and greatest version. It really is an amazing environment and continues to get better. It can produce competitive apps on every platform, offers simple interfaces to all the popular mobile services, provides access to low-level device sensors, has multiple development paths for building web servers on Windows or Linux, and has a wide array of third-party support in the form of plugins, libraries, and components.
This month, February 2021, the community is celebrating the 26th year since Delphi was first released. There have been times that people said Delphi was dying and there were times I thought of shifting my focus to other tools but I keep coming back to this solid development environment that I've used throughout my career and find it is still very much alive and relevant.
Yesterday, Delphi 10.4.2 was released and it has a lot of nice enhancements. One of the things I've come to rely on while writing code is the CodeInsight feature. This constantly syntax-checks and flags errors in my code before I even compile. Things like misnamed variables, mismatched begin-end pairs, and so forth would show up with little underlined squiggles--similar to misspelled words in a word processor--and helped increase my productivity by catching simple mistakes before I leave the code block.
When CodeInsight was first introduced, it could slow down coding a little with large projects but with the last update, a background process was introduced to off-load this processing, communicating with the Delphi IDE via a Language Server Protocol. This greatly reduced any lag in the editor and enabled CodeInsight features while debugging. In 10.4.2, this was made even better by adding hints and warnings to the flagged code providing another productivity boost at the point where you're currently working. It's like a helpful code-reviewer that's watching over your shoulder--but this one doesn't make you nervous!
There were a couple of VCL components added, which is a rare and delightful bonus. Something I've thought Delphi has needed for a long time is a TNumberBox for numeric input and which supports a wide variety of integer, floating-point, and currency formats. (Many third-party component vendors have thought the same, evidenced by providing their own such components in their products over the years.) The second is going to take a little time to get my head around but looks very interesting: it's called a TControlList and is somewhat like the TDBCtrlGrid except that you can only put graphical controls on it (e.g. no edit boxes). This could make for a very power way to display lists of complex information, made simple with LiveBindings.
Enhancements to other controls were made as well. The new TEdgeBrowser component now supports the General Availability version of Microsoft's WebView2 using the Chromium engine--and allows you to add web views in your app without Edge (or any other browser) being installed. The Konopka Signature VCL Controls, a free add-on for Update subscribers and a very popular component set over the years, was extended to support high-DPI graphics and 4K monitors and adds better integration with VCL styles.
There were several other IDE improvements, an enhanced migration tool, and better support for Mac, iOS, and Windows store applications including Microsoft's MSIX packaging. Compiler performance was improved and several C++ Builder features were given a boost as well.