Search code examples
androidhtmljquery-mobilecordovatitanium

Titanium or PhoneGap for Mobile Web Application?


I am going to create a mobile web application that will run on all web enabled mobile browsers. It will involve searching and booking of hotels and flights. We already have a desktop applocation developed in JavaEE, MySQL for the same.

What do you suggest I should use - PhoneGap or Titanium for this task?

What are the advantages and disadvantages to use each?

And what technologies should I know or learn to use each of these?


Solution

  • Phonegap

    What is PhoneGap Trying To Accomplish?

    The purpose of PhoneGap is to allow HTML-based web applications to be deployed and installed as native applications. PhoneGap web applications are wrapped in a native application shell, and can be installed via the native app stores for multiple platforms. Additionally, PhoneGap strives to provide a common native API set which is typically unavailable to web applications, such as basic camera access, device contacts, and sensors not already exposed in the browser.

    To run a PhoneGap application on a native emulator/simulator, developers will generate a project for each of the native platforms they wish to support, configure that project’s “web root” directory in Xcode, Eclipse, or whatever native toolchain is needed, and then run the project using that tool.

    Strengths of the PhoneGap Approach

    Any native platform that supports a web view or web runtime can be a PhoneGap platform. Anyone who can write HTML, CSS, and even a small bit of JavaScript can wrap up a web page in a native app and distribute it as such. The barrier to entry in using PhoneGap to package web pages as native apps is extremely low.

    Weaknesses of the PhoneGap Approach

    The quality of the user interface in a PhoneGap application will vary based on the quality of the web view and rendering engine on the platform. The Webkit-based rendering engine on iOS is strong, and provides the best performance. The Android web view is functional, but has some notable limitations.

    PhoneGap also cannot be extended with native user interface. The end developer’s application its self lives inside a web view, and user interface is rendered in HTML.

    Titanium

    What is Titanium Trying to Accomplish?

    The goal of Titanium Mobile is to provide a high level, cross-platform JavaScript runtime and API for mobile development (today we support iOS, Android, and the browser, with BlackBerry 10 and Windows Phone coming soon and eventually, respectively). Titanium actually has more in common with MacRuby/Hot Cocoa, PHP, or node.js than it does with PhoneGap, Adobe AIR, Corona, or Rhomobile. Titanium is built on two assertions about mobile development:

    • There is a core of mobile development APIs which can be normalized across platforms. These areas should be targeted for code reuse.
    • There are platform-specific APIs, UI conventions, and features which developers should incorporate when developing for that platform. Platform-specific code should exist for these use cases to provide the best possible experience.

    Strengths of the Titanium Approach

    Get access to a wide array of native features and functionality out of the box, from user interface components to socket interfaces to notification system integration.

    Weaknesses of the Titanium Approach

    Titanium platform is only available on what have been deemed the most critical mobile platforms at present: iOS, Android, and the web.

    Some user interface components do not yet perform as well as their native counterparts under some circumstances, such as very large table views with highly customized layouts.

    Source Link : Comparing Titanium and PhoneGap

    Hope this helps.