There are officially more mobile devices than people in the world! Having a business presence on those mobile devices is essential if you want to compete. But getting there isn’t straight forward, picking the right path is a minefield and getting a straight answer on what kind of mobile app to build isn’t easy. Today we’re exploring HTML5 vs Hybrid vs Native App Development.
The challenge is that there are a lot of dimensions to consider so the right approach has to be tailored to your specific needs. There is a spectrum of approaches and where you land depends heavily on what you are trying to achieve and what limitations, if any, you are working within.
At the project inception Waracle take time to advise our clients on the best approach to take when making a mobile app for our customers’ businesses and their projects. We try to make it as simple as possible to help pick the right path on their journey. This blog will take you through the questions we ask of our clients to help them select the right approach for them.
So, what approaches to a mobile app are there?
At one end of the development scale we have responsive HTML5 web sites. Basically these are web site that displays effectively on a mobile device (they scale and adapt to the
dimensions of that particular device). This won’t give the best experience possible to the customer but is quicker and cheaper to develop and the skills required are easily available.
At the other end of the development scale we have native apps e.g. iOS, Android. These are written specifically for the platform you’re targeting using the tools specific to that platform. If you want to have a presence on Android and iOS you will need two apps, one for each platform. This approach will give you full access to the underlying platform and arguably the best performance and experience.
In the past Native apps have been the most expensive to produce because the skills needed are in high demand and the technology is more complex to work with than Web Technologies. Using a shared C/C++ library, J2Objc or Apportable can help take code developed for one platform and reuse it for another which can reduce the expense of developing platform Native apps. These techniques can be especially useful if the app is business logic heavy that logic is likely to be reuseable.
There are two sub-categories of Hybrid app
These are wrappers or containers written as a native application that sits around an HTML5 website exposing some features of the underlying platform e.g. Cordova/PhoneGap. The container in a hybrid app can be replaced with one for another platform with minimal development time making it far easier to target both iOS and Android.
The level of access to the underlying device may make this approach less attractive. Newer features in the platform may not yet be available for your wrapper and if you are making heavy use of the underlying device then the extra control a native app gives you may result in better outcomes for your project.
These technologies can help you get to a place you can get the advantage of using experienced web developers skills to create native looking and feeling apps.
The disadvantage of both the hybrid approaches is a hit to performance to run the wrapper although this is much improved from earlier versions and can be further improved using technologies like crosswalk which allow you to bundle a Chrome webview with your app.
So given that minefield…what should you pick for your project? Well, here are the questions we ask our clients and ourselves when considering any new mobile project.
If you already have an application that is working for you and there is no need to change approaches then don’t! Continue to use your current technology which you’ve already invested in. You will definitely get your new idea to market quicker using what you already have. If you are starting from scratch then use the following questions to help you pick the best approach.
Only Native and Hybrid apps can be sold through the app store. If you want to make your app available in the store then HTML5 is not for you.
Only Native and Hybrid apps can charge for download in the app store or offer in-app purchases. In-App purchases have been falling in popularity recently but are still the dominant method of mobile payment.
HTML5 apps can’t receive push notifications. Those are the notifications you get on your phone that appear even when the app isn’t open. If you want to market using push notifications, to the customer’s device, then you have to pick either Hybrid or Native.
Maybe you can use your existing site to make a hybrid app, maybe you don’t need an app at all if you’re getting customer to use your web site on their mobile phones.
HTML5 apps don’t have any access to the underlying device so if you need a sensor then that rules out this approach. If you need lots of sensors or lots of control over the sensors the a native approach could be for you. If you just need the camera and basic control then a hybrid app can use native plugins to get you there. Use too many plugins and you may be better off going native.
Native apps are faster. Hybrid apps are getting faster but will never be as fast as native. If you’re writing a FPS zombie game then a hybrid app isn’t for you!
If you need your app to work on as many devices as possible and as many platforms as possible then using a hybrid app which is cross-platform is the way to go.
Older versions of the platforms running on older devices are generally slower and have fewer features. Each version you support makes writing a native app more complicated as different versions of the underlying APIs have to be supported. A hybrid app can isolate you from these differences and using technologies such as Crosswalk, which replaces the Webview component with a version of Chrome, you can greatly improve performance.
If you are only supporting one device then you can get the best from that device by creating a native app for that known platform.
SEO is still the best way to publicise your web site. Only HTML5 allows you to do this. That’s not to say that you couldn’t put up a landing page that opens the App store to help your customers find your new app when it is developed.
HTML5 uses web technologies which your organisation may already have some experience with. These are the least expensive developers if you were to hire them. The price increases with hybrid and steps up again with native developers who are harder to find. Models like Build, Operate and Transfer (BOT) might also be a key consideration.
Like all difficult decisions we’re balancing a set of tradeoffs. I hope that by going through the process we use we’ve helped you get one step further to getting your own business mobile app and clarified the questions you need to ask before you start.
We’d love to hear from you especially if we at Waracle can help you on your mobile journey.