13

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?

Peter Turner
  • 6,897
  • 1
  • 33
  • 57
  • 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 02 '11 at 18:18
  • @grandmasterB, hopefully that'll be more apparent with the "World Tour", but the first link I used (saw on Delphipages today) mentions "Firemonkey" which is the first and only thing I've heard about it. How do you know it's going to be native. That FireMonkey sounds like a virtual machine, but I don't want to go starting rumors. – Peter Turner Aug 02 '11 at 18:45
  • 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 02 '11 at 18:59
  • same as they did for Linux in the past (which product failed because of a hostile reception by the linux zealots): 2 compilers, one for each operating system. – jwenting Aug 03 '11 at 09:33
  • 1
    People who know all the details are probably under NDA and can't say. – Warren P Aug 09 '11 at 14:07
  • @Warren P, that may be, but you never know which things they're NDA about. I've read lots of good leaks and rumors on StackOverflow from actual embarcadero devs. Also, the "Delphi World Tour" is going on and I can't assume they're going to make us all sign NDA's. I just want to know if it's all hype. – Peter Turner Aug 09 '11 at 14:36
  • 1
    It will be native - see this [report](http://www.deltics.co.nz/blog/?p=735) from the Auckland session. On windows it uses Direct2D or Direct3D. On OSX and iOS, it uses OpenGL [See Embarcadero blog](http://www.andreanolanusse.com/en/a-little-bit-about-firemonkey-and-delphi-xe2/) – Gerry Aug 09 '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
  • Xe2 is out now! – Warren P Sep 04 '11 at 00:25
  • Data sheet: http://edn.embarcadero.com/article/images/41559/Delphi_XE2_datasheet.pdf - you can compile for Win32/64, Mac and iOS. – quickly_now Sep 04 '11 at 01:15
  • 4
    I'm voting to close this question as off-topic because it is about specific software support (and historically dated material). –  Oct 23 '15 at 13:24
  • This is not about specific software support, it is about how things are able to work across platforms. Read the question before closing and it is not dated as delphi still works this way. – Peter Turner Oct 23 '15 at 19:07

7 Answers7

8

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

jszpilewski
  • 221
  • 3
  • 6
2

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

2

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.

Daniel Luyo
  • 121
  • 3
  • 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 09 '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 09 '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
1

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

Warren P
  • 830
  • 5
  • 14
  • 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 06 '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 02:37
0

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

Alan Krause
  • 59
  • 1
  • 3
0

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.

Pateman
  • 169
  • 1
  • 3
-1

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

Adam Lear
  • 31,939
  • 8
  • 101
  • 125
hamid
  • 1