Native, hybrid or web-based? How should you choose?

Mobile app development becomes a core part of the overall enterprise mobility strategy. Even though developing apps is now much popular than ever, developing enterprises app...

News

The place for insider news, here promises you first hand scoop, fast and fresh.

Native, hybrid or web-based? How should you choose?

In News August 07, 2013

Mobile app development becomes a core part of the overall enterprise mobility strategy. Even though developing apps is now much popular than ever, developing enterprises app is not a simple task. IT managers and CTOs must keep up with the latest technological trends and make great decision on developing and deploying enterprise mobile strategy to their businesses. One key thing to consider while planning for your enterprise mobility strategy is to decide which app development approach that best fulfill your business needs. The three basic approaches to developing enterprise mobile apps are native, web-based and hybrid. Each approach has different advantages and disadvantages. Whether to go native, web-based or hybrid can be tricky and so it is important to understand these differences before deciding on. This post will pinpoint some of the key advantages and disadvantages of each approach and hopefully give you a better understanding on what fit your business the best.

1. Native apps

Definition: A native app is specific to a given mobile platform (iOS or Android) using the development tools and language that the respective platform supports (e.g., Xcode and Objective-C with iOS, Eclipse and Java with Android). Native apps look and perform the best. (source: wiki.developforce.com)

In general, native app provides the best usability, the best features, and the best overall mobile experience. Here are some advantages you only get with native apps:

a. User experience

Native application can take advantage of features of the operating system that are not available to web applications. Things like: tilt sensing, touch events, and even the phone or camera.

b. Performance

When it comes to both loading and rendering, whether you have good, or terrible internet access, native is always faster. When you start the app, it opens up immediately. When you use the app, you get fast performance, consistent platform look and feel. When your app needs an update, it tells you so.

c. Development cost

Even though native app sounds very promising, there are also some drawbacks that IT managers and CTO should take into consideration. The obvious disadvantage of native apps is that you have to build a native app for each platform that you want to support. If that’s just one platform, then great. But for most businesses, iOS and Android are the minimum basic starting point while Windows Phone and Blackberry support might be necessary depending on your situation.

If you build three apps, that means that you have just tripled your maintenance costs. If you want to update your apps, then you will need to code three separate updates.

2. Web-based/ HTML 5 apps

Definition: Web-based or HTML 5 apps use standard web technologies—typically HTML5, JavaScript and CSS. This write-once-run-anywhere approach to mobile development creates cross-platform mobile applications that work on multiple devices. (source: wiki.developforce.com)

a. Platform compatibility

Developing for HTML5 saves you time, allowing you to build the app once and deploy it on any platform. Additionally, users are able to access HTML5 apps without downloading them to their phones. This is the perfect option for those people who need to launch their app on multiple platforms fast.

When Facebook first launched their mobile clients, they chose the HTML 5 development approach because 1.) they needed to deploy it fast to every smartphone user so that’s why they had to cover all mainstream smartphone platforms as soon as possible. 2.) they’re betting on HTML 5 as the big trend of smartphone app development and believe the technology will catch up fast enough. That was how Facebook successfully captured a huge amount of users from their mobile clients in the early days.

b. Appstore approval process

If you’ve ever built an iOS app before, you should know going through the iTunes appstore is a pain. If you’re not so lucky, you might need to get a few more attempts to get through Apple’s appstore approval process. Since everything is totally on the web now, you can easily update your app live anytime you want without worrying about the painful approval process.

c. Limited native feature

One big disadvantage of choosing a web-based solution is that you are limited in what smartphone features that you can access. That leaves you locked out of a lot of important features like the camera and the accelerometer.

3. Hybrid apps

Definition: The hybrid approach is written with web technologies that run inside a native app container. For example, a hybrid iPad app would be written in HTML5 with Javascript and CSS. The container embeds a “webview” that is used to display a single page application and also an integration layer to the mobile OS. Thus, the application is seen by the OS as truly native while some of the app contents are display via webview. (source: wiki.developforce.com)

a. Balance of everything

Since it’s basically half native, half web-based approach, it takes the advantages of most of the device features whilst supporting multiple different devices. Unlike a mobile web app, Hybrid apps render the HTML5 & JavaScript in a full-screen web view control, not in a browser thus enabling a  better native-like user experience. Businesses that don’t require the extremely high levels of performance would benefit from a hybrid app due to its faster development process, improved compatibility, and much more.

c. Fragmentation issue

The biggest disadvantage of a hybrid app is that it won’t have the look and feel of a native app. You could customize the HTML5 to look native on each platform, but then you can’t reuse the HTML5 code for your other platforms.

d. Talent availability

Another disadvantage is that you still need access to all of the different native coding skills, albeit not as much as you would with a full set of native apps. Any time you want to update a feature of your app that uses various features of the phone’s hardware, you will be working with native code. The performance again will not be on par with a native app, but it can still be pretty good.

So which one best fit for enterprise mobility strategy?

I would say it really depends. Different businesses have different objectives for their enterprise mobility strategy. If your apps require access to device-specific features or superior reaction time needed for activities like stock trading and etc, then native is your best choice. An HTML5 app is perfect for those businesses that want to keep users updated during periods of frequent change. If you have limited budget but needed to develop many apps for many platforms, web-based HTML5 app would definitely save you much development cost and time even though you will have to sacrifice the speed and performance. If you are somewhere between the two, well then go hybrid.