What’s The Difference?
I’ve seen a lot of confusion out there on what the actual distinction is between PhoneGap and Appcelerator Titanium in terms of programming. Both state that they provide cross-platform mobile development frameworks driven by a Javascript core. How different can they be? Turns out, very.
The fundamental difference is that PhoneGap is a web based solution where Appcelerator Titanium is a pure Javascript API that creates native code. As I’ve gone over the differences between these 2 in detail before, I’m going to very strictly stick to the topic of how their code works. Since people seem to love charts so much, here’s a quick review to show the divergence between the two frameworks:
PhoneGap | Appcelerator Titanium | Notes | |
Javascript API | PhoneGap’s API interacts as typical JS does in your web code. Appcelerator Titanium API is NOT web code, it is used to interact with native code. | ||
Supports HTML5/CSS3 | PhoneGap is a web app that runs in a native web browser view. | ||
Supports Web Standards | PhoneGap looks, feels, and develops like a standard web page. It is also subject to the same browser compatibility concerns. | ||
Supports DOM based JS libraries |
JS libraries that reference the DOM, like jQuery, Prototype, or any of the new <canvas> based libs will only work with Appcelerator Titanium webviews | ||
Native Code | Appcelerator Titanium creates a truly native app via a JS API that maps to native code. | ||
Native UI/Performance | Appcelerator Titanium performance is limited only by the device. PhoneGap’s is limited by the device’s web view. |
What Does This Mean?
- Web developers will have a much easier transition going to PhoneGap than they would Appcelerator Titanium.
- Application developers without serious web development chops will likely gravitate towards Appcelerator Titanium. Why learn HTML, CSS, and Javascript when you can just learn Javascript?
- Designer work will be tougher to integrate into an Appcelerator project as all the layouts and assets are done programmatically. PhoneGap, on the other hand is effectively web development, which designers have been working with for a very long time.
- Appcelerator is always going to win on performance.
- There will be an inevitable flood of web developers calling themselves mobile developers because they are familiar with PhoneGap. Beware.
- Appcelerator has a much deeper and more complex integration with each mobile platform.
- Pros: Native look, feel, and performance
- Cons: Platform compatibility will be achieved more slowly. Much harder to “code once, deploy everywhere”.
Summary
The above is a hyper-condensed review of the whole story. As always, I encourage you to try both of these platforms. They both excel in many areas and offer unique features. Neither is the wrong choice, but depending on your scenario, one might be better suited than the other.