iOS, Android or HTML5



A few years ago the decision about how to create a mobile experience was relatively easy for both marketing departments and developers. Apple only offered access to its device via HTML5 web apps. Then, due to demand, it opened up the App Store and allowed native apps which allowed extremely powerful apps to be created although at the expense of requiring technical expertise.
Now, however, the landscape is considerably more complex. The launch of Android opened up the market and, lately, Blackberry and Windows have joined the band wagon.
Developers sometimes ask us for advice so here’s a quick summary of the industry right now.
The current dominant platforms are iOS (Apple’s slimmed down version of Mac OS X for the iPhone, iPod Touch and iPad) and Android.
However, both Blackberry and Nokia have entered the smartphone market.
So, what are the options.
As a developer, if you’ve already got Java experience then it makes a lot of sense to do Android development. After all, the number of Android devices is increasing extremely fast.
There are various cases for developing for iOS - the Android market is very fragmented (for example, there are a thousands of different screen sizes on Android which makes development tough whereas on iOS there are just three (and you can get away with designing for just two and still be cross platform)). Also, the various patent issues are obstacles in Android’s future growth. And Apple is not going to lose the mobile battle easily - now the largest tech company in the world with lots of spare cash they’re coordinated, are in charge of the entire vertical segment and should not be underestimated. Finally, another point in iOS favour are that these skills are also relevant for developing Mac applications.
Then, you have HTML5. The great feature this provides is cross platform functionality. Develop once and deploy everywhere. However, HTML5 does not give access to all of the functionality that a native app can (such as use of the camera or access to In App purchasing). The other problem is that it isn’t due to be ratified till 2014. That’s a long time in the mobile world. That said, there are HTML5 apps out there already - Google has launched a complete suite of its products using HTML5.
Various cross platform tools exist, such as Sencha, Titanium and Phonegap, that offer HTML5 infrastructure for developing apps. They have very different ways of achieving cross-platform functionality with Sencha and Phonegap offering a native shell around HTML5 whereas Titanium compile your HTML5 directly to native code.
So, what to choose?
Well, mobile is increasingly important and should not be ignored.
Mobile internet will overtake desktop internet within 2 years in terms of usage and revenue so having either iOS or Android skills will be extremely valuable. You can’t make a bad decision here. And with the increasing multitude of platforms out there, cross-platform tools will continue to evolve and grow. Whilst less established, there are potentially significant rewards for early-adoption of these skill sets.
Tweet