Disclaimer 1. I do both.
Disclaimer 2. I don’t care about game programming. I work for a company that does enterprise development.
In the enterprise IT circles Adobe is a whipping boy of 2012. Adobe has accepted this award, and only their cleaning ladies and janitors didn’t apologize for what their CTO and CEO did last November hiding behind the wide back of Danny Winokur. But let’s put emotions behind and get real.
Today, there are two types of the enterprise CIO’s: those who don’t care about developing for mobile and those who do. CIO’s who don’t care about mobile can be divided into two groups: smart and typical.
Smarts will start new Web projects selecting a technology that would allow them to easily go mobile if the life will force them to do so. And not so smart will just go HTML5 because this buzzword is an easy sell to CEO’s.
Let’s continue splitting hairs. The enterprise Web projects can be divided into two categories – Web pages and Web applications. Web pages can be divided into (you guessed it right) two categories – those don’t have to be blazing fast (just show them that Donate or Pay button), and those that must be blazing fast.
Further splits would involve Intranet vs Internet, and by reliability requirements.
Now the most important question, “Who do you care about the most?” As the saying goes, men who shave in the evening love their wives, and those who shave in the morning love their work. Who can you afford to love more – developers or the users?
Seven years ago the most popular examples of successful AJAX applications were Google’s gmail and maps. Most of the people were drawn into this Google state of mind forgetting that their own teams had less skillful developers and more modest budget than Google’s.
Today, people are choosing the technology to go mobile. In a meeting with a prospective client I’d start drawing on the white board. You have two choices… I’m not going to do it here, but learn from the past – don’t assume that what the big guys do is affordable to you too.
I’ve learned from a Facebook engineer presentation that their users login from 2500 different mobile devices. On the other hand, this article states that Facebook has bad experience with their HTML5 mobile application and they are creating an iPhone version in Objective-C. Sounds great. What about people carrying 2499 other mobile devices.
Do you have to make such choices? Do you have skillful teams of Objective-C, C++, and Java programmers or prefer to have the same code base in HTML5? How many concurrent users do you have? Do you have enough money to cater to all possible devices your users carry?