Fast-changing, heterogeneous mobile devices have kept both developers and organizations challenged in many ways. UI design and implementation need to consider wide range of screen sizes and screen orientation. There is lack of uniform development environments and though there are cross platform development tools/solutions, they are in their infancy.
We have 3 choices – Native Apps, Mobile Web solutions and Hybrid Apps. Hybrid Apps is the preferred choice when feasible, as they can use native capabilities of the OS as well as build Web solutions that are cross platform compatible.
Our team at Smartsourcing Global has taken help of 3 platforms – PhoneGap, Rhomobile and Sencha for various Apps. Here is a high level comparison of capabilities of these platforms.
PhoneGap | Rhomobile | Sencha | |
Type | Framework | Platform | Library |
License | Open Source | Open Source | Open Source / Commercial |
Platform Support | iOS, Android, WebOS, RIM, Symbian, BADA, WebOS | iPhone, Android, RIM, Windows Mobile and Windows Phone 7 | Apple iOS 3 +, Android 2.1 + , and BlackBerry 6+ devices |
Device Hardware Support | GPS, Vibration, Camera, Microphone, (plus Accelerometer and Compass on some devices) | GPS, PIM contacts and calendar, camera, native mapping, push, barcode, signature capture, Bluetooth and Near Field Communications (NFC) | No Native Device Hardware Support. |
Native UI Support | No | Yes | No |
Technologies used | HTML + JS + CSS | Ruby + HTML + JS + CSS | SenchaTouch_Library + HTML + JS + CSS |
Cloud Data | No Support | Cloud data syncing using RhoSync | No Support |
Requirements | Platform SDK, PhoneGap | Ruby + IDE(Apatana) + Rhodes_Gems+Platform SDK | SenchaTouch_Library + PhoneGap |
Strengths | All native wrapper source code is provided so it can be customized further. Simple ‘drop-in libraries’ concept makes it easier to develop. Apps built purely in HTML, JavaScript and CSS. | Ruby code helps to structure and control business logic using the built in Model-View-Controller and Object Relational Mapper design patterns. | Provides UI components to give the exact look-n-feel of mobile native App. |
Weaknesses | Assumes that normal capabilities of a web-based application are available. Recommended for applications which are heavily web dependent. Lack of support for native UI components, design patterns and dev tools. |
Updating HTML/JavaScript code needs a complete rebuild. Need to know Ruby well. | Sencha touch is a little more complicated as it is almost a purely programmatic model (you can’t manage design using html, you need to programmatically add elements to a page) |
All these platforms are good but you need to evaluate which one is the most suitable for your requirements.