PhoneGap (created by Nitobi) was the first and notable framework that captured the attention of the mobile application development community and was eventually acquired by Adobe Systems.
Titanium (from Appcelerator), which was already providing tools for cross-platform application development for Desktops, started supporting iOS and Android around the same time as PhoneGap was announced.
Now, let’s see how PhoneGap and Titanium compare in cross-platform app development and when to choose one of these for your application needs.
PhoneGap / Cordova
PhoneGap is an open source project maintained by the Apache Software Foundation as Apache Cordova. Applications built using PhoneGap are a mix of native functionality combined with most of the business logic built in Javascript and the UI rendering in HTML5/CSS. PhoneGap does not have a UI library of its own, but provides an architecture for communication between the JS layer and the Native layer of the application. The Cordova development community contributes plugins that add to the base framework and modules of Cordova. Cordova’s aim is to build a sub-set of functionalities that are common to all the mobile platforms and expose them through the Javascript interface to a web application. This helps developers by eliminating the conditional programming (coding based on the underlying OS / platform) and focus on the app functionality. But this also causes developers to put in the extra effort and create their own plugins if they need any platform specific functionality.
Titanium
Titanium is also an open source project, which helps build native applications through a Javascript interface. Unlike PhoneGap, the UI of the app will be native but it is generated by Titanium after interpreting the Javascript code. Javascript being a well-known language and web developers being already accustomed to it, Titanium can help create native apps without much training. Developers still need to understand how native applications are created and how native controls or concepts are mapped to the Titanium SDK. Alloy is an MVC framework built on top of Titanium SDK, which uses XML and TSS file formats to define and style the UI of the app. Alloy uses Backbone.js and Underscore.js frameworks to provide tools and architecture needed for the MVC pattern in javascript.
Choosing the right toolchain
- Control on app release: If you want absolute control on the app release and bypass the review processes of the platform specific app stores, pick PhoneGap. Since PhoneGap apps are more like app enclosed websites, you can release/update websites as frequently as you would want to and the app is instantly updated for all of your users.
- Porting an existing web app to mobile: If you have the business logic built and the website already working, then PhoneGap route is the quickest, provided you can quickly make most of your web pages / website mobile friendly.
- Need native UI, but do not know platform specific languages: Titanium wins, because your app can be deployed to all platform specific stores that are currently supported by Titanium. With PhoneGap, your app UI will not be native and performance will depend on the web browser of the platform and its limitations.
- Support all major mobile platforms: PhoneGap is the choice here, it supports iOS, Android, Blackberry 10, Windows 8 and Windows Phone 8, Amazon Fire OS and Tizen. Since the framework and the architecture of PhoneGap are simple, they can be quickly ported to any new platform that may be announced in the future. Titanium, on the other hand, currently supports iOS, Android with BB 10 and Windows (recently added). Adding a new platform to the list supported by Titanium takes a lot of effort and Titanium may or may not choose to support it.
- Software and Hardware needed (infra): PhoneGap applications can be built on any system with just a browser. But tools like Dreamweaver, etc., can be used to help in the process. You would need to have the platform specific OS, SDK, and IDEs only if you want to build the application for deployment on your own machine. You can use a service called PhoneGap Build to build your apps for all supported platforms on the cloud and get the binaries. Titanium, on the other hand, requires platform specific hardware/software/SDKs to be installed to develop and build the apps.
- Programming Languages and Technologies: Although Titanium uses Javascript, XML, etc., to create the apps, the development team must understand the terminology and the constructs of the native applications to build the UI of the apps. PhoneGap does not need this. As long as you are good with HTML/CSS and Javascript you can go ahead and build the UI using any JS framework you like (JQuery Mobile).
This blog does not intend to show one tool is better than the other, since there is never a “one shoe fits all” scenario. Your project requirements and priorities should help you choose the tool.
1-800-805-5783





















