It’s actually a chicken-or-egg problem, and it all began with Apple. Let me illustrate.
In the beginning, there was the iPhone. It was all good, slick and sexy. It has touch screen and blows away the competition. The slumbering desktop with traditional web controls was caught off guard. Apple tried to bend the user interface to its liking and thus was born its non-standard native controls (heck, smartphones and tablets are post-PC devices!). Of course, Google won’t let Apple dominate the world, so it developed Android.
Meanwhile, the sleeping standards body called W3C is suddenly awake to rein on the proliferation of non-standard controls and other native features of iOS and Android. All in the name of order, otherwise known as standards (HTML5). It was order over chaos, but who is going to stop Apple or Google? Nobody can.
It is native apps vs HTML5!
You see, Apple is pushing its products with accelerometer, camera, compass, gyroscope, ambient light sensor, magnetometer, geolocation, Bluetooth, assisted GPS, Siri, etc. It’s really a very, very sophisticated device squeezed into a small form factor. It’s amazing, astounding, you’ll be at a loss of words how you can all appreciate those features.
On the other hand, the W3C is all about standards. As I have said earlier, it’s all about interoperability among various implementations to ensure smooth process of development. Apple, Google and others would not wait for W3C to finalize the HTML5 standard, hence developers are torn which way to go.
So the question is, native apps or web apps?
It depends on you application. If you will use the native hardware features of your target, it’s a no brainer – build it as native apps! Otherwise, just build it as a web app. Maybe it’s only me, but boy don’t create a native app just for the sake of native app development. The web has become a paradigm of user interface and usability. Don’t be fooled with creating native apps without taking advantage of its native features. Of course, nobody’s stopping from doing what you want to do, but what’s the point?
If you target only one platform, go ahead. Go native.
If you target cross-platform, that’s another. If you want the least headaches, I advised you go the web app way. Why? Because web apps is the least common denominator among mobile platforms.
Which brings us to the mobile platform tools in the market today.
4. JQuery Mobile – just released its 1.0 version. By using PhoneGap, you can turn JQuery Mobile code into apps that can be distributed into popular app stores.
But in the end, it’s anything goes! It all depends on the developer, but you have to know your tools, otherwise you’re in for a lot of surprise.