{"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=\"span-reading-time 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=\"span-reading-time 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_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[4,180],"tags":[229,216,228,181,152],"class_list":["post-1845","post","type-post","status-publish","format-standard","hentry","category-delphi","category-oxygene","tag-arm64","tag-ios-7","tag-java-8","tag-oxygene-2","tag-xcode"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1TKYv-tL","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/1845","targetHints":{"allow":["GET"]}}],"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}]}}