Should Your Next Mobile App be Native, Hybrid or Responsive Web?

January 7, 2015 Appirio

By Greg Barlin

struc

When talking with customers about upcoming mobile projects, I find that many companies have an idea of what they’d like to do.  But when it comes to choosing the right technology to implement that idea, they typically need guidance.  In today’s blog post, I’ll examine some of the different technology options available for developing a new mobile app along with the reasons why you would (and would not) choose each.

Native – Native apps are those written specifically for a mobile operating system using the native language for that system (i.e. – Objective-C / Swift for iOS).  Many companies enter into an app planning process assuming they will develop a native app, and this is rarely a bad choice.  Native apps provide the most flexibility in terms of functionality, and they are generally considered to have the best user experience (although this gap continues to close).  The main drawback is the lack of portability — if you’re developing for two or more platforms, you will need to write two or more completely independent apps.  This can mean a significant increase in cost that makes some companies explore other options that achieve comparable results in a more cost effective way. Here is an example of a Native iOS app.

Hybrid – Hybrid apps are created using a common code base (typically HTML5/javascript or C#) and then compiled for specific platforms using a package like PhoneGap or Xamarin.  Device interactivity is typically accomplished through plugins developed for that package.  Hybrid development can be a good choice for companies looking to support multiple platforms and distribute their apps via an app store, but who are looking for ways to defray the costs of supporting multiple platforms.  For most types of apps (if the they are well-developed), users will not be able to tell the difference between a hybrid app and a native app.  However, this approach can create challenges when significant device interaction is required, and adding the hybrid platform code is yet another item that requires support post-release.

Responsive Web – Responsive web apps are those written using HTML5 and JavaScript / JS frameworks to create a mobile experience accessible through a mobile browser.  Many types of apps concepted today can be developed using this approach, but we find companies who entered into a project thinking “mobile app” generally shying away.  The most commonly cited reasons are the inability to distribute the app via app stores and the concern that future requirements may not be possible with this approach, both valid counter arguments.  With a little creativity — such as code to add the app to the device Home Screen and launch in full screen mode — the noticeable differences can be minimized, making this a viable option for many scenarios, especially when several platforms (iOS, Android, Windows, BlackBerry) need to be supported with little to no device interaction.  As HTML5 continues to evolve and new and improved JavaScript frameworks emerge, this approach continues to gain traction.

Salesforce 1 / Salesforce Lightning – With the cloud such a critical part of Appirio’s DNA, we’d be remiss if we didn’t includes Salesforce1 as part of our discussion.  For Salesforce customers, Salesforce1 provides a viable option when looking to quickly and easily extend Salesforce functionality to mobile devices.  Customers have the option of configuring pages using standard Salesforce layouts, creating custom VisualForce pages within Salesforce that are optimized for mobile, or creating a new class of apps using the soon-to-be-released Salesforce Lightning.  These options can be good choices when speed and cost effectiveness are at a premium and the primary goal of the app is to extend pieces of Salesforce functionality to mobile.  However, non-custom pages can have a so-so user experience, and your options for complete creativity are limited.

There are certainly more decisions to be made, even once you’ve made the initial development approach decision (e.g. – which JavaScript framework(s) should I use?  which Hybrid platform is best for my business?).  The important thing to remember is that the requirements of each app should drive you to your decision.  Just because a native app was the best choice for App #1, it doesn’t necessarily mean that it’s the best choice for App #2.  Understanding the options that exist in an ever-evolving marketplace and their pros and cons will help you make the best technology selection for your next app and get you the best return on your mobile investment.

mobile_apps (1)

Previous Article
How IoT is Changing Customer Service
How IoT is Changing Customer Service

By Carl Krupitzer, ThingLogix The “Internet of Things” (or IoT for short) is not only changing the way we i...

Next Article
3 Ways To Drive Business With Mobile Apps
3 Ways To Drive Business With Mobile Apps

Mobile applications are already becoming a primary component of user engagement. As the use of mobile devic...