Is HTML5/JavaScript a Mobile Development Silver Bullet?

Mobile development today has a serious dilemma: on one hand we can’t create the best user experience without designing and coding for each targeted form factor. On the other hand we usually don’t have the budget or staff to start from scratch developing a unique application for each new device we’d like to target.

Mobile development today has a serious dilemma: on one hand we can’t create the best user experience without designing and coding for each targeted form factor. On the other hand we usually don’t have the budget or staff to start from scratch developing a unique application for each new device we’d like to target.

HTML5/JavaScript to the Rescue

One potential solution to the dilemma is to develop apps in a common markup/script language that will be correctly reformatted by each device’s built-in web browser, and then wrap the resulting app in a native app container. Today the most common implementation of this approach is to use HTML5/JavaScript solutions like PhoneGap, KendoUI, Sencha or other similar solutions. Most of these toolkits draw core technologies from Cordova, which used to be known by the name PhoneGap, which is now a specific implementation of Cordova, the base technology formerly named PhoneGap. If this point confuses you, this blog post may help.

But HTML5/JavaScript isn’t really a silver bullet solution to the mobile dilemma — it’s merely an optimization choice. HTML5/JavaScript mobile app proponents claim the approach eliminates duplication of development effort with no degradation of user experience or performance. In fact the strategy only partially delivers on these promises, and introduces new compromises. Whether the compromises are acceptable depends on the nature of the application and external constraints such as budget and engineering skills available in the development team.

For developers already proficient with HTML5 and JavaScript, the technology is an obvious way to side-step learning curves and deliver cross-platform applications at the same time. For mobile applications that are essentially tools for consumption of article-based content, HTML5 may indeed be an excellent choice since that content is designed with an HTML web browser in mind anyway.

Yet HTML5/JavaScript isn’t always successful. FaceBook famously discarded its HTML5/JavaScript mobile app implementations to start over with native applications after users were dissatisfied with the user experience. Others have encountered significant and unexpected challenges using HTML5/JavaScript as the complexity of their applications increased.

Write Once Run Everywhere

For as long as users have had a choice among competing computing platforms there have been developers working out how to deliver cross-platform software efficiently. Time will tell whether HTML5/JavaScript will have the same problems other Write-once-run-everywhere approaches have had for the last 40 years, or if it will be the unifying technology that finally solves the cross-platform cost vs. user experience dilemma.

Where to from here?

It remains to be seen what will be the typical implementation strategy for most mobile apps 2–3 years from now. Will most applications be developed on the dominant ecosystems using an ecosystem-provided Universal App capability on each? Will HTML5/JavaScript evolve, eliminate all of its current limitations and become the first truly successful write-once-run-everywhere architecture? Or will a third party like Xamarin provide a proprietary solution to create native apps on any ecosystem without the traditional “lowest common denominator” limitations?


Originally published at rekerrsive.ghost.io on April 20, 2015.

Author: Rob Kerr

Consultant and expert in software development for the iOS and Android platforms. Microsoft MVP Alumnus.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.