Paulista - Fotolia

Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

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.

This article can also be found in the Premium Editorial Download: Modern Mobility: App dev tools strengthen Amazon mobility market play:

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.

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

This was last published in April 2016

Dig Deeper on Mobile enterprise application development

PRO+

Content

Find more PRO+ content and other member only offers, here.

Join the conversation

6 comments

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

How do you decide which mobile app dev frameworks to use?
Cancel

my suggession in develop apps using sap mobility as interface and include enhancement frame work like explicit and implicit.this will help mobile technology to long out standing victory.


regards

khalid

Cancel
mobile app we decide that first we convert mobile app to sap mobility and using bapi technics converts its has explicit enhancements
Cancel

What language do you know?

The “native” languages for IOS is Objective-C and for Android is Java. Even if you don’t know these languages you can build apps in a language you know.

If you know Javascript, you can use Sencha Touch to build a HTML5app and then compile it for iOS or Android native app using Phonegap.

If you know Lua you can write a cross platform native game using Corona. If you know Ruby, RubyMotion will help you build an iPhone and iPad app. If you know Java but want to build for iPhone, you can use GWT-touch to build your HTML5 app and then compile them using PhoneGap.

How native do you want? How much cross platform do you want it?

There is a tradeoff which some of the frameworks make. Sencha, jQtouch and GWT-touch will create a HTML5 app and then convert them for the platform look and feel. The apps in this case look near-native, but unless you are very careful, not 100% native. In comparison, Titanium and Corona create apps using native UI components. They look 100% native.

The advantage the HTML5 apps have is that they are more cross platform and can be compiled for more platforms. They can also be deployed on the web without making any code changes.

Cancel
First choose which type of apps you are using and then and then using some interface you should compare native vs web vs hybrid.


regards

khalid

Cancel
For Developing App first you need to identify what type of application is and then you can decide framework to develop application. Thank for sharing.
Cancel

-ADS BY GOOGLE

SearchNetworking

SearchTelecom

SearchUnifiedCommunications

SearchSecurity

Close