Have your HTML5 and native app too

A new browser and set of APIs and code libraries for iOS and Android devices promise HTML5 apps that tap into native capabilities

HTML5 has been promised as the way to escape paying Apple its 30 percent cut of app sales while delivering apps to users, but HTML5-based Web apps have a limitation that has made the promise less real than developers might hope. Yes, Android and iOS -- the two main app-savvy mobile OSes -- support a significant percentage of the evolving HTML5 specification, and the new BlackBerry OS 7 actually outperforms Google's Android in this regard. But there's a lot that HTML5 can't do. Specifically, it doesn't let developers tap into smartphones' and tablets' native hardware capabilities.

That's led to a two-caste system: "real" native apps that fully exploit the hardware and OS, and Web apps that are typically presentation widgets for dashboards or unsatisfyingly limited apps à la the Google Docs or Office 365 experience on mobile devices.

[ Go deep into HTML5 programming in InfoWorld's "HTML5 Megaguide Deep Dive" PDF how-to report. Then understand the issues surrounding HTML5 today in InfoWorld's HTML5 Deep Dive PDF strategy report. | Keep up on key mobile developments and insights via Twitter and with the Mobile Edge blog and Mobilize newsletter. ]

A small company called AppMobi says you now can have your cake and eat it, too -- that is, you can develop HTML5 apps that tap into native hardware and OS capabilities, such as gravity sensing, accelerometer, GPS, camera, sound and vibration, and the file system. Its MobiUs browser for iOS implements HTML5's DirectCanvas API for gaming, as well as the HTML5 local storage API for saving executables and data in the browser cache so that apps can run offline.

But what makes MobiUs more than just yet another browser (available now for iOS via the App Store and expected early next year for Android via the Android Market) is the set of libraries AppMobi provides app developers to access native hardware and enable push messaging from Web apps. (AppMobi provides developers using its access to two libraries: AppMobi's own and PhoneGap's version 1.0 library.) Also, users can run AppMobi HTML5 apps in Safari, Chrome, and other browsers -- not just the MobiUs browser -- assuming the other browsers support the HTML5 capabiltiies implemented in those AppMobi apps.

A nice touch for iOS is the fact that you can save a Web app's link to the home screen, so it looks to a user just like any other app. This capability is standard in iOS's Safari, but not in all iOS browsers.

AppMobi provides its own SDK, but the company says developers can use any HTML authoring environment they prefer -- even a text editor. The compay doesn't charge for use of the APIs or its SDK, but makes money by selling developers cloud services for their apps, including push messaging, in-app payments, over-the-air updates, and custom analytics.

The notion of third-party APIs is not new in the HTML/AJAX world; jQuery is a great example of one that many websites depend on to deliver enhanced interaction, so developers should find the AppMobi approach familiar. It's a sensible way to make HTML5 apps more native on the leading mobile devices, and I suspect a method we'll see used increasingly from a variety of providers.

This article, "Have your HTML5 and native app too," was originally published at InfoWorld.com. Read more of Galen Gruman's Mobile Edge blog and follow the latest developments in mobile technology at InfoWorld.com. Follow Galen's mobile musings on Twitter at MobileGalen. For the latest business technology news, follow InfoWorld.com on Twitter.

Copyright © 2011 IDG Communications, Inc.

How to choose a low-code development platform