When it comes to programming for mobile devices, choice quickly becomes dilemma. Do you target the lucrative iPhone market at the expense of Android's rising tide? Do you go native or write code to the mobile Web? And while a single stack of code that performs optimally on an increasingly wide array of platforms, form factors, and devices would be the dream, the reality is a fragmented trial in which rudimentary tasks can often be a challenge.
But with challenges and opportunity come curious minds. And the crop of developers turning their attention to building out mobile tools and libraries are quickly establishing a vibrant ecosystem to aid mobile developers -- especially those who've chosen to target the mobile Web.
[ Also on InfoWorld.com: Discover 4 ways to create smartphone Web apps without going through Apple's App Store. | Keep up on key application development insights with the Fatal Exception blog and Developer World newsletter. | Stay informed on mobile news and insights with the Mobile Edge blog and Mobilize newsletter. ]
For a time, this set was limited. But the promise of HTML5 has opened many developers' eyes to the mobile Web's myriad advantages over trying to install native software on the device.
First, websites are open. There is no need to play "mother may I" with the App Store approval team when the product is launched or updated.
Second, developers can reap 100 percent of their mobile app revenue. Of course, you have to find a way to collect the money yourself, which isn't always simple. But the 30 percent cut that Apple takes from app purchases is a steep tariff for what is largely a row in a database and a big bureaucracy.
Third, HTML5 is growing more robust and feature-rich. The latest version lets you store data on the client and do most of the things that a native app can do. In other words, the browser sandbox has almost all of the same features as the native code sandbox. And yes, the native code apps are kept in their own sealed corner of the operating system.
Fourth, HTML5 apps aren't device-bound. While much of the hype continues to orbit around Apple's iPhone, HTML5 apps are relatively easy to move to other platforms. It's not as simple as pushing a button, but it's much easier than translating your app from Objective C to Java.
The biggest limitation may be in the development itself. While Apple's tools are quite good for peering into the native apps, it's harder to dig deeply into the structure of the code running on your mobile browser. All of this interest in mobile development and the mobile Web has spawned a number of libraries and tools for easing the process of building applications with them. Here is a list of eye-catching projects with the potential to make it more convenient to build out the mobile Web.