Thursday, March 28, 2013

Cross Platform Application Development

There are multiple tools available for cross platform application development. Mainly two tools are useful & stable.

1) Titanium : It is a pure JavaScript API also supports HTML5.
2) PhoneGap : Normal JavaScript, HTML5 & Mobile JQueries

Both have some Pros & Cons.

Pros of Titanium:

  • Used for cross platform application.
  • Open source & free.
  • Rapid Development.
  • Application look & feel same as native. 
  • When You're developing apps which incorporate the general stuff like Geo-location, Databases, web-services, photos and images, galleries, table-views, scroll-views, and so on in this case titanium or Phone-Gap is better option.
  • Performance is better compare to other cross platform tools (e.g  PhoneGap).
  • It generates the native code it leads to better performance.
  • All native components available.
  • Push Notification Implementation as well as web-service parsing is very simpler.
  • We can create native module as per our requirement.
  • Through the JSS (e.g  CSS) we can modularize our code.We can maintain Design stuffs in JSS no need to write entire code in JS file.
Cons of Titanium:

  • When you  are going to develop applications like Augmented Reality with 3D models / pattern recognition and absolutely depend on top-performance - Titanium or or Phone-Gap probably not the right choice.(Not any cross platform tool is good choice for this kind of application) 
  • BlackBerry support is not available for free version. We need Enterprise account for blackberry support.
  • Debugging & Compiling is time consuming compare to PhoneGap.
  • Asynchronous web-service call is only available for iOS.    
  • We can not debug on device directly.
  • calendar module is not available.
  • Sometimes changes are not reflected at the same time. (As per discussion with accelerator they will resolve this issue with next release). 
 Pros of PhoneGap:

  • Used for cross platform application.
  • Open source & free. 
  • Mobile Jequery, iOS inspired Jequery & HTML 5 support is very well.
  •  Almost controllers available in Mobile Jequery.
  • No need any specific development tool.
  • Debug & compile time is less compare to titanium because we can compile code in browser.
  • It supports almost all Mobile OS.
  •  We can develop plugin for intercommunication between ios & JavaScript. Through the plugin we can access native features.
  • In PhoneGap we can deal with camera, native calendar, Local Database etc.

Cons of PhoneGap:
  • Performance is low compare to titanium. Coz All code runs in web-view component.
  • Many times we have to write code separately. e.g Suppose you want to add tab-bar in your application in that case you have to write code twice one for Android and one for iOS. because android has tab-bar on top side & in iOS tab-bar is in bottom side.  In Titanium we just have to write once it will convert as per OS.
  • PhoneGap APIs are built using DOM based JavaScript which is not multi-threaded and hence do not support background processing.
  • If you have advanced graphics & animation which is not fully supported in phone-gap.


My Next Post

  1. Basic Concepts Of Titanium.
  2. Push Notification implementation in Titanium & PhoneGap
  3. Web-service Implementation in Titanium & PhoneGap
  4. Module & Plugin creation
  5. SQLite Integration in Titanium & PhoneGap
  6.  Camera Integration & QR code Reader APP in Titanium & PhoneGap

Please let me know anything you want related to Titanium & PhoneGap.







No comments:

Post a Comment