Should Mobile Developers Focus On HTML5 Instead Of Native Apps?
When it comes to languages and APIs, programmers never had it easy. We used to code in Fortran, Pascal, and then C, but now we have PHP, Perl, Ruby, C#, and so on. But at least, it used to be that you could specialize yourself on a single platform. Those who made desktop apps would concentrate on the Windows platform and learn Windows APIs, or perhaps Apple ones. Now however, in this so-called post-PC era, we have iOS, Android, Windows Phone, Firefox OS and so on. There is no single major player, and any company that wants to access the mobile market, which should really mean all companies, have to focus on all of those platforms. It isn't rare that a job opening asking for a mobile developer will not only talk about iOS anymore, but Android, Blackberry and even Windows Phone. So if you're the kind of inventor that likes to write code, which language and which platform should you concentrate yourself on?
First, you need to decide whether the mobile world is for you. Even though everyone says we are in a post-PC era, the fact remains that most people still use a desktop or laptop to do their daily work. So it depends what market you are going after. There is nothing wrong with sticking to what you know, and just being a desktop developer can be challenging enough with the constantly changing languages and APIs. Windows programmers felt the pain when Microsoft released Windows 8 and the new interface which required a completely different skill set to use. However, it is true that mobile platforms are slowly taking over, both in the form of a smartphone and a tablet. So you may have been wanting to go mobile but have not made the jump yet. So if you do, what should you focus on?
This is where techies are quick to jump in and point at HTML5. This is the latest version of the W3C protocol for the web, and its main promise is that the features it provides enable much more robust apps. Ideally, you would not need to make any native code anymore. All you would need to focus on is HTML5, and your app would then be available for all platforms. Unfortunately, that may not exactly be the case, at least not yet. The first reason why you may want to learn native code, whether it's C# for iOS or Java for Android, is because people are used to native apps. Apple and now Google have trained users to look in their app stores and find apps this way. Web apps do not have access to those marketplaces yet, and as a result a lot of companies still want native apps, even in cases when it would make more sense to have HTML5 web apps.
So these are the main reasons why, as a programmer, you might want to keep up to date on the latest native coding techniques instead of embracing HTML5. It's not the ideal solution, in fact most of us hope that web apps replace native apps sooner than later, especially as mobile platforms expand with Firefox OS, Ubuntu and the latest Blackberry 10 making a comeback. Developing for a dozen different platforms is never fun. But for now, it is what programmers do, and if mobile programming is in your future, right now that means native code.
The good news is that making a native app is not nearly as complex as it once was. Now creating iPhone and Android games or apps is a well understood process, and there are countless books and tutorials. If your main concern is finding a job as a programmer, then there is no question that expanding your knowledge base is useful, and one of the best domain to do so in is through mobile apps. Being able to make iPhone or Android apps will definitely enhance your chance at landing that highly paid job, and you can always recycle those skills into HTML5 when the platform is truly ready.