Recently, Apple decided to add a clause into the (beta) Terms and Conditions of it’s developers tools:
Just some facts about Appcelerator’s Titanium tools and their app creation process, which we hope will see them on the safe side of Section 3.3.1:
“As a pre-requisite to using Titanium, developers must install the Apple iPhone SDK and Apple XCode development toolchain.
They must install Titanium on a Macintosh and they must have a valid Apple Developer membership before they are even able to create a Titanium-based iPhone/iPad application.
Titanium produces a valid XCode project (*.xcodeproj) at application creation, generates Objective-C (and sometimes C/C++) and executes the xcodebuild to compile the XCode project into a native application using Apple’s published APIs.”
The tools launch Apple’s iPhone simulator to test applications, create the correct Apple binary for integration to iTunes when testing the signed application on a device and uses all the certified Apple tools for signing to create the final distribution.
“The developer must obtain their own Apple signing certificate for creating applications with Titanium and Xcode and the developer uses their own Apple iTunes Connect membership and login to upload the package to Apple for submission. ”
via their developer blog : http://bit.ly/cVfY0w
Adobe’s CS5 however, would allow developers to build iPhone app on Windows, which I’m sure is an absolute no-no. The process appears to be quite a kludge (of the AIR publishing process), from what can be seen in this tutorial by Lee Brimelow (who was extremely vocal about his disdain for Apple in a recent blog post: http://theflashblog.com/?p=1888 )
See his tutorial on Adobe’s app creation process here : http://gotoandlearn.com/play?id=116
One thing to note after watching this tutorial is the resulting iPhone app filesize of the (less than 20 lines of AS3 code) Flash app: 3.2Mb !
That’s pretty big for what it is! And this makes me wonder what else Adobe are bundling with the app. Possibly its ‘LLVM’ (a low-level virtual machine – which is known as an ‘Ahead Of Time’ compiler – see here from Adobe: http://bit.ly/MQtRZ – as opposed to a ‘Just In Time’ compiler, which is effectively what the desktop Flash player is)
The resulting file size of the app? Only 1.6Mb. Amazing.
Another key issue here is that Titanium is completely open source, compared to Adobe’s very much closed platform.
ps: I’m not a Flash hater at all (as many readers who have known me for years will know). I’ve built many useful things on their platform for many years – when it makes sense to. And I agree that desktop performance of it can be awful – what with web pages and blogs literally riddled with them, often causing any browser to crash.
Adobe should concentrate on making their tools support the output of HTML5 .
I have had no experience of Monotouch or Phonegap, though from what I can gather, Phonegap (which is extremely simple, yet limited to what it can actually do beyond what a browser/webapp can do – but with some hooks into a few of the hardware APIs) might also be on the safe side too, since they ironed out issues with Apple a while ago.
UPDATE: PhoneGap use has now been approved under these new terms. See: http://blogs.nitobi.com/jesse/2009/11/20/phonegapp-store-approval/
I, along with many other developers and evangelists fully support Appcelerator and their Titanium tool for iPhone app development. I have found it to be the most exciting and enabling project I have ever seen in many years (15) of mobile and web development.
I’m seriously crossing my fingers for Appcelerator. The hard work they have done to enabled so many great things to be built for the iPhone, the iPad, Android as well as on desktops for OSX, Windows and Linux is truly remarkable.
This story has generated a huge amount of discussion on blogs posts from places like TechCrunch that it’s definitely fired up a lot of passion on both sides of the argument.