Of course we all know that Microsoft’s IE9 and the forthcoming IE10 are native – VP Dean Hachamovitch said so many times during his keynote at the Mix 2011 conference earlier this week. That has sparked a debate about what native means – so here is another interesting case.
Appcelerator’s Titanium cross-platform tool for mobile development is native, or at least that is what it claims:
So a Titanium application is actually interpreted.
Titanium is also open source. Anyone doubtful about how it works need only consult the code.
In the light of Microsoft’s statements, it is interesting that what Appcelerator really means by native is “not a web page”:
Build Native Apps … Everything else is basically a web page.
So can an application be both native and interpreted? What about Silverlight apps on Windows Phone 7, are they native? Adobe AIR apps, surely they are not native? Google Android has a Native Development Kit which is introduced thus:
The Android NDK is a companion tool to the Android SDK that lets you build performance-critical portions of your apps in native code.
The implication is that byte code executed by the Dalvik virtual machine, which is the normal route for an Android app, is in some sense not native code. Which also implies that Appcelerator’s claims for Titanium are at least open to misunderstanding.