A topic that seems to come up every now and again in iOS development conversations is that of Titanium vs. Phonegap. Since I’ve also seen the Appcelerator vs. Phonegap debate come up on this site I thought that I would write a post about it since there seems to be a lot of outdated information on this.
While they are compared quite often these really are two entirely different frameworks meant for two different purposes.
Phonegap
Phonegap was created so that web developers could add utilize all their existing skills and code from creating mobile web apps and add in functionality utilizing native features on the device. What this basically means is you take a web app, run it in a UIWebView an through javascript you can access iPhone features such as the camera an accelerometer.
Advantages Over Appcelerator
– More liberal license (MIT vs Apache open source license)
– Easier testing in browser or simulator created in Adobe Air
– Support for more mobile platforms
Phonegap is great if you’ve created a mobile web page and want to embed it in an app with a few more extra features and monetize it in the app store. With browsers and devices are becoming so much more efficient at running javascript this method of creating apps is likely to grow in popularity.
Appcelerator Titanium Mobile
While Appcelerator Titanium Mobile utilizes javascript it is not done through a UIWebView like Phonegap.
Appcelerator apps go through a complex compilation and optimization process which I don’t have much desire to fully understand I can say though that this creates apps that look, feel, and perform just like native apps coded in pure Objective-C because you are using native UI components.
Advantages Over Phonegap
– Easier to get a native looking app (since you are using native UI components!)
– Better performance
– Can be extended to add in any native feature
Appcelerator is great if your an app developer who wants the similar performance to what you’d get if you were programming the app in Objective-C without having to learn Objective-C.
Conclusion
From the looks of things it might seem like I’m pro-Phonegap. Ultimately they are two completely different frameworks. Phonegap is limited in the way that your javascript runs in the browser so you likely wouldn’t be using it to create a true native interface or any sort of high performance app. Appcelerator can be used for these things, and can do anything just like you were coding with Objective-C.
I hope this clears up much of the Appcelerator vs. Phonegap debate. If you have any comments, questions or corrections please post them.
In case you don’t already know — the Phonegap framework can be found here, and the Titanium Mobile framework can be found here.
Thanks for reading, please share this using the buttons below!
©2010 iPhone, iOS 4, iPad SDK Development Tutorial and Programming Tips. All Rights Reserved.
.
Share and Enjoy: