It’s hard to imagine the first communication between a Web browser and a server via the internet occurred almost 23 year ago. For many businesses, adoption of the web was slow and sometimes painful, but consumers were patient, awaiting opportunities that provided access to endless information, shopping and social networking would afford. However, with the advent and almost stratospheric rise of smart mobile devices, consumers and employees alike are no longer patiently waiting. They want access and they want it now. The demand for mobile apps is staggering and for businesses, embracing mobile app development is no longer an option, it’s a necessity. As organizations work through creating and executing an enterprise mobile app strategy, a key decision to be made is whether to build Native or HTML5 (web apps). There is even talk about Hybrid apps being an option. Each certainly has benefits and drawbacks, but ultimately, native apps simply offer the best overall user experience. In part 1 of this blog – we’ll take a closer look at the challenges of HTML5 (and Hybrid) mobile app development.
HTML5 has provided an opportunity for rapid development of web-based mobile apps even by developers just getting started. Following a write-once-deploy-everywhere strategy, web apps deploy easily and are easy to manage and distribute changes and updates. Being web based, they can also run across multiple mobile devices. This has allowed for a myriad of apps to be created relatively inexpensively and in short time. That said HTML5 has some significant drawbacks especially for consideration in the enterprise mobile app space.
Poor security and lack of offline storage are presently two major roadblocks to an enterprise HTML5 based mobile app strategy. Security issues such as form manipulation, data transfer and injection attacks pose potentially high security risks. While there are some JavaScript coding practices that can help with these issues, HTML5 local storage saves data in unencrypted string form and should not be used for sensitive data. As such, the level of security threat remains concerning, especially when corporate data is involved. As well, though web apps offer some level of local storage it is limited. Online web apps can cache information for use when offline, however, if a screen has not previously been cached, for example, it will not work when offline.
Another key issue with HTML5 is the lack of the “native” user experience. There are several native device features that cannot be taken advantage of with web apps, such as the camera, calendar, GPS and multi touch features. With web apps users won’t have the look and feel of their native device functionality. Additionally, performance can be an issue as web apps can be slow or unstable when an internet connection is unreliable. There are also issues with platform and browser compatibility, especially on Android devices, which will be a key issue now that Samsung devices, the market share leader in 2012, are slated to more than double its percentage point lead over their rivals in 2013.
In the face of web apps drawbacks, a nod must be given to Hybrid apps which are generating a lot of the buzz. These Hybrids basically take the HTML5 technology, and wraps it in native code. These do provide faster performance than web apps with a more native look and feel. They also enable the use of device features like camera and GPS through an abstraction layer. However, since Hybrid apps are doing their best to emulate native apps, the work required to create the “virtually native” look and feel, often takes even more time and coding knowledge than simply building a native app. Additionally, while often faster than a web app, there are still performance issues and lag times especially where graphics performance is concerned. There may also be some compatibility issues when a new device version is released.
HTML5 and Hybrid apps offer some solutions for potentially getting apps out to market fast, and potentially more cost effectively. However, to put all the eggs in one basket of either solution is a risky investment for all the reasons mentioned above. What neither can offer is the ultimate end user experience that can only be gained by providing data rich, cross platform native apps which are more enterprise-viable than ever before. More on that in tomorrow’s blog…
Alex