Hydra and FireMonkey – Best Friends Forever

August 18, 2011 in .NET, Delphi, Hydra, Oxygene, Windows

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 the VCL

FireMonkey in .NET WinForms

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


FireMonkey in WinForms

WPF in FireMonkey

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


WPF in FireMonkey

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.)

Find out more about Hydra at remobjects.com/hydra.

2 responses to Hydra and FireMonkey – Best Friends Forever

  1. I am assuming Silverlight will work as a plugin too?

    • we haven’t really talked about this publicly yet, but yes, Silverlight plugin (not host, that doesn’t make sense) support is another thing we have in the works. i don’t wanna promise exact timelines, but the next release *could* have both Silverlight and FireMonkey as newly supported plugin types, if all goes according to plan.