Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

So I've been reading a little about Delphi XE2 and I probably will go to the world tour thing in Chicago coming up later this month and ask this question if no one can answer it here.

What I wonder is how is my Delphi code going to be executed on a Mac? Is something else going to have to run (i.e. virtual machine) in order for the program to run?

share|improve this question
    
It'll be compiled native code, like it is on windows. Is mac support confirmed for this release? I thought 64bit was, but not mac. It'd help if the company perhaps gave customers some clear clue about what the heck they were doing. –  GrandmasterB Aug 2 '11 at 18:18
1  
They have not explicitly said Win64 and Mac will be native code - but they havent said otherwise, and Delphi has always been native code. They have the resources and extensive know-how in building compilers, so I see no reason to think it'd be anything other than native code. That being said, I've not seen anything official that says Mac support will be in this version - just Win64. Though I'd be very glad to be wrong about that. FireMonkey is a set of user interface components for non-standard, flash-like interfaces. –  GrandmasterB Aug 2 '11 at 18:59
1  
People who know all the details are probably under NDA and can't say. –  Warren P Aug 9 '11 at 14:07
1  
It will be native - see this report from the Auckland session. On windows it uses Direct2D or Direct3D. On OSX and iOS, it uses OpenGL See Embarcadero blog –  Gerry Aug 9 '11 at 21:39
1  
Essentially the RTL part of the VCL is cross-platform, then if you want to do the GUI cross-platform then you need to use FireMonkey. –  Misha Aug 10 '11 at 12:54
show 5 more comments

7 Answers

up vote 1 down vote accepted

You can now download the trial version of Delphi XE2 and try it for yourself.

Firemonkey (FMX) is the new business-focused 2d and 3d cross platform framework, for Windows, mac and iOS devices (iPad, iPod Touch, iPhone).

It is indeed based on technology acquired from ksdev and almdev companies based out of Russia, and the developers from those companies now work for Embarcadero, and were part of the team that built Firemonkey, and the new VCL themes support in XE2.

There is a lot to Firemonkey, but XE2 Firemonkey is a "first release" of a brand new platform. Look out for a lot of amazing stuff coming from Embarcadero in the next few releases, as Firemonkey grows and matures. My opinion of working with it is that it is "ahead of its time". It's a great way to build great looking applications.

However, it's not as mature and capable as the VCL, especially on Win32, you will miss a lot of stuff. Reporting systems. Etc. There will be a third party component ecosystem, as time goes on, but for now, there are no big third party component libraries that run in FMX yet. For example, there is no equivalent to the Developer Express or TMS component sets, there are no Rave or FastReports. The first third party on board out of the box, is the Venerable TeeChart, which is now both for VCL and Firemonkey. (I'm very glad to see that. It would have been sad if a "business framework" shipped without the ability to make pie-charts.)

share|improve this answer
    
We're getting it apparently, (staying ahead of the curve for once) any idea how hard/necessary it would be to convert stuff like virtualtreeview and trichview to firemonkey? –  Peter Turner Sep 6 '11 at 15:31
    
Almost impossible unless you wrote them in the first place, and are really really good at low level coding. –  Warren P Sep 16 '11 at 2:37
add comment

FireMonkey is a framework being the outcome of the hiring of the creator of VGScene and the KSDev company. Following that it is heavily based on OpenGL and as a such not hard to be source code portable between Windows and Mac.

Edit: Some more info about FireMonkey just surfaced: http://www.andreanolanusse.com/en/a-little-bit-about-firemonkey-and-delphi-xe2/?utm_source=rss&utm_medium=rss&utm_campaign=a-little-bit-about-firemonkey-and-delphi-xe2

share|improve this answer
add comment

Delphi XE2 will generate multiplatform binaries. Yes native application, without any VM.

Delphi XE2 will remain a Windows only tool, but it comes with a "cross compiler" good for Win32, Win64, Mac OSX, iOS, and in the near near future Android and Linux.

In the case of Mac and iOS the final build need to be made in a Mac using XCode. The result will be a native Mac OSX/iOS app, that Steve Jobs would believe is fully made on a Mac, so it's App Store friendly :)

For the cross platform GUI, delphi comes with a new framework (alongside the venerable VCL) called Firemonkey based on OpenGL for Mac and DirectX for Windows, this means hardware accelerated graphics. Firemonkey is themable so you can achieve "native" look on every platform or design your own theme.

share|improve this answer
    
I haven't heard anyone say anything about "generating multiplatform binaries". The impression I get is more of "generating single-platform binaries for more than one single platform." –  Mason Wheeler Aug 9 '11 at 21:37
    
AFAIK it uses a "cross compiler" technology. It's evident when you look at then new IDE. You now have "Targets". A Target means a platform. You have to decide and choose which one(s) you "target". Build for that Target and you will have a binary for that Target. For example Win32 and Win64 are different Targets because you can not have a native Win32 app that works natively in Win64 (will work but under a OS compatibility layer) –  Daniel Luyo Aug 9 '11 at 21:44
1  
It's separate binaries for each platform –  Misha Aug 10 '11 at 12:52
    
Did you see how the XCode thing works? Does Delphi spit out code instead of binaries when you set your target as OSX? –  Peter Turner Aug 10 '11 at 14:15
add comment

FreePascal has always been an excellent framework/language and tool. Actually the method of creating apps for iPhone by designing forms in Delphi and then compiling the same in Free Pascal (as Free Pascal was not having designer and Delphi was not having compiler earlier) for generating iPod/iPhone apps were there about more than a year ago.

But Delphi XE has made this capability in to an awesome feature, in its latest version - Delphi XE2. In Delphi XE2, we can use Firemonkey designer for creating UI for mobile apps iPhone/Androd and the same can be compiled for either iPhone or Android. It is true that Delphi XE2 is currently using FreePascal compiler but it will be having own compiler shortly (under completion). This is as per the info I got from Embarcadero Official World Tour, which I attended.

I have seen a Demo in which Delphi XE2 FireMonkey was used to design an iPhone/Android app and compile the same project for iPhone/Android!!!. It was awesome to see the demo running on iPhone etc.

BTW, I feel one of the other features of Delphi XE2, which I liked most (apart from the 64bit compile feature) is its "Live Binding" feature (this is awesome, and can be described as "linking any data to anything" - the possibilities are only limited by creativity and design of linking).

share|improve this answer
    
Awesome, I can't wait to see it, I'm going to the World Tour in Chicago in a few weeks. –  Peter Turner Aug 19 '11 at 13:06
add comment

Believe me, there will be native support for both Mac and Win64. And yes, Mac is confirmed for this release as well as a new platform called FireMonkey for easy 2D and 3D application development for Mac, iOS, Android, and Windows.

share|improve this answer
1  
As much as I'd like to believe you ;-) Answering a question with "Believe me" isn't particularly satisfactory! Try doing that on Skeptics.SE sometime. –  Peter Turner Aug 3 '11 at 13:14
    
I think I'll try that right now. (Trollface on) –  Warren P Aug 9 '11 at 14:06
add comment

For the iOS build, Delphi XE2 will be leveraging the ARM port of Free Pascal. See http://delphimax.wordpress.com/2011/08/04/delphi-64bit-os-x-and-iphone-native/#comment-749

share|improve this answer
add comment

It's so good but RTL support in this release has bugs. Embarcadero promised to fix it in update packs.

share|improve this answer
1  
This is really a comment, not an answer to the question. You can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post. –  Matthieu Aug 21 '12 at 17:20
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.