Sneak Peek: Delphi, Android, ARM Assembler and Extra Awesomeness

Less than two years ago, Delphi was a windows-only development tool.

Think about that for a second. In less than 24 months, we’ve added native OSX support and native iOS support, with native Android support currently in beta.

Now, I’m as guilty as anyone of being impatient about features and fixes, but when I step back and view it like that, it’s an amazing change in just two years. This Engineering team astonishes me sometimes.

I said “native” a lot just then. Native has been overloaded to mean lots of different things, but I’m with JT when he says:

“Those of us who have been developing software for a while inherently understand this to mean compiled source code that produces a binary to run directly on the CPU; When the OS loads your app, there is nothing between your app and the machine.”

You can also write apps for Android in Java, using the Dalvik VM, so I’ve had a few people ask me if native still matters on Android? Well, have a look at what Google had to say about the NDK (Native Development Kit) for Android and why they even make it available:

“Early on we noted a strong relationship between the awesomeness of the NDK and the awesomeness of the applications that it made possible”

“With the latest version of the NDK we intend to further increase the awesomeness of your applications, this time by a pretty big margin.”

“We worked hard to increase the utility of the NDK for this release because you guys, the developers who are actually out there making the awesome applications, told us you needed it.”

Awesome :-)

Good thing we’re targeting Android using the NDK, just like we go native for Windows, OSX and iOS.  See the screenshot below of an Android app being debugged on device (click on it to get the full sized image). A lot of what you can see should be familiar if you’re already a Delphi developer, but I’ve brought up the CPU View so you can see the ARM Assembler that’s been generated from the Object Pascal code in my TButton.OnClick handler.


For the eagle-eyed, I’ve also set a Watch on the RefCount property of the event’s Sender parameter. Yes, the new Android compiler is using ARC, just like the iOS compiler. Check out Allen’s blog post on ARC for a lot more detail on how it works. 

Keep your eyes open for one of the upcoming events where you can get a closer look at Delphi’s multi-device support. Also, in case you weren’t aware, we have a special offer going right now:  6 Months Support & Maintenance free on select new user products! Not only will you get the next 6 months of updates and major upgrades free, but you’ll also get priority access into our Android beta program!


Join the Discussion

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">