{"id":1845,"date":"2013-10-03T10:05:23","date_gmt":"2013-10-02T22:05:23","guid":{"rendered":"https:\/\/www.deltics.co.nz\/blog\/?p=1845"},"modified":"2013-10-03T10:05:23","modified_gmt":"2013-10-02T22:05:23","slug":"another-great-oxygene-release","status":"publish","type":"post","link":"https:\/\/www.deltics.co.nz\/blog\/posts\/1845\/","title":{"rendered":"Another Great Oxygene Release"},"content":{"rendered":"<span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">[Estimated Reading Time: <\/span> <span class=\"rt-time\">2<\/span> <span class=\"rt-label rt-postfix\">minutes]<\/span><\/span><p>RemObjects have <a href=\"http:\/\/blogs.remobjects.com\/blogs\/mh\/2013\/10\/02\/p6275\">officially released the September update to Oxygene<\/a> with the usual round of bug fixes and some dramatic improvements in the tool chain.<\/p>\n<p><!--more--><\/p>\n<h2> Cocoa &#8211; Principally iOS 7<\/h2>\n<p>My focus with Oxygene most recently has been on the Android side.  My previous experience with using the Cocoa (iOS) support was similarly rewarding.  Using <strong>Interface Builder<\/strong> in <strong>Xcode<\/strong> to design the UI already worked very well since <strong>Xcode<\/strong> is able to directly open <strong>xib<\/strong> files independently of any project, but it did mean that you were only working in the context of one <strong>xib<\/strong>.<\/p>\n<p>Now <strong>Oxygene<\/strong> creates and maintains a complete <strong>Xcode<\/strong> project alongside the <strong>Visual Studio<\/strong> one, incorporating <strong>all<\/strong> project resources, which means that you can open that project in <strong>Xcode<\/strong> and work in the full, project-oriented context !<\/p>\n<p>The improved integration now also means that once you have finished working in <strong>Xcode<\/strong> you do not have to &#8220;<em>Sync the xib<\/em>&#8221; back on the <strong>Oxygene<\/strong> side &#8211; the projects are kept in sync automatically.<\/p>\n<p>It was hardly an onerous step but it was possible to sometimes forget so this removes a little bit of friction from the workflow.<\/p>\n<p>Of course, the <strong>iOS 7<\/strong> support in Oxygene is <strong>way<\/strong> more than <a href=\"http:\/\/edn.embarcadero.com\/article\/43388\">skin deep<\/a>.<\/p>\n<p>Unfortunately at the moment the only <strong>iOS 7<\/strong> capable devices in our household are my partner&#8217;s work iPhone and iPad.  I shall have to get purchasing approval from the <em>Accounts Department<\/em> (she hates it when I call her that \ud83d\ude42 ) for a development device if I want to explore the new API&#8217;s fully using anything other than the simulator (although support in this area has also been significantly improved to keep step with the improved capabilities in Xcode itself). \ud83d\ude42<\/p>\n<p>Also on the <strong>iOS<\/strong> side, <strong>Oxygene<\/strong> now also supports <strong>x86_64<\/strong> and so can target the <strong>64-bit iOS simulator<\/strong>.<\/p>\n<p><strong>arm64<\/strong> for actual devices is coming very soon (this month all being well), subject to testing on actual hardware.<\/p>\n<h2>Android<\/h2>\n<p>On the <strong>Android<\/strong> side, <strong>Oxygene<\/strong> now has support for the <strong>JNI<\/strong>.  Of course, in this case things work in the opposite direction than in Delphi.  Instead of bringing Java into the native realm with Oxygene JNI support enables an <strong>Oxygene Java<\/strong> project to call into native code, should the need arise.<\/p>\n<p>There have been further improvements in the language to make writing Java in Pascal even more pleasant that already it was.  And finally there is already support for the yet to be released <strong>Java 8<\/strong>.<\/p>\n<p>Oxygene goes from strength to strength.  \ud83d\ude42<\/p>\n<h2>Hydrogene &#8230; ?<\/h2>\n<p>I am increasingly intrigued by another <strong>RemObjects<\/strong> product in the wings: <strong>Hydrogene<\/strong><\/p>\n<p>I can&#8217;t find anything about this other than that a &#8220;hydrogenelanguage&#8221; domain name has been registered (currently redirects to the Oxygene pages) and that <strong>RO<\/strong> seem very excited about it.  What I have learned so far is that it will be a <em>companion<\/em> product to <strong>Oxygene<\/strong> (all platforms) but not <em>part<\/em> of it.<\/p>\n<p>So far the best guess I can come up with &#8211; and it is <strong>only a guess<\/strong> with <strong>no basis<\/strong> in any evidence or clues or &#8220;inside information&#8221; or any such things &#8211; is that it is a new language front-end for the Oxygene back-end compiler architecture.<\/p>\n<p><strong>C#<\/strong> for <strong>Java<\/strong> and <strong>Objective-C<\/strong> perhaps ?<\/p>\n<p>I cannot stress enough &#8211; this is <strong>pure, entirely uninformed guesswork<\/strong>.<\/p>\n<p>If anyone can shed some light &#8211; without breaking any NDA&#8217;s, obviously &#8211; I&#8217;d love to find out what it&#8217;s really all about.  \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">[Estimated Reading Time: <\/span> <span class=\"rt-time\">2<\/span> <span class=\"rt-label rt-postfix\">minutes]<\/span><\/span> RemObjects have officially released the September update to Oxygene with the usual round of bug fixes and some dramatic improvements in the tool chain.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":[]},"categories":[4,180],"tags":[229,216,228,181,152],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1TKYv-tL","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2393,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/2393\/","url_meta":{"origin":1845,"position":0},"title":"Come on Baby, Light My Fire","date":"25 Apr 2016","format":false,"excerpt":"Earlier this year, the Fire IDE for Elements was officially released after a fairly extensive beta. I have previously stuck with Visual Studio for the [relatively little] Elements work I have been doing but problems with my VM solution on a recently acquired MacBook Pro gave me the impetus to\u2026","rel":"","context":"In &quot;Delphi&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/Fire-Initial-Project-300x214.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1457,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/1457\/","url_meta":{"origin":1845,"position":1},"title":"Learning Cocoa with Oxygene and Objective-C","date":"11 Aug 2013","format":false,"excerpt":"When XE4 came out and the full extent of the bait and switch perpetrated by Embarcadero became clear, I decided that my money was better spent with RemObjects and their Oxygene product. But it has only been this past weekend that I finally found some \"quality time\" to spend with\u2026","rel":"","context":"In &quot;Delphi&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/Screen-Shot-2013-08-11-at-17.39.14-.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2228,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/2228\/","url_meta":{"origin":1845,"position":2},"title":"Come on Baby Light My Fire","date":"26 Jul 2014","format":false,"excerpt":"These are exciting times in the mobile development space, especially for followers of RemObjects work. Whilst the likes of Xamarin and Embarcadero pursue their cross-platform abstractions, with varying degrees of success, RemObjects have been focussing on delivering genuinely native solutions and the long term vision that underpins their compiler architecture\u2026","rel":"","context":"In &quot;Android&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1593,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/1593\/","url_meta":{"origin":1845,"position":3},"title":"Learning Valuable Lessons","date":"14 Sep 2013","format":false,"excerpt":"Iztok has been at it again, making comments that prompt another post. :) He expresses his view that there are only two viable options for mobile development. The first is essentially the web-based technology approach (HTML\/JS\/PhoneGap etc) and the other is the platform native tool chains, Eclipse\/AndroidStudio\/Xcode etc. He may\u2026","rel":"","context":"In &quot;Android&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2327,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/2327\/","url_meta":{"origin":1845,"position":4},"title":"On The Shoulders of Giants&#8230;","date":"18 Dec 2014","format":false,"excerpt":"When discussing mobile device application development using Oxygene or other RemObjects Elements technologies, the question of user interface designers doesn't usually take long to come up (particularly with Delphi developers). Up to now the answer has always been Xcode Interface Builder for iOS\/OS X, Visual Studio WinForms\/WPF Designers for .Net\u2026","rel":"","context":"In &quot;Android&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1503,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/1503\/","url_meta":{"origin":1845,"position":5},"title":"Sharing Code Across Platforms in Oxygene","date":"22 Aug 2013","format":false,"excerpt":"There seems to be a perception among some people that Delphi is in the unique position of allowing developers to share and re-use code across the various platforms that it's compiler can now (and will soon) target. But this is not the case. Oxygene has had this capability right from\u2026","rel":"","context":"In &quot;Cooper&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/1845"}],"collection":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/comments?post=1845"}],"version-history":[{"count":2,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/1845\/revisions"}],"predecessor-version":[{"id":1847,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/1845\/revisions\/1847"}],"wp:attachment":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/media?parent=1845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/categories?post=1845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/tags?post=1845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}