[Estimated Reading Time: 2 minutes]

People looking for a cheap Android tablet have a new option from a respected player: The Asus Pad 7

Although not exactly falling over themselves in excitement (it is an entry level, budget device after all), reviewers are finding a lot to like in this device. But Delphi developers hoping to sell their apps to users of this device – and similar – will have to wait for Embarcadero to address a fundamental issue with their technology.

The problem that devices such as the Asus Pad 7 present for Delphi and for FireMonkey, is that it is built on x86 hardware, rather than ARM. This distinction should be of no interest or concern to an Android user of course. It’s not even a concern for Android developers using, say, RemObjects Oxygene or C# (or Swift). Or any other development tool chain that creates platform native solutions.

When I raised this hardware affinity as an issue with the Embarcadero’s “native” code approach (where “native” in their sense means code that is native to the hardware, as opposed to code that is native to the platform), it was mostly brushed aside as a trifling concern that really only had any bearing on the ability to test/debug in an x86 virtual machine running Android.

Not surprisingly, Intel of course had other ideas and have been encouraging device manufacturers to adopt their hardware in their Android devices. And it seems this is starting to bear fruit.

Which is not such good news for FireMonkey developers.

Fortunately, Embarcadero are on the case, with new support for MIPS, x86 and ARMv6 devices in the XE6 compiler.

Unfortunately, this support consists of providing “shim” code that politely informs users of such devices that your app will not run on them, should they presume to try.

Perhaps XE7 will support more diverse devices ? Though whether any such future “support” will consist of more Apology Shim’s or actual support, developers will just have to wait to find out.

7 thoughts on “Did you get the Memo ?”

  1. When I brought x86 Android and other issues up in response to an MVP’s brief blog post that hailed Delphi as the “perfect mobile development solution”, I expected to begin a dialogue in which we could agree that there was no perfect solution and may never be. Instead, I was told that what I wrote was “controversial” and thus they refused to publish the comment and suggested I take it somewhere else. 🙁

    What I don’t understand about Delphi is that they have an x86 compiler, so why can’t it compile for Android x86? I can never get an answer to this that I can understand; there was even something about the iOS support creating an x86 binary or something. Aren’t they using LLVM now for the compiler which targets both x86 and ARM?

  2. In regards to XE7, DelphiHaters published part of a leaked changelog for an XE7 beta with a link to the full file. There was nothing about x86 Android support, nor anything about a unified LLVM-based desktop compiler that they’ve been teasing us about for at least a year. There were a handful of FireMonkey enhancements, a bit of unit reorganizing, and what is probably the big item, a “Multi-Device Designer” for UIs. The only real language change is being able to treat dynamic arrays something like strings (join them with “+”, etc.), long after everyone’s already begun using lists because of the limitations of dynamic arrays.

  3. >Still not much market share currently (probably less than 1%)<
    so this posting seems to be irrelevant?!?, as put:
    "much ado about (nearly)nothing" ? 😉

    1. Does Intel have a long way to go before x86 is an important and significant proportion of the total Android market ? Absolutely. Bear in mind that once upon a time Android itself had 0% market share. 😉

      But this cannot be both “irrelevant” and “controversial” (see Joseph’s comment).

Comments are closed.