{"id":4739,"date":"2011-08-05T12:27:19","date_gmt":"2011-08-05T11:27:19","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/4739-delphi-for-windows-mac-and-ios.html"},"modified":"2011-08-05T12:27:19","modified_gmt":"2011-08-05T11:27:19","slug":"delphi-for-windows-mac-and-ios","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/4739-delphi-for-windows-mac-and-ios.html","title":{"rendered":"Delphi for Windows, Mac and iOS: screenshots and video of cross-platform development"},"content":{"rendered":"<p>Embarcardero is drip-feeding information about its forthcoming RAD Studio XE2 in an annoying manner; nevertheless the product does look interesting and promises cross-platform native code apps for Windows 64-bit, Windows 32-bit, Mac OS X and Apple iOS. I have grabbed some screens from a video recently <a href=\"http:\/\/www.andreanolanusse.com\/en\/video-delphi-xe2-and-firemonkey-app-on-windows-mac-and-ios\/\" target=\"_blank\">posted<\/a> by Embarcadero\u2019s Andreano Lanusse; the video is also embedded below.<\/p>\n<p>Here is Delphi XE2 showing a FireMonkey application in the designer. FireMonkey is a new cross-platform GUI framework. <\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image_thumb5.png\" width=\"404\" height=\"246\" \/><\/a><\/p>\n<p>Note the list of target platforms on the right. If you squint you can see 64-bit Windows, OSX, and 32-bit Windows. <\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image_thumb6.png\" width=\"130\" height=\"140\" \/><\/a><\/p>\n<p>How do you compile for the Mac? It is clear from the demo that Lanusse is running in a VMWare virtual machine on a Mac. He also has a Remote Profile option set to target the host Mac:<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image7.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image_thumb7.png\" width=\"244\" height=\"125\" \/><\/a><\/p>\n<p>He then refers to a \u201cPlatform assistant\u201d which you can see running in a terminal window on the Mac.&#160; He is then able to compile and run from the Windows IDE:<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image_thumb8.png\" width=\"404\" height=\"303\" \/><\/a><\/p>\n<p>Finally, he targets iOS, though this is a separate project, not just another target. The process exports the project to Xcode, Apple\u2019s Mac and iOS IDE:<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image9.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image_thumb9.png\" width=\"404\" height=\"157\" \/><\/a><\/p>\n<p>Next, we see the app running on the iPad simulator:<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image10.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/08\/image_thumb10.png\" width=\"404\" height=\"269\" \/><\/a><\/p>\n<p>The ability to target the Mac is nice to have, but I suspect it is iOS that will attract more interest, given the importance of Apple\u2019s mobile platform.<\/p>\n<p>Here\u2019s the complete video where you can perhaps puzzle out a few more details.<\/p>\n<p><iframe loading=\"lazy\" height=\"349\" src=\"http:\/\/www.youtube.com\/embed\/JtFIw2YpuQc\" frameborder=\"0\" width=\"560\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><strong>Update<\/strong>: there is also some Q&amp;A in the <a href=\"http:\/\/www.andreanolanusse.com\/en\/a-little-bit-about-firemonkey-and-delphi-xe2\/comment-page-1\" target=\"_blank\">comments here<\/a>.<\/p>\n<p>Graphics rendering is Direct2D or Direct3D on Windows, OpenGL on Mac. FireMonkey renders all components through the graphics API, it does not support use native OS components, though Embarcadero\u2019s Michael Swindell says:<\/p>\n<blockquote>\n<p>FireMonkey client area controls are rendered by OpenGL on Mac, but appear and work just like Cocoa controls \u2013 or however you want them to. There are many different Cocoa UI styles in OSX apps, and Firemonkey can render any of them \u2013 including iTunes, or Prokit which is an Apple UI style for Pro apps like Final Cut, not available to devs via Cocoa. Windows are Cocoa Windows and the client areas and all user controls are rendered by OpenGL in HD(2D) or 3D. Menus are std and rendered by Cocoa in the menu bar, and common dialogs are rendered by Cocoa. If the \u201ctrue OSX\u201d look isn\u2019t for you, you\u2019re welcome to use any included Style, download a custom style, or create your own custom style.<\/p>\n<\/blockquote>\n<p>Swindell also addresses the matter of Linux and Android:<\/p>\n<blockquote>\n<p>We do plan Linux and Android. But no eta yet until we get Win\/OSX\/iOS out. We would also like to provide language bindings for other languages.<\/p>\n<\/blockquote>\n<p>Finally, a bit more about that Platform Assistant:<\/p>\n<blockquote>\n<p>Developer requires a PC and a Mac (or Mac with VM running Windows). You will develop on Windows, and use the platform assistant (PA running on your Mac) to compile natively to your Mac and the PA handles debugging communication between the Mac and your IDE running on Windows. Delphi (or C++Builder) and Firemonkey create compiled stand alone OSX executables that you can sell\/distribute to your users. They are native Mac apps. They \u201ccopy install\u201d and run like any other Mac app, or you can use a Mac installer if you like.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Embarcardero is drip-feeding information about its forthcoming RAD Studio XE2 in an annoying manner; nevertheless the product does look interesting and promises cross-platform native code apps for Windows 64-bit, Windows 32-bit, Mac OS X and Apple iOS. I have grabbed some screens from a video recently posted by Embarcadero\u2019s Andreano Lanusse; the video is also &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/4739-delphi-for-windows-mac-and-ios.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Delphi for Windows, Mac and iOS: screenshots and video of cross-platform development<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,26,31,47,67,80],"tags":[318,499,565,996],"class_list":["post-4739","post","type-post","status-publish","format-standard","hentry","category-delphi","category-development","category-embarcadero","category-iphone","category-professional","category-software-development","tag-delphi","tag-ios","tag-mac","tag-windows"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/4739","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=4739"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/4739\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=4739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=4739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=4739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}