Taking Your App Mobile: Native v. Hybrid v. PWA

August 2017

By Dea Crittenden, President & Owner, Digital Electronic Applications

You can't build an app today without considering building a mobile version.  Although most app users do so on web versions, meaning they use them on their desktop computer, there is a large audience that uses mobile apps almost exclusively.  In deciding to go mobile, which for most app creators is a given, the question comes down to building native apps or a single hybrid app or the newer Progressive Web App (PWA).

Unless your app is exclusively mobile, building native means building two separate versions of the app:  A version for the iOS products such as Apple's iPhone and iPad, and another version for the Android operating system which includes Samsung, Nokia, and a few others.  Then there are the Windows mobile users and the last remaining Blackberry users.  Neither of these two would be available if you create native apps for Apple and Android.  The Windows and Blackberry native versions are usually not built because there just aren't enough users to make the added cost worthwhile. 

As it is, building native apps are expensive because they involve a completely different code base than the core web app.  These would also require regular updates on the mobile phone whenever there is a code change.  Plus if your app provides a lot of functionality this may mean either the app loses some functionality or risks being a data hog.  Ongoing maintenance can also be expensive as you usually need two teams of developers on staff, one to maintain the mobile code and one to maintain the web code, that is if you are hosting both a mobile version and a web version of your app.

Building hybrid means building an app that shares the back-end code base with the web app.  The front-end (views, initial functions, and some data storage) can be built using code that works with the mobile device's browser and provides access to the mobile device's built in services, such as "push" notifications. You know… those little red dots that appear when an app notifies you of new content.

By sharing back-end code with the web version you can reduce not only the cost of building the mobile app but also the cost of maintenance. Plus the hybrid would be easier to maintain since most of the functions are not on the phone but on the web server where it is easier to update and maintain the code. The hybrid app can also be downloaded from the app stores in the same way that a native app is. A draw back of the hybrid is the need to be connected to the internet for data syncing if the user is offline when entering data.  However, the sync could be managed and automated.  With wide availability to the internet including more unlimited data packages, this would be less prohibitive than it was in years past.

Building a PWA would mean essentially creating a simple "wrapper" for the web based version so you can allow the login and landing pages to persist on the mobile device's desktop.  A PWA would mean the user has to be connected to the internet to use it and the user needs to install the app from your product landing page instead of from one of the app stores.  Since PWAs are really web apps with a mobile desktop presence and a bit of data stored on the mobile phone's browser, updates and maintenance would all be accomplished simultaneously with updates to the web app.  However, you may lose access to some important features on the mobile device, such as the "push" notifications mentioned above.  And, because the app would not be available on the app stores, you miss out on opportunities when mobile users are searching app options.

The decision of selecting among the three options is not easy, but may best be settled by these factors:

1. Time to build (two native apps and a web app),

2. Cost to build (if you are a startup, not only is time money, but money is money and it is thin when you don't have a revenue stream from a product yet), and

3. Loss or gain of important features ("push" notifications and availability on the app stores are important considerations).

Final decision?  How you decide depends on your ultimate goal.  If you need the native features of the phone, native may be the only choice.  Both Apple and Android phones have certain features that can only be accessed with a native build, using code base such as Java.  This includes iPad as well as iPhone.  If native features are not needed and depending on how you plan to have users obtain your app, either the Hybrid or PWA may be the best option in both the short and long-run.

Dea Crittenden is President and Owner of Digital Electronic Applications, a web application development company located in Rochester, Michigan.  Dea has over 15 years of experience working in computer systems administration and eight years of experience in web app development.  Dea’s company is currently developing a web and mobile application for consumer and business use that will be released in December 2017.  Prior to starting her own company, Dea was Director of Technology and Product Development for a Detroit based FinTech company.  You can learn more about Dea’s current venture at www.myhitapp.com, or on LinkedIn.