Anda di halaman 1dari 5

White paper: Native versus Web - which approach is best for mobile?

Tieto 2011

Native versus Web which approach is best for mobile?

White paper: Native versus Web - which approach is best for mobile?

Tieto 2011

Introduction
The question of whether to run applications on individual end-user devices or to centralize them on a server has been around since the early days of computing. Microsoft succeeded in taking one round: the Windows operating system and the ecosystem surrounding it were a clear victory for individual, local applications. Nowadays, centralized solutions seem to be undergoing a revival, with faster network connections, more versatile web technologies and the efforts of pioneers like Google. The same trend can also be seen within mobile applications. So far, native solutions have been dominating the field - and they still do. But as mobile browsers are improving all the time and new web standards like HTML5 offer more capabilities, the field is still open. Many professionals are betting on web-based applications becoming a major trend in the long term, whereas the popularity native applications is expected to peak in the next couple of years. This article will describe the current situation of mobile applications. What are the benefits of each approach? Can the two be combined as a hybrid? Note that this article is using the term, application, for the sake of simplicity, even though many apps today are part of a bigger end-to-end solution with multiple connections to another applications or servers running in the cloud.

2011 Tieto Corporation

White paper: Native versus Web - which approach is best for mobile?

Tieto 2011

Web Applications
This text assumes the web application is running in a web browser and not using platform-specific, native application programming interfaces. Note that, although we are using the term web, web applications can be either provided by a web server or preloaded on the device. One reason why mobile web applications have not been considered serious competitors for native ones so far has been their lack of access to several mobile features like location awareness. The latest HTML5 standard is trying to address that problem. The first public working draft of HTML5 was published on January 22, 2008. Specification work is ongoing and is expected to remain so for many years. However, the majority of mobile browsers already support many HTML5 features, such as an offline cache for applications, media playback, a geographic location API and 2D graphics. Figure 2 illustrates the current level of HTML5 support within mobile browsers. Even with the latest HTML5 support, web applications are still missing some important features, such as access to the camera, calendar or contacts. See figure 1 for more details of currently supported mobile features. The biggest advantage with the web-based approach is that the majority of mobile platforms can be supported with just one implementation. Also, a web application provided by a web server is a lot easier to maintain when compared with a native app. However, it must be noted that there is still some variation in the implementations of different web browsers and that may make it challenging to ensure a consistent user experience for all platforms and device types. Mobile web applications are also known to suffer from performance problems. This is particularly true for the more complex ones handling long, scrolling lists, smooth page transitions and heavy backend processing. The user experience is very important nowadays, as the new generation of consumers expects great usability and a stylish lookand-feel.

As illustrated in figure 1, with the native approach you can access almost all of the capabilities of the mobile device. Also, with the native approach you can get the best possible performance from the devices CPU. Putting these together, you can achieve the best possible user experience and access all available features. One of the hottest topics today in the mobile world is mobile ecosystems: the environments that the biggest players are building around their mobile platforms, services and third-party developers. Application market places are an important part of those ecosystems, providing third-party providers possibility to easily charge for their mobile applications as well as making it easy to reach big audiences. As a downside, some players, such as Apple, have placed restrictions on the deployment of third-party applications on their devices via their App Store. They are taking a share of all the business done using third-party applications and they can even refuse to accept some applications into their App Store if they think the applications violates their business rights. Nokia and Google allow users to install any thirdparty applications, including applications outside of their application market places. Figure 1: Supported features Native versus Web Mobile device feature Calls Messaging Network state, battery indication Personal information management (calendar, contacts, ) Application storage File system Media playback Media recording Graphics canvas Web Native

Native Applications
Native applications are created on top of native application programming interfaces provided by a specific platform. In the world of mobile devices, there are a great number of different platforms; iOS, Android, Symbian and Windows Phone 7 just to list a few. No application provider has enough resources to support all of the end-user devices out there and, typically, this means analyzing the target user group and then selecting a subset of platforms to support.

HW acceleration for more complex graphics Gestures, drag & drop Notifications Geo location Sensors (accelerometer, proximity, illumination, ) Background processing

2011 Tieto Corporation

White paper: Native versus Web - which approach is best for mobile?

Tieto 2011

Which one to choose?


Firstly, even though the web-based approach may seem an attractive choice in theory, the fact is that neither mobile browsers nor HTML5 standards are ready to provide the ultimate user experience for applications needing hard data processing or certain features of the mobile device. These factors ensure that a native application is preferable. In many cases, it is the only viable choice particularly in terms of the user experience for most mobile apps available today. The real benefits of HTML5 may still take years to be realised. However, if you do need to support many different platforms on a limited budget, and if the user interface is not too complex, then the web approach may be the preferred option. This may also be true if your application is part of an existing, web-centric solution. The webbased approach should be also considered if you can see a need for your application to change often, in small increments. Furthermore, if you want to avoid Apples App Store, a web app is your only option.

One option that has not yet been mentioned is to take the best of both worlds: native wrapper apps could be used to include web apps in market places, accessing device-native capabilities and handling heavy CPU usage. The web part of the app could provide simple portable UI that could be reused over different platforms. There are already several commercial and non-commercial development frameworks, such as PhoneGap, that help coders deal with multiple platforms. These frameworks can be an effective way to deal with simple applications. However, more complex applications will benefit from an approach based on web development tools and native development tools separately, especially if those tools are already familiar. Therefore, choosing which approach to use for mobile applications is by no means black and white: the pros and cons must be analysed carefully case by case. The vast majority of mobile apps are native, and this will continue for the near future. However, history suggests that this will change at some point probably on many occasions but no-one can tell for sure whether the next change will take a couple of years or even a decade.

Figure 2: Comparison of mobile browsers handling of some HTML5 features, based on html5test.com 2D Tot. score graphics, (max 400) canvas
iOS (4.3.1) native browser Android (2.2.1) native browser Symbian^3 (014.002) native browser WP7 (7.0) native browser Opera Mobile 11 (Symbian, Android) Firefox 4 (Android)

Video/ Geoloca Audio tion API

Drag & drop

Offline app cache

File System Access

App private storage

3D graphics, WebGL

206


X X


X X


X X


X X


X X


X X

182

X X X

29

X X

17

235

X
read-only

235

2011 Tieto Corporation

White paper: Native versus Web - which approach is best for mobile?

Tieto 2011

About Tieto Mobile Solutions


Tieto Mobile Solutions is a global leader in conceptualizing and developing solutions and applications for all mobile platforms and devices. Our services range from custom solution development to ready-made Mobile Solutions with Cloud technologies and Open Source. We have a proven track-record of working with industry leaders in developing the latest solutions with the best mobile service experience and leading technologies. The operations of Tieto Mobile Solutions are spread across several countries around the world, bound together by a specialized global delivery model tailored to fit our customers requirements. For more information, visit: www.tieto.com/ mobilesolutions

13.05.2011 Toni Lehtinen e-mail: toni.lehtinen@tieto.com Pete Rsnen e-mail: pete.s.rasanen@tieto.com Tieto Corporation, Aku Korhosen tie 2-6, P.O Box 38, FI-00441 Helsinki, Finland

2011 Tieto Corporation

Anda mungkin juga menyukai