By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
HTML5 enables more complex functions than earlier versions of the standard, which means that files created with it can be more like apps than like content. Furthermore, almost all current mobile devices support HTML5, which makes developing applications for multiple mobile platforms much simpler, as the code need be only written once.
Coded to be served over the Web to a variety of device types, HTML5 apps are an example of cross-platform development. As HTML5 is an accepted Web standard, it can create apps that are compatible not only with mobile devices but also desktop and notebook browsers, for a seamless experience across all a user’s devices. Furthermore, because HTML5 mobile apps are run from the Web rather than stored locally, users don't have to download updates to view content or use the app.
However, HTML5 mobile apps are not without their caveats. Some HTML5 apps cannot run well – and may not run at all -- with interruptions in connectivity. Even when connections are reliable, HTML5 apps are not as efficient as native apps and may run more slowly. Applications that are less suitable for HTML5 include those that repeatedly access sensors and those that require peak performance or low latency. Research from Syracuse University has also demonstrated that HTML5 frameworks tend to be vulnerable to code injection attacks.
Corporate developers use HTML5 to make app creation less time-consuming, costly and complicated, which facilitates supporting the multiple devices of the typical BYOD (bring your own device) enterprise environment. Private developers also use HTML5 to reach the most potential customers -- not having to rewrite apps for each device type simplifies getting a product into multiple app stores.
As a rule, HTML5 apps are entirely delivered through the browser of the mobile device. Another approach, called a hybrid mobile app, uses HTML5 code that is launched by a container program or wrapper that is written in the native code of the particular mobile operating system.