If you have been sitting on the sidelines, looking at the mobile space and wondering if it is worth your time to learn mobile development, think again. According to a recent Gartner report, Android mobile device sales outstripped PC shipments in the third quarter of 2012. Obviously, if you throw in the iPhone/iPad ecosphere, Windows Phone 8 and even the dying RIM devices (queue Monty Python line: “DEAD PERSON: I’m getting better!”), mobile devices now dwarf PCs in sales and the gap will only get wider. What does this mean? Back in the day, we as software developers were on the forefront on the web application wave. Businesses were moving from standalone, PC-based applications to web applications hosted in a browser in order to support their diverse and far-flung work force. Depending on which way you fell on the technological divide (Java or Microsoft), you quickly learned how to use JavaServer Pages or ASP.NET to create web-based applications.
I think again that front-facing, UI developers are now again at that same crossroads. If you make your living writing business-based, web-based applications, it is now time to understand and acquire development skills in the mobile space, whatever flavor you choose (Objective-C, Java, HTML5/CSS3/JavaScript, or C#). Businesses rarely ride the cresting wave of any technological shift but they have woken up and are looking to their development teams to create externally-facing, customer-focused apps or internally-facing, business-process apps. You want to be one of those “go-to” people or get relegated to the mundane task of updating all of the copyrights on the web-based applications from 2012 to 2013. BTW, backend developers are not left out, you need to be able to do more that understand what AWS or Azure means but that is a blog post for another day.