Menu

Hydra and FireMonkey - Best Friends Forever

18 August 2011

As you have probably alrady heard, in the upcoming release of Delphi XE2, Embarcadero will introduce a new cross-platform GPU powered GUI framework called FireMonkey. The new framework is similar in concept to .NET’s WPF, and builds on the former VGScene/DXScene components to let you to build applications with both 2D and 3D elements, transforms and animations.

FireMonkey is not an evolution of the VCL, nor does it replace it. The VCL will still be incldued with Delphi, with FireMonkey being an alterative option for UI development. But while the VCL remains for Windows only, FireMonkey will allow you to create GUI applications for both Windows (32 and 64 bit) and Mac OS X.

Since FireMonkey is a cross-platform framework, it’s not bound to Windows and it doesn’t directly use things like the Windows message loop or handles. Being a GPU powered framework, FireMonkey uses Direct2D/Direct3D or OpenGL to render GUI, meaning that by default, FireMonkey and the VCL will not get along well, and you won’t be able to, say, add a FireMonkey control to a VCL application or vice versa, or even share FireMonkey and VCL forms within the same application. Which is a shame, really, if you have an exisiting Delphi app that you want to extend with some nice FireMonkey graphics, for example.

Enter Hydra

Traditionally, Hydra has served the purpose of letting you mix Delphi VCL applications with UI (and non-UI) written .NET (using either WinForms or WPF).

So will Hydra support FireMonkey, as well? Yes it will. The Hydra team is currently working on providing full support for FireMonkey plugins on both .NET and Delphi hosts. With this new feature in Hydra, you will be able to use both visual and non-visual plugins built with FireMonkey in the same way you can currently use VCL or .NET plugins.

To show you a few examples:

FireMonkey in the Delphi VCL

Hydra will provide the ability to host FireMonkey plugins inside the VCL:

FireMonkey in .NET WinForms

The following screenshot shows a FireMonkey plugin running embedded in a WinForms-based .NET application:

WPF in FireMonkey

Or you can even show a WPF plugin within a FireMonkey host application:

Of course, these are just three examples, all the other obvious combinations will work as well (FireMonkey in a WPF app, VCL or WinForms in a FireMonkey app).

Find out More

FireMonkey support in Hydra will ship soon™ after Delphi XE2 is generally available, and will be a free update to any customer with an active Hydra subscription. (Current Hydra users will also be able to access beta builds with FireMonkey support when XE2 is out.)