PhoneGap & Appcelerator Titanium

Mobile application development frameworks comparison matrix , PhoneGap Vs Appcelerator Titanium

Should you use PhoneGap or Appcelerator Titanium for developing a mobile application ?

Well, its has been an interesting and lengthy discussion among mobile app developers. “Code once and run everywhere,” that’s what most developers want .PhoneGap and Titanium serve almost the equal purpose for developers i.e developing cross-platform mobile applications. However, they differ in several aspects.So what a mobile developer should choose if he is looking for cross platform mobile apps development?Which is better and why?

I have been working with these two frameworks.so lets have a short comparison between these two.

PhoneGap

In PhoneGap framework, developers can build applications using HTML/CSS/JavaScript, including JavaScript classes that gives us access to device’s hardware,Motion features,touch features and other APIs feature like contacts, file, camera, storage, microphone, GPS, etc. The final application is then wrapped within a platform native ‘Webview’ browser generated object, and then becomes a useful web application with the ability to access some and most device- specific features.

Appcelerator Titanium

In Titanium framework, developers can build application using Javascript and Titanium’s APIs. The Javascript is then interpreted at runtime. The application’s UI becomes completely as that of native. The Javascript code made calls to the Titanium API which are mapped to native code in the Titanium framework and generate native components. Events generated against the call in those components are sent back to the code in Javascript where we can handle them.The end result is a fast performance app.

Lets have a look to both frameworks directory structure which will clear most of the things.

 Titanium’s IDE                                          Phonegap with Eclipse IDE

Lets have an one-to-one comparison between both frameworks based on some specific points.

Phonegap                      Titanium              Extra Notes

Support for different Platforms

Android,BlackBerry WebWorks (OS 5.0 and up),iOS,Windows Phone 7 and 8,Bada 1.2 & 2.x,webOS,Tizen.

iOS, Android,Mobile Web (beta),Blackberry (beta),Tizen.

Phonegap supports several more platforms than Titanium.

Native-UI Support

No, there are currently attempts made to fix this.

Yes

Phonegap is limited to the device’s WebView.

Installation Requirements

Ruby, Java SDK, Platform SDKs, PhoneGap

Titanium, Platform SDKs, Java SDK

Application Performance

Not as good as Titanium since everything is rendered within a ‘Web View’ of a browser.

Not as good as a native app, but better than Phonegap since native code is produced in the backend.

One advantage of Titanium over Phonegap is that Titanium provides access to device native UI functionalities ,thus provides better performance.

Javascript API support

yes

yes

Both platforms support Javascript API’s in different ways.

Support HTML/CSS

PhoneGap uses HTML5, Javascript and CSS3 for creating application UI and functionality.

Titanium uses just pure Javascript for creating both UI and functionality.

Phonegap is web app that runs on a native web browser view.

App Development cost & effort

Using PhoneGap, any developer can quickly develop a cool application using HTML, CSS and JS.Additionally you can use any back end technology such as PHP, .NET or Ruby.   i’ve used PhoneGap with jQuery Mobile to produce a great looking business application.

Titanium is more complex and requires a JS SDK to do its heavy tasks. Thus, development times are more and it costs more to produce an Application.   You will also need a expert JavaScript developer with good skills of development.

Most developers may not agree with this but personally, i found phonegap as time and effort saving for developing an application as compared to Titanium.

Ease of Debugging

Easy to debug Application.

Not so better debugging like Phonegap.

Debugging PhoneGap application is way better than Titanium because they depend on the standard Webkit which can be debugged using web developer tools.

Data Storage

PhoneGap supports local storage, IndexedDB, and WebSQL etc.

Titanium supports only SQLite embedded database.

Phonegap storage API is based on the W3C Web SQL Database Specification and W3C Web Storage API Specification.

To conclude I would say,If you are looking to create an app with native look and feel using some good JavaScript development skills inhouse Titanium is the right choice, but if you want to be able to “port” your app to various platforms and devices more easily with less time and efforts, PhoneGap is the better option to go for.

Mobile HTML5 Reviews: PhoneGap vs Appcelerator Titanium

PhoneGap and Appcelerator Titanium are both very popular open-source JavaScript frameworks for packaging and deploying mobile applications. At Universal Mind, we have clients that leverage both and clearly both frameworks have countless successful implementations on numerous platforms. However, there are enough significant differences between the two products that it doesn’t really make that much sense to compare them directly. The fundamental difference is that PhoneGap is a web-based solution where Appcelerator Titanium is a pure JavaScript API that creates native code. At the core, they serve different functions for an organization.

At this stage we see many more PhoneGap implementations than Appcelerator Titanum for a few simple reasons. Appcelerator allows developers to utilize JavaScript to write a mobile application and compile down to native code for deployment. PhoneGap allows you to utilize HTML5 standards to write your mobile applications while also providing a JavaScript SDK to access native device capabilities. This clear differentiator is not one to be taken lightly. Simply put, if you want to re-use the same code that you deploy with your HTML5 enterprise desktop apps across other tablet, mobile and connected TV platforms, PhoneGap is the right choice.

PhoneGap is a web app that runs in a native web browser view. It lets you utilize HTML5, CSS, and JavaScript, as well as all of the frameworks, like jQuery Mobile, Sencha, etc. described above. Appcelerator is pure JavaScript that compiles to Native Code. PhoneGap supports more platforms but Appcelerator may give you better performance in specific instances.

I have dropped literally 30+ HTML5/CSS/JavaScript applications into PhoneGap, which run without issue on the desktop, and deployed them to Android, iOS, and Google TV without changing one line of code. PhoneGap clearly promotes the most re-use and provides the easiest transition from desktop to mobile.

Appcelerator is like writing a native application with JavaScript and the Titanium SDK. Thus, if your goal is to re-use your HTML5 code base across mobile, tablet, desktop and TV then PhoneGap has to be the natural choice. Appcelerator touts improved performance because they compile to native code but truthfully we don’t see many use cases where this is a differentiating factor. Organizations usually choose Native iOS or Native Android over a “Native JavaScript” option. PhoneGap also supports deployments to more device platforms than Titanium because it doesn’t need to compile to a native form. It is probably a more natural analysis to compare Native Platform development to Appcelerator.

PhoneGap:

  • JavaScript API that provides access to Native Functions
  • Supports HTML5/CSS3
  • Supports Web Standards & Re-use Across Enterprise Apps
  • Supports DOM based JavaScript Libraries/Frameworks
  • Supports the most platforms

Appcelerator Titanium:

  • JavaScript API that provides access to Native Functions
  • Compiles to Native Code
  • Could provide better performance.