Mobile App Development Blog

Blog Home

HTML5 App Development: Considering building your app with HTML5? Here’s what you need to know

November 3, 2016

html-5-is-it-the right-choice

HTML5 is the 5th and current version of HTML. Introduced in 2012, HTML5 is a superset of the previous HTML versions including XHTML and Dom Level 2 HTML. (We’ve previously covered more on the evolution of HTML to HTML5.) HTML5 mobile app development gives 80% the feel of a native app at 20% cost of building one. If you want to get the remaining 20% native experience, that’s fine — but prepare to pay 80% more than you would building an HTML5 mobile app. HTML5 alternatives are iOS, Android, and Flash. But Flash is slowly dying and on its way out, so not a recommended course for your new and innovative app!

For industries that have regular content updates like media or news, a hybrid approach (that you can build using HTML5) is for you. An update on the web will immediately get reflected in the app and the rigorous app review processes can be skipped. If you’re a media or news company and go the native app route, expect to go through the app approval processes. As a result, major news outlets like Mashable, TechCrunch and Medium take a hybrid approach. And it’s not just limited to news; in fact, even the Amazon app goes the hybrid route.

There are many benefits to using HTML5; for instance, applications are not restricted by screen sizes and can be run as a local web application and on a browser. The code writing is also relatively easy to learn compared to other technologies. But there are also challenges — for one, since HTML5 is not a language native to the platforms, compatibility of the codes might be an issue. CSS attributes, JavaScript APIs and HTML tags sometimes behave differently among different platforms. Offline accessibility will be limited in this approach.

So at a high-level, that’s what you’re looking at with HTML5. Now, what can you build on it?

  • Responsive web apps

A responsive web application that runs on a browser is the quickest approach to developing an app. It is quicker to build a responsive web app using HTML5 than a native app. This approach is SEO-friendly and works on any operating system, any hardware and on any network. API integrations will be independent of the client side, so compatibility is taken care off.

A disadvantage with this approach is browser incompatibility. ‘Write once, run everywhere’ might not work with all browsers so rigorous QA testing must be done. Web app functionality will be limited to internet connectivity.

2. Responsive web

  • Hybrid apps

A hybrid app is nothing but an HTML5 or a web app sitting in a native framework. This approach gives access to certain native features like the camera and push notifications. This approach still takes a shorter time than building a native app. Native buttons for navigation can also be used to give a better experience. Content updates can be done without app store approvals. There are workarounds to get access to the GPS, contact list and other native features, increasing scalability.

There are disadvantages you’ll have to consider, too, such as maintaining separate code for each platform. And because content is being directly pulled from the web, it is still in a browser shell, so user experience won’t be as smooth as that of a native app. And of course, hybrid apps will have to go through a rigorous approval process, just as a native app would, and user experience will still be less than that of a native approach.

The iOS app approval process generally takes 5 business days or less for the app to be listed in the App Store. Once uploaded, for any new version updates, it takes 2 days for approval. For the Google Play Store, approval to be listed is done in less 24 hours. For any version update, expect 3-4 hours for approval. And what is the reason for the approval processes, anyway? Reliability testing, security, and ensuring that they follow the guidelines and are suited for the correct age and user experience. The guidelines are there to prevent violence, pornography, legal issues and other user experience concerns.

3. Hybrid

  • Progressive web apps

The progressive web is an evolved version of a hybrid app. With new web APIs, new designs and new technology, the progressive web app brings features from native apps. They power offline functionality, content caching, background content updating, push notifications and a lot more. Access from the home screen gives a more native feel to the approach.

Server workers are the powerful technology that drive progressive web apps. These are JavaScript files which run in the background and are independent of the app ensuring the necessary data exchange, event triggers, push notifications and content fetching.

Progressive web apps load instantly even on slow networks. Smooth animations, faster scrolling and navigations give a very close native experience. Access from the home screen, push notifications will engage with users. HTTPS ensures a secure connection between users.

However, there are a few disadvantages you will need to keep in mind. Progressive web app cannot use some hardware technology like the fingerprint scanner or the camera. Browser adaptability is not seamless and you may find glitches in different browsers. Offline functionality is minimal, unlike native apps. Promoting progressive web app on social media is also going to be a challenge, unlike direct app marketing tools.

1. Progressive web

HTML5 is a quick and short term solution for app development. If you want to give the best experience for your users, a native approach is almost always best, unless you’re rich in content and will have to upload it often in which case HTML5 can be a solid option for you. Or if you’re working with a limited budget and resources. Regardless, your approach will depend on your needs and should keep the priorities of the end user in mind.

Have more questions about whether HTML5 is the right choice for you? Feel free to contact us. We’re happy to help clarify!

Looking for a partner to design and build your app?

Let’s Discuss Your App Idea