White Paper INTRODUCTION. In mobile development, there are three different types of applications: PRE-SMARTPHONE MOBILITY NATIVE MOBILE APPLICATIONS



Similar documents
Native, web or hybrid mobile-app development

SYST35300 Hybrid Mobile Application Development

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Navigating the Mobile App Development Landscape

ios SDK possibilities & limitations

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry

Native, Hybrid or Mobile Web Application Development

Lecture 4 Cross-Platform Development. <lecturer, date>

Smartphone Application Development using HTML5-based Cross- Platform Framework

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

The Bootstrapper's Guide to the Mobile Web by Deltina Hay. Mobile App Strategy Worksheet. I. Target Market, App Category, Platforms

separate the content technology display or delivery technology

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

MOBILIZING ORACLE APPLICATIONS ERP. An Approach for Building Scalable Mobility Solutions. A RapidValue Solutions Whitepaper

Developing and deploying mobile apps

Development of mobile applications for multiple platforms

Enterprise Mobile Application Development: Native or Hybrid?

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

the future of mobile web by startech.ro

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

The Suitability of Native Application for University E-Learning Compared to Web-Based Application

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

Choosing a Mobile Strategy for Your Business

HTML5 as the Core Technology of the Mobile Enterprise

Mobile web apps: The best option for business? A whitepaper from mrc

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction

CSC WORLD AN ARTICLE FROM FOCUS ON MOBILITY. Defining Your Mobile Strategy: A Guide to Developing Apps

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

Native mobile apps: The wrong choice for business?

Native vs. HTML5 Mobile App Development

Developing Cross-platform Mobile and Web Apps

Statement of Direction

Cross-Platform Phone Apps & Sites with jquery Mobile

HTML5 / NATIVE / HYBRID

research: technical implemenation

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

RapidValue Enabling Mobility. How to Choose the Right Architecture For Your Mobile Application

HTML5 the new. standard for Interactive Web

Cross Platform Applications with IBM Worklight

Article. One for All Apps in HTML5

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Retool your HTML/JavaScript to go Mobile

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

CiviMobile & CiviSync Mobile. Peter McAndrew Rohit Thakral

HTML5 & Digital Signage

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

Building native mobile apps for Digital Factory

All About Android WHAT IS ANDROID?

Mobile Application Development

Responsive Web Design. vs. Mobile Web App: What s Best for Your Enterprise? A WhitePaper by RapidValue Solutions

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

CROSS PLATFORM DEVELOPMENT The HTML5 Way

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

White Paper. THE GREAT MOBILE APP DEBATE: NATIVE, HTML5 OR HYBRID? Determining the Right Approach for Your Business

Mobile Application Platform

Analysis of Native and Cross-Platform Methods for Mobile Application Development. [ Whitepaper] Praveen Kumar S

Evaluating Cross-Platform Development Approaches (WORA Tools ) for Mobile Applications

Cross-Platform Tools

Dealing with the Dilemma: Mobile App Development Approach & Decisions

Cross-Platform Development

Introduction to Android

Comparing Native Apps with HTML5:

Choosing a Mobile Application Development Approach

Adobe Experience Manager Apps

The biggest mistake we made as a company was betting too much on HTML5 as opposed to native.

Middleware- Driven Mobile Applications

Building Apps for iphone and ipad. Presented by Ryan Hope, Sumeet Singh

Designing for Mobile. Jonathan Wallace

ipad, a revolutionary device - Apple

TimeWave Media Enterprise Guide to HTML5 Mobile

An Analysis of Mobile Application Development Approaches

Rhomobile cross-platfrom

Here s how to choose the right mobile app for you.

CROSS PLATFORM APP A COMPARATIVE STUDY

Accelerating Business Value by

Porting Existing PhoneGap Apps to Tizen OS - Development Story

Mobile App Testing Guide. Basics of Mobile App Testing

Take full advantage of IBM s IDEs for end- to- end mobile development

Enterprise Mobile App Management Essentials. Presented by Ryan Hope and John Nielsen

Bridging the Gap: from a Web App to a Mobile Device App

Cross Platform Applications with IBM Worklight

Development of Hybrid Applications with HTML

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist IBM Corporation

Transcription:

INTRODUCTION The mobile development arena is growing very quickly, especially in the business-to-consumer (B2C) space. We are also seeing significant growth in business-to-business (B2B) enterprise applications and business-to-employee (B2E) portal applications such as payroll and human resources. Mobile applications are being used to save time and money, increase revenue and productivity, and better serve customers. In mobile development, there are three different types of applications: 1. Mobile Web: A mobile Web application is developed utilizing Web technologies, such as HTML, CSS, and JavaScript, and operates on a mobile device through the browser. 2. Native: A native application is written using the mobile device platform-specific software development kit (SDK) to build applications that are installed in that specific operating system (OS). The application is loaded onto the device. 3. Hybrid: A hybrid application includes both native and mobile Web application elements. PRE-SMARTPHONE MOBILITY Mobile Web functionality existed well before the advent of the modern smartphone. The history of mobile applications goes back to Palm OS (also known as Garnet OS), which was a mobile operating system initially developed by Palm, Inc., for personal digital assistants (PDAs) in 1996. Palm OS was designed with a touchscreenbased graphical user interface for ease of use. Palm and Blackberry used Wireless Markup Language (WML) in their applications in the early years of mobile development. Following the release of the iphone in 2007, Apple revolutionized the way mobile applications were built by providing tools and libraries for development of native applications. When Apple revealed its iphone (ios) software development kit (SDK) in February 2008, it created competition for existing mobile Web applications. Initially, Apple was the only company to develop native applications for its iphone, and the iphone SDK was not available to other developers. Competition came through mobile Web applications that could be accessed through a URL and a browser on a mobile device. Other major smartphone providers soon followed Apple s lead, distributing native apps for their devices through their own app stores. NATIVE MOBILE APPLICATIONS A native application is any program written for the specific operating system of a mobile device using the native calls in that device. Apple devices are written in Objective-C and Android devices are written in Java. Native applications are downloaded and installed in the operating system of the mobile device. Typically these applications are downloaded from the application-specific distribution channel, offering providers the option to charge a one-time or recurring fee or provide them at no cost. The updates to native applications are handled through the respective distribution channel for that mobile device and require user action to complete the update.

Native applications have the advantage of storing items locally on the mobile device, in addition to fetching data remotely. One of the most important features a native application has access to is Hardware Graphics Acceleration. This makes animated effects (which can literally sell an application) extremely efficient and engaging. Native applications often provide a more immersive experience than mobile Web apps, since they can access more of the phone s features, like geolocation, the camera, and the user s contact list. Native apps can be deployed to the marketplace associated with the device, providing a simple way to merchandise the app. Native mobile applications require a well-defined infrastructure for feature changes and maintenance updates, as well as distribution. Companies creating these applications also need to customize the application for each of the mobile platforms on which it will run (Android, Blackberry, iphone, etc.) and provide updates to customers as needed. However, if performance and user responsiveness is crucial for an application, then developing a native application is the best option. ADVANTAGES OF NATIVE APPLICATIONS The most common reasons for developing native mobile applications are: Performance: End-user interaction speeds are faster on native applications, providing better response time with no network dependency. Offline mode: Native apps can be used and updated with stored data without network connectivity and without restriction on content retention and size. Marketing: The application can be made available through distribution channels such as the Blackberry App World, Apple s App Store, and Android Market, resulting in less marketing effort and hassle. Leveraging device features: Contacts, camera, accelerometer, GPS, audio/video recording, and digital compass can be used with the app, in addition to more choices for network connectivity and local and push notifications. Monetization: You can charge for native applications but not for mobile Web apps. Richer user experience: Native apps allow development of better animation and graphical user interfaces. DISADVANTAGES OF NATIVE MOBILE APPLICATIONS The biggest disadvantage to building a native application is that it is not inherently cross-platform compatible- -an application for the iphone cannot be deployed on the Android. Code cannot be shared across devices. If your solution is targeting multiple device platforms, you would have to write the application for each platform, potentially increasing your development costs. Some of the other disadvantages for native applications are: Updates Implementation: There is limited control over end-user adoption of new features and maintenance releases. Talent Pool: Seasoned native software developers may be hard to find.

MOBILE WEB APPLICATIONS A mobile Web app does not just run in the mobile browser, but also inside HTML rendering components, such as UIWebView on the iphone or WebView on the Android. One of the distinctive differences is that a mobile Web application resides on the Web server and not on the mobile device (except for some cached files). This ensures that users will always access the most current mobile Web app, without having to update it. It also provides a way for organizations to restrict access to the application without asking the user to uninstall it. In mobile Web applications, HTML provides coding structure, CSS provides a presentational layer, and JavaScript allows the developer to program application behavior. The advent of HTML5 has allowed developers to create more sophisticated applications that utilize local storage, client-side SQLite databases, and have better cache management. HTML5 provides native support for video and audio playback that was not possible to accomplish in the past without third-party plugins. A new version of CSS has greatly contributed to the increasing momentum of the mobile Web app. CSS3 makes it easier for the designer to develop Web applications by providing new properties to create gradients, rounded borders, image masks, and text and box shadows which save bandwidth for the mobile application. CSS3 has introduced several important user experience properties that allow a developer to make hardware-accelerated animations and transformations that run smoothly on the less speedy mobile processor. Apple has greatly contributed into the development of mobile Web apps by open-sourcing the WebKit rendering engine and enabling it to be used in non-apple devices. Android, Blackberry 6, Blackberry 7, Symbian S60 (Nokia), and WebOS use WebKit as the rendering engine in their mobile browsers. WebOS uses WebKit not just as the rendering engine in its browser, but also as the basis of its application runtime. Additionally WebKit is the rendering engine of such desktop browsers as Google Chrome and Apple Safari and is being used in a growing number of other projects. The popularity of WebKit on mobile devices gave mobile Web applications the huge advantage of being cross-platform compliant and running on a variety of mobile devices with little adjustments to the original code. ADVANTAGES OF MOBILE WEB APPLICATIONS The most compelling reason for developing mobile Web apps is that they offer the broadest use by mobile devices. Other reasons include: Deployment: Mobile Web apps are easily deployed, with one single application interface accessible on multiple handset platforms. Distribution: A distribution channel is not required because the application is accessed through a standard URL. In addition, there isn t a need for application royalties to be paid to third-party distribution channels, saving costs. Update Control: The mobile Web system allows greater control over new feature releases and updates.

DISADVANTAGES OF MOBILE WEB APPLICATIONS The biggest disadvantage of a mobile Web application is the limitation on the development of a rich user experience that is comparable to a native application. A mobile Web application has virtually no access to device features. Additional disadvantages may be: Inconsistency: Due to the variation between browsers, HTML5 inconsistencies across mobile browsers can occur. Connectivity: Mobile apps require continuous internet connection. This can be offset by HTML5 offline capabilities, but not in all mobile devices. Speed: Mobile apps communicate through a server, resulting in slower rendering. HYBRID APPLICATIONS A hybrid mobile application is a native, downloadable application that runs all or some of its user interface in a Web view (component that renders HTML content). To the user, a hybrid application is almost indistinguishable from a native one. It is downloaded from the various distribution channels/marketplaces, stored on the individual device, and launched just like any other native application. Built with HTML5 and JavaScript, a hybrid application uses both browser interfaces and native components. ADVANTAGES OF HYBRID MOBILE APPLICATIONS Leveraging device features: Contacts, camera, accelerometer, GPS, audio/video recording, and digital compass can be used with the app, in addition to more choices for network connectivity and local and push notifications. Monetization: Similar to native apps, you can charge for downloading hybrid applications. Marketing: The application can be made available through distribution channels such as the Blackberry App World, Apple s iphone App Store, and Android Market, resulting in less marketing and distribution effort. Richer user experience: Like native apps, hybrid apps facilitate better animation and graphical user interfaces. Versatility: The hybrid app is developed in a cross-platform manner, combining Web technologies like HTML, CSS, and Java, with native components. This allows reuse of large portions of the app s code when developing for multiple devices and saves money in the development process. DISADVANTAGES OF HYBRID MOBILE APPLICATIONS Hybrid applications offer the best of both worlds, but also have the same disadvantages that one sees with Web mobile and native apps. Disadvantages of hybrid applications include: Connectivity: Like mobile Web applications, hybrid apps still require an internet connection.

Inconsistency: Due to the variation between browsers, HTML5 inconsistencies across mobile browsers can occur. Distribution: Deployment of the application depends on the mobile application market for that device. Talent Pool: For iphone, developers well-versed in Objective-C are required, which can be difficult to find. In addition, developers need be familiar with the platform SDK. IS THE DEBATE IRRELEVANT? The future appears to be bright for both native and mobile applications (see Figure 1). Mobile Web and native apps offer different benefits and serve different audiences. Native apps make the most of smartphone features, while mobile Web apps cost less to reach a wider audience. Mobile usage continues to increase worldwide, with both sides of the equation growing with it. With mobile application tools growing more and more advanced, the debate can be circumvented by evaluating the situation and customizing a solution to mitigate disadvantages, such as offering a hybrid solution. Hybrid applications offer great value to publishers and developers by giving the developer the ability to reuse parts of the code written in HTML, CSS, or JavaScript, instead of rewriting the app from scratch for each mobile operating system. THE PROKARMA TOTAL SOLUTION While preference for native or mobile Web applications remains a debatable point in the mobile industry, ProKarma has moved ahead in this space to offer all three. ProKarma adopts and expands upon W3 Consortium Mobile Web Application Best Practices and develops custom solutions in all three types of mobile applications. ProKarma offers in-depth application technology consulting, customizing a solution depending on the client s business problems and end goals. With experience developing native, mobile Web, and hybrid apps, ProKarma can determine the best solution for a specific business problem or goal and develop a custom-tailored mobile app. PROKARMA S NATIVE AND MOBILE WEB SOLUTIONS In spite of challenges, the native mobile application provides several advantages, the strongest of which is the flexibility it provides developers. Native apps can function in offline mode, allowing apps to be customized for specific device capabilities and offering a good user experience. ProKarma also leverages PhoneGap to distribute mobile Web applications through an application store. ProKarma develops both native and mobile Web applications to provide clients with: Greater portability across platforms. Web browser components that display existing content from a Web app (e.g. WebView on iphone/android). Benefits of using an operating system SDK, or through development platforms such as PhoneGap, or through the deployment of Web widgets run-time engines.

Ability to leverage the strengths of both interfaces and offer different product experiences. Cost savings in developing both types of applications, depending on the client s needs NATIVE APPLICATION EXAMPLE One of ProKarma s customers is in the security and home protection business. ProKarma developed a native mobile application that has become the focal point of their business. The application is for anyone with a high-risk job, such as a realtor. If threatened, all the end user has to do is touch the screen twice and the mobile application alerts the security service center and records audio while the end user is on the mobile device, collecting data that can be used in police follow-up if necessary. The application is preset with information such as names, addresses, contacts, lists of local providers (for a monthly fee) and is deployed on three platforms Android, iphone, and Blackberry. In this scenario, an application that would work without internet connectivity was crucial. A native mobile application was selected as the most reliable and user-responsive option. MOBILE WEB APPLICATION EXAMPLE A ProKarma client wanted to mobilize an existing browser-based online service used by employees to bid on jobs, maintain scheduling, and retrieve important messages. With a browser-based solution already in place, it made sense for ProKarma s developers to implement a mobile Web application that would be compatible with employee smartphones. Figure 1: Future Outlook for Native and Mobile Web Applications (Source: GIA Native vs. Web App Industry Survey, 2010)

PROKARMA S HYBRID SOLUTIONS ProKarma makes the best use of available technology and combines it with their proven customization techniques to fulfill their client s goals and provide the customer with the best user experience. ProKarma uses an alternative approach to hybrid applications depending on the client s needs. Some views can be developed as a native application and some views as Web pages; blending these together offers security where it is needed, while still providing superior performance and style. The real advantage is that ProKarma blends these so seamlessly that the user cannot tell the difference between a native view and a Web page view. ProKarma s strengths in successfully deploying hybrid applications are: Making the user experience feel like a native application. Taking full advantage of the enhanced features of a native application. Not simply releasing a hybrid version of a mobile Web application, but developing a custom hybrid application. Optimizing performance. Providing better security on certain aspects for example, a user registration page is a mobile Web application built on a native application. PROKARMA TECHNOLOGY ProKarma has proven experience with a number of tools and environments in the mobile space, such as jquery Mobile, YUI Library, Ext JS, and Prototype, and JQTouch. ProKarma also has experts in Web technologies, including HTML5, CSS3, and JavaScript. On the closed-source side, ProKarma can provide experts in Sencha, a robust JavaScript Web application development framework tool, and Sencha Touch for mobile devices. ProKarma leverages open-source toolkits for Web-to-native platform migration and mobile widgets to deliver rich mobile applications that can be deployed across multiple platforms. Much more than just another mobile applications development company, ProKarma offers complete mobile solutions, from consultation through inception, development, testing, and distribution. Specializing in the three major mobile devices: Android, iphone, and Blackberry, ProKarma s mobile developers are fully trained in Agile methodology and are experts in app development. CONCLUSION Given the current versatility and variety of development options for mobile applications, the key is to determine what platform will best align with your business problems and goals. Mobile applications are a powerful tool for connecting with consumers, businesses, and employees, and their functionality and value is only increasing as the world continues to move toward mobility.

REFERENCES 1. Mark Challinor: HTML5 vs. native app: which is best, or is there an alternative?, http://www.inma.org/blogs/ mobile-tablets/post.cfm/html5-vs-native-apps-which-is-best-or-is-there-an-alternative 2. Jason Grigsby: Native vs. Mobile Web vs. Hybrid Apps for Mobile Development, http://www.slideshare.net/ grigs/native-vs-mobile-web-vs-hybrid-apps-for-mobile-development 3. Thomas Husson: Why The Web Versus Application Debate Is Irrelevant, http://blogs.forrester.com/thomas_ husson/11-05-03-why_the_web_versus_application_debate_is_irrelevant 4. John Koon, Hybrid Mobile Apps: the Best of Both Worlds, http://provenmethod.com/node/92 5. Lie Luo, Mobile applications: Native v Web Apps what are the pros and cons?, http://mobithinking.com/ native-or-web-app 6. Dan Rowinski: Web vs. Native Mobile App? Forrester Says Do Both, http://www.readwriteweb.com/archives/ Web_vs_native_mobile_app_forrester_says_do_both.php 7. RDA Mobile Practice Group Blog: Discussing Mobile Technologies, http://mobile.rdacorp.com/2011/01/mobile- Web-vs-native-vs-hybrid.html 8. Widgets : What are Mobile Widgets? http://www.feedzilla.com/articles/widgets/what-are-mobile-widgets-/ 9. Wikipedia, http://en.wikipedia.org/wiki/palm_os ABOUT PROKARMA ProKarma delivers integrated technology and business process outsourcing solutions for over 150 global leaders in a wide range of industries and markets. ProKarma is co-headquartered in Portland, Oregon and Omaha, Nebraska, with sales and delivery centers in the United States, India, Argentina and Peru. ProKarma was selected as a Global Services 100 Provider for 2012 and ranked as the fastest growing IT services company in America by Inc. 500.