Modern Mobility

App dev tools strengthen Amazon mobility market play

Paulista - Fotolia


How to select app development frameworks: Native vs. Web vs. hybrid

IT should take into account device integrations and access methods when choosing which types of apps to develop and deliver.

As companies start to build their own mobile apps, they'll have to choose app development frameworks.

It's an important first step to take an existing process and make it accessible from a mobile device. But apps become transformative when they take advantage of the rich features a mobile device can provide, such as location-based services, push notifications and seamless data sharing. When selecting frameworks with which to build these apps, the biggest consideration is what kind of apps organizations plan to deliver: native, Web or hybrid.

Native app development

Building a native application always results in the best user experience. Mobile operating system makers invest heavily in their own development tools. They want to make sure that the apps developers write in their native languages can take advantage of all the latest OS features and perform at their best.

Companies that have no prior experience with mobile development may be hesitant to have their developers learn separate languages to write apps for both Apple iOS and Google Android, however, because of the extra effort required to support multiple OSes. In situations where a company is standardized on one OS or requires tight hardware integration -- such as with embedded devices, kiosks, point of sale and other special company-issued devices -- it may be more important to develop native applications.

Browser-based Web apps

At the other end of the spectrum are Web apps that users access in mobile browsers. Developers can write these with more familiar Web technologies, such as HTML5, CSS and JavaScript. One version of a Web app can run on multiple mobile OSes. In addition, advances in HTML5 mean Web apps can now do many of the things that native mobile apps can, such as take advantage of cameras and geolocation and launch other apps on the device from within the Web app.

They're attractive, but browser-based apps have many drawbacks. It's only possible to send users push notifications with a few specific browsers, and app logins and sessions can expire quickly. Plus, Web apps can't take advantage of all the latest OS features -- some of the most unique and important traits that make mobile apps so valuable.

The hybrid app concept is popular but can have drawbacks as well.

Another problem: Web apps are just less convenient than native apps. Users have to remember how to navigate them, dig into bookmark menus to find them or know how to place Web bookmarks on their home screens. IT administrators can push these bookmarks to devices with mobile device management, but they still require different management processes than other apps.

For all these reasons, mobile browser-based Web apps have limited use cases in the enterprise.

Hybrid apps

Hybrid apps are Web apps that run inside of a native app shell. Conceptually, this approach brings the best of both worlds. Developers can write the core logic of the app in a Web-based language that's portable across multiple mobile platforms, and the shell can use native code to interact with the device's unique features. As a result, IT can manage and deploy a hybrid app just like any other native app.

Hybrid apps can be as simple as a Web page embedded inside a native app, or they can be much more complex. Many app development frameworks can take apps developers write in Web-based or other languages and compile them into complete native apps for different mobile OSes. Some app development frameworks provide only the user interface for hybrid apps, using native code and all the OS-appropriate design elements.

The hybrid app concept is popular but can have drawbacks as well. Using one codebase for multiple OSes means that developers have to make some compromises. For example, iOS doesn't have full near-field communications support, and Android and iOS apps have different navigation conventions.

In some cases, with all the extra effort needed to make the "write once, deploy anywhere" concept actually work on multiple platforms, it can be easier to just invest in native app development after all.

Other considerations

Enterprise mobile apps also need to connect to infrastructure components for push notifications, management and security, analytics, data syncing and connections to enterprise databases and feeds.

Some people say hybrid and Web apps are good enough for enterprise apps. Others say user experience is more important these days, and apps should take advantage of the native features a mobile OS offers. But different apps and situations call for different development approaches and considerations.

This article originally appeared in the April issue of the Modern Mobility e-zine.

Article 6 of 8

Next Steps

FAQ: What you need to know about developing mobile apps

CIO's guide to mobile app development

Which mobile app development products should you buy?

How to choose cross-platform development tools

Dig Deeper on Mobile enterprise application development