A couple of days ago in the non-tech forum I posted a very short description of the key differences between the VCL and the FireMonkey libraries you can use in Delphi to build a Windows application (Of course, FireMonkey is the only choice for Mac development, and will be the only choice for iOS and Android). These aren't complete definition, not marketing ones, simply a way to discriminate among the two libraries in a rather coincise way.


"On one side we have a great library wrapping the native Window API,
which is far from obsolete on many counts (the Win32 API, I mean). For
example, it keeps your code compatible with older versions of Windows,
still heavily used. And it is great for migrating existing applications
that are OK to live on Windows only. It has minimal footprint, good
speed, and has support for a huge set of 3rd party components."


"On the other side we have FireMonkey, which is a UI abstraction layer
intended for cross-platform (but also rather nice on each of the
specific platforms it supports). If you need 3D, graphics, UI scaling,
and many of the other supported features, this is a better choice than
VCL today."

Keeping Both

This was in the context of a thread in which a few people were expressing worries about the VCL being drop. This is not going to happen anytime soon (and probably not until Microsoft drops the Win32 API). And while it is true Embaradero is currently investing a lot in FireMoneky, this is mostly because the VCL is a rather mature solution, requiring continuos improvements and fixes, but not a mayor overhaul.

VCL Enhancement

In the same thread I also mentioned a set of recent VCL-related enhancements. While not all specific to VCL or part of its core, these features offer new opportunities for VCL developers:

So what was added to the VCL recently or can be used from the VCL:

- Styles (and BTW, FireMonkey later borrowed the bitmap-based styles)

- Metropolis look and feel

- LiveBindings

- FireDAC

- Sensors (for Windows 8 -- I know, not wrapped in VCL components, but
this might as well change)

So while this is not currently the key focus, keeping the best native
Win32-based library out there up to date in the long run is part of our
plans. But when looking for more flexibility (like extended scaling,
vectors based graphics, 3D) our solution is FireMonkey.

Nothing terribly new, but probably worth sharing in the blog.