M OBILE A PPLICATION D EVELOPMENT S TRATEGY Choosing the right platform and tools This document aims to compare the native mobile application development with cross-platform tool based development approaches. The document compares two of the most popular platforms, PhoneGap and Titanium in general and provides a SWOT analysis and proposes PhoneGap as a choice of platform for developing iNurse application. Vimarsh P Vasavada 3/29/2012 3/29/2012 MOBILE APPLICATION DEVELOPMENT STRATEGY Choosing the right platform and tools NATIVE MOBILE APPLICATION DEVELOPMENT The mobile application development historically began as a Native Appplication development on top of a particular mobile development SDK/Platform i.e. in earlier days of J2ME/WinCE platforms to today’s vastly popular platforms like iOS, Android etc. The native application development approaches has its unique advantages, mainly in terms of significant performance benefits and access to native platform features. However, with increasing number of platforms/versions and variety of devices, form-factors etc. the pure native app development as an approach has been scrutinized for many application. The pros/cons of native application is outlined briefly below: Key Value Proposition Allows access to native platform features Native application experience (i.e. Usability and User Experience) Performance Allows to specialize i.e. iOS app and Android app can be designed differently for a given business need. Key Challenges: Addressing large set of devices (Mobile phones, Tablets etc.) Addressing Fragmentation of device platforms i.e. iOS, Android,BlackBerry etc. o The problem of fragementation is further complicated by multiple versions for a given single platform i.e. there are key differences between Android 2.1 , 3.x and now 4.x versions. o Fragementation side effects o The Development knowhow and people dependency - In order to develop a particular application for all different devices a particular organization needs to have typically iOS, Android etc. team o Maintenance overhead for upcoming platform version support,new platform support etc. Testing and Porting on large number of handsets/tablets 1 3/29/2012 CROSS-PLATFORM TOOL BASED MOBILE APPLICATION DEVELOPMENT The fragmentation and development challenges posed by native app development are addressed by cross-platform tools. These tools in general provide a simplified single abstraction to mobile app development and in turn hide the complexity of device fragmentation etc. Key Value Proposition Single simplified programming abstraction (for e.g. Java Script, HTML etc.) Manages device fragmentation internally Support for newer platforms/versions is seamless Some platforms like Titanium can provide Native Look & Feel (i.e. Usability & User Experience) Some platform/tools like Titanium do allow to specialize for a given platform Key Challenges: Performance Some platforms/tools do NOT provide Native Look & Feel for the application Restricted environment as the full access to native capabilities is not available. Some platform/tools do NOT allow to specialize for a given platform The following sections provide a brief overview of PhoneGap and Titanium platforms and then compare them at detail level. 2 3/29/2012 PHONEGAP PLATFORM The PhoneGap platform is widely used tool to develop cross-platform mobile apps. Development The PhoneGap leverages existing web technology like HTML5, JavaScript, and CSS3 etc. to author the mobile application. The PhoneGap platform has recently been acquired by Adobe and now comes with Adobe DW integration. Build The PhoneGap build tools basically packages these files as an application binary and allows to be downloaded via app-store. The build tools comes in two flavours Eclipse/iOS IDE based plugins wherin a developer needs to build and configure with the help of Eclipse plugin A build-service, a paid service by PhoneGap that shields the application packaging complexities and tool/installation knowhow requirements Execution/Run-Time Architecture At run time PhoeGap leverages platform’s browser capabilities using WebView component to render HTML5/JS. This has standard interpretation cost and also this means clearly that PhoneGap apps are NOT native apps Licensing Apache TITANIUM PLATFORM Titanium platform AppAccelartor is very popular cross-platform tool. Development The application are sketched using Java Script APIs provided by Titanium platform. The latest version of Titanium platform can consume HTML5/CSS3 etc. as well. Build The platform provides a Titanium Studio, an eclipse-tool, to build the final application binary. 3 3/29/2012 Execution/Run-Time Architecture At run time Titanium is significantly different from PhoneGap. The titanium platform interprets the given JS files and at runtime it maps to Native UI components. For e.g., in JS file one would have written var btnHomeCJ = Titanium.UI.createButton({ title : "Home",….) At runtime this button will be interpreted to Android/Native button. In other words, Titanium apps are true Native apps FEATURE COMPARISON Feature PhoneGap Titanium Development technologies HTML5,CSS3, Java Script JQuery Mobile DreamWeaver Eclipse Plugin HTML5 and CSS3 provides powerful features to sketch UI Titanium Java Script API Yes Yes Yes Yes Yes Yes Possible , will require custom NATIVE plugin development Possibble , will require custom NATIVE plugin development and integration iOS Android BB Windows Palm Bada OpenSource/Free Possible , will require custom NATIVE plugin development Possibble , will require custom NATIVE plugin development iOS Android WYSIWIG Editor(s) Build Tools User Interface Events Database Communication Access to phone’s capabilities like Camera,Contacts etc. NFC Security Platforms supported Licensing NOT AVAILABLE Eclipse Tool Provide Native L&F. Allows to access iOS and Android native UI components. Most of the events like Touch,LongPress,Swipe etc. are supported in both the platforms OpenSource/Free 4 3/29/2012 SWOT ANALYSIS Strength PhoneGap Titanium Leverage existing web skills Supports all major phone platforms Weakness Not a true Native App Leverages Java Script based development Native L&F Allows to specialize for Android/iOS Professional support available Relatively tough to work with as a tool Opportunity Threats With HTML5 becoming a defacto standard and recent acquisition of PhoneGap by Adobe makes it an interesting option Future requirement for Native L&F RECOMMENDATION FOR I NURSE APPLICATION DEVELOPMENT For iNurse Tablet application, first of all the cross-platform tool based approach is recommended as the application is a straight forward Rich Ajax Mobile Application. The native application is preferred generally when CPU intensive tasks are to be performed for e.g. PDF Reader of Photo Processing application etc. The PhoneGap platform is recommended as a tool of choice for iNurse as it is simple and serves all the current/future needs of iNurse. The PhoneGap has large user base, is backed by Adobe and has proper tooling and professional support as well. For all these reasons PhoneGap is best fit for iNurse application development. 5