Category Archives: Components

Details of Third Party XE2 & FireMonkey Support

DevExpress is one of my favorite Delphi component vendors.  So I was interested to read Julian Bucknall’s blog post outlining DevExpress’ plans for XE2, 64 bit and FireMonkey.  While DevExpress will fully support VCL in both 32 bit and 64 bit flavors, when it comes to FireMonkey he said,

we’re going to take a long term view for our support for FireMonkey. We will not support it immediately. Instead we will experiment to see what is involved in converting our controls to use it and will also monitor feedback and the market for it in order to make better informed decisions next year

So, quite sensibly they are taking a “wait and see” strategy.  Personally I think the demand for FireMonkey components will be significant. So I’m anticipating DevExpress committing to FireMonkey in 2012.

RemObject are taking the plunge and providing Hydra support for FireMonkey.  On the RemObject’s blog, Alexander Krakovskii said,

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.

Personally, I’m hoping TMS jump in and commit to FireMonkey.

Which components would you like to see for FireMonkey – please comment?

Windows Ribbon Control & FireMonkey?

I’m starting to think about the practicalities of developing for FireMonkey. One of our applications would be ideal for the Mac and would have little competition. Of course I’d like any FireMonkey applications to run on both the Mac and Windows (I accept iOS will need a separate GUI). So I started thinking about what the GUI would look like, and sketch out some plans.

All of our apps use Microsoft’s ribbon paradigm. I know some people hate the ribbon but I think it is an improvement over a simple menu and toolbar. And I think it’s here to stay.

So how will the ribbon paradigm translate to FireMonkey? I see the following options:

  1. Go back to a normal menu bar and toolbar (e.g. like Office XP) and ignore the benefits of the ribbon
  2. Create two GUIs, one with the ribbon for Windows and one without the ribbon for Mac
  3. Create a cool menu component which runs as a ribbon on Windows and a normal menu on Mac OS
  4.  Create a ribbon component for FireMonkey which brings the ribbon paradigm to the Mac (as well as Windows)

I don’t want to go back to a vanilla menu bar for Windows; and I don’t want to create two GUIs for Windows and Mac (it defeats the point of FireMonkey). So let’s hope there are some creative component developers which can deliver either options 3 or 4.

What do you think?

Are Your Components Compatible with Delphi for Mac / iOS / Android?

Simon Stuart has a great article on his blog called, “Future-proofing #1 – Don’t let third parties inhibit your progress“.  He says,

Even the most popular components and libraries are now falling far behind!

and points out that popular component sets such as JVCL will almost certainly not run on Delphi for the Mac.

Any components, code, or libraries you use containing any Assembly (ASM) blocks are also going to be a problem! The ASM instructions for Windows 64bit, MacOSX and the various other platforms are all different! What are the chances that all of this code is going to be updated in the next few months to work properly in this new frontier?

He recommends cutting back to the bare minimum number of components. A good tip he makes is to check the date of the last update of the components and decide if they are likely to be maintained as the new environments are released.

My own take on this is slightly different. I see Delphi for Mac and iOS as a way to leverage my Delphi skills and working with a language I know and love.  I don’t see it as a way to create one code set which will compile for a mirad of environments.  I could be wrong (I hope I am!), but wouldn’t a “write-once-deploy-everywhere” approach need to cater for the lowest common denominator i.e. the worst elements of each environment.

I did enjoy Simon’s post and I think it’s a good sign when developers are starting to think about components and how they will be used in the future.

What do you think?