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:
- Go back to a normal menu bar and toolbar (e.g. like Office XP) and ignore the benefits of the ribbon
- Create two GUIs, one with the ribbon for Windows and one without the ribbon for Mac
- Create a cool menu component which runs as a ribbon on Windows and a normal menu on Mac OS
- 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?
Phil Hess has updated some of his iOS for Delphi programmers material. All good stuff – and worth a read.
One point Phil makes is that iOS development in XE2 will be via the ARM Free Pascal compiler. He says,
Because you’ll be using Free Pascal with Delphi XE2 to compile for both iOS Simulator and iOS devices, be aware that there are a few differences in language features between Free Pascal and Delphi. In general, these are either newish Delphi language features not yet supported by Free Pascal or somewhat esoteric features that you might not even have known about, much less ever used.
Is this correct? Does anyone have a reference for this.
If it’s true then I must say I’m a little disappointing. I would have liked to see a 100% Embarcadero iOS compiler in XE2. I think there’s probably two reasons for my disappointment. Firstly, FireMonkey for iOS is the first departure from the Intel x86 chipset. This is exciting. If they can do it, and do it well, it bodes well for other platforms. Secondly, I don’t like the idea of Embarcadero being dependent upon the vagaries of an open source project like Free Pascal. This is probably an unfounded irk on my part (as I sit here typing on my opensource WordPress blog!), but nevertheless it means Embarcadero will have less control.
In this video we see Andreano Lanusse demonstrating a simple FireMonkey application being deployed on a PC, Mac and iPad. Impressive stuff!
The news just keep getting better. The new FireMonkey format will support iOS (i.e. iPhone and iPad) from day one! Jolyon Smith from New Zealand gave a detailed write-up. He said,
iOS support for native code FireMonkey apps !! – Yes folks – use Delphi to build iPhone and iPad apps that even Steve Jobs will be happy to have in his Store!
This is simply amazing. I was delighted with Mac support coming in 2011. Of course Mac now run on Intel, the same as Windows. So creating the compiler, while not trivial, is certainly easier than creating a compiler for a new processor. But it seems Embarcadero has done just that – we will be able to create iOS applications using our beloved Delphi language.
So a question – is there any other platform which enables developers to write once and deploy to PC, Mac and iOS? The future is bright!
This YouTube video showed up today. It’s posted by Lazy Mule. It seems to show a simple Delphi application being created and deployed on a Mac. The code is written using a Windows IDE. Then there is a remote link to a Mac. So this would seem to imply there is no Mac IDE. I guess that’s not a problem if the Windows and OS X versiona share 100% of the code
In his latest post Andreano Lanusse gives more details about Firemonkey. You can read the full text here:
So it would seem Firemonkey is going to decompose all graphical components down to their most basic elements. The example Andreano gives is that of a TButton. Using Firemonkey the humble TButton is actually made up of nine subcomponents. To me this seems smart. For each OS Embarcadero only needs to write the code for these fundamental building blocks. I guess it’s almost like native code but interpreted GUI. Sounds fascinating!
I had given up hope of seeing Delphi for the Mac in 2011. So today’s announcement by Embarcadero is big – really BIG!!
While announcing the new RAD Studio XE2 world tour, they also gave details of what’s new. Basically you’ll be able to,
deploy your applications to Windows and Mac and more
They go on to outline other details,
- Create GPU-powered FireMonkey applications that will keep your customers engaged
- Build 64-bit Delphi applications to take advantage of the latest hardware
- Create a single application and target both Windows and OS X
- Extend your multi-tier DataSnap applications with new mobile and cloud connectivity in RAD Cloud
- Connect any visual element to any type of data using LiveBindings™
- Modernize the look and feel of your Windows applications with VCL styles
- Create mobile-optimized web applications and standalone apps for iOS and Android devices using RadPHP
WOW! So it looks as if this could really be a big move by Embarcadero. If they can deliver on this promise it could take them to new heights. They could be the easiest way to develop an application for both Windows and OS X. This would be huge.
You can read what people are saying – Marco Cantu, Andreano Lanusse and Simon Stuart
Here are my thoughts and initial questions:
- This seems ambitious (almost too ambitious) – let’s hope Embarcadero can pull it off
- Will there be a Apple IDE?
- What do they mean by GPU-powered? How will they support all of the GPUs
What are you thoughts and questions?
Malcolm Groves recently shares details of upcoming RAD Studio World Tour dates on this post. Historically the World Tour is a forum for demonstrating the next, shiny new version of Delphi. In the post he did give details of some of the topics covered. He said,
You will hear about:
- Application frameworks
- Delphi 64-bit
- The future of database access
- DataSnap and Cloud
- Mobile development
Unfortunately no mention of Delphi for the Mac or iOS. I cannot image them leaving Delphi for Mac if it was to be launched within the next six months. I hope I’m wrong but this makes me think that we’ll need to wait until 2012 before we see Delphi for the Mac.
Simon Stuart has continued his blog post on preparing for the new Delphi environments. In his second installment he focused on separating business logic from the GUI. He says,
It is quite probably the most elementary design flaw we all make at some point or another, many even to this day. You create a new VCL Application project, and the very first thing you do is start dropping buttons and other controls onto the form.
This is (obviously) great advice. You’d do well to follow these words of wisdom even if you’re only developing for Win32 and have no intention of porting to any other platform. It’s something I know and believe in; but from time to time I still catch myself wanting to insert business logic into the events.
You can find the rest of the article here:
Andreano Lanusse has a blog post showing you how to leverage your Delphi skills with Delphi Prism. He shows you how you can develop using .NET and deploy using Mono or Monotouch.
Personally .NET never clicked with me – I just didn’t feel comfortable with it (maybe too Microsoftie for me). So I’m waiting for Embarcadero’s native code development environment.