White Paper
Mobile Web Apps versus Native Apps:
Bypassing the Debate
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 touchscreen-based 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.
White Paper
Mobile Web Apps versus Native Apps:
Bypassing the Debate
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.
White Paper
Mobile Web Apps versus Native Apps:
Bypassing the Debate
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.
White Paper
Mobile Web Apps versus Native Apps:
Bypassing the Debate
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:
White Paper
Mobile Web Apps versus Native Apps:
Bypassing the Debate
• 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
White Paper
Mobile Web Apps versus Native Apps:
Bypassing the Debate
• 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.
White Paper
Mobile Web Apps versus Native Apps:
Bypassing the Debate
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.
White Paper
Mobile Web Apps versus Native Apps:
Bypassing the Debate
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_OSABOUT 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