Playing App Developer - Where to start
The mobile space just doesn’t seem to stop being more interesting by the day. It’s got me hooked, and I’m not sure why other than it’s fun to be a part of, even if it is in my hobby time. I keep trying to integrate it into my day job but it’s not clicking :). Instead, I am trying to become an amateur game developer in the few hours a week I get time for it at home. If nothing, it helps me feel a part of all the excitement.
As I march along my journey, it becomes quickly clear the first choice app developers face when getting in the game. Which mobile platform do I start with and what do I do about the others? From where I sit, the choice is obvious. I have an Android phone (actually I have two but my first one is a Roger’s HTC Dream that’s stuck on Android 1.5 which isn’t very useful), and since the SDK is freely available I am starting with that.
But I can’t ignore Apple’s iOS. It still is the mobile industry’s darling and likely will be for a long time. The problem there is that I don’t have a Mac which is a pretty high barrier to entry IMHO. But that’s OK. There seem to be a few people in the blogosphere who know how to get Mac OS X running in VirtualBox. But when it comes time to actually deliver something (assuming I ever get that far), you’ll need the real thing.
It’s pretty sad to see what’s happening to Symbian. I have friends with skin in that game so I’m not going to say much, other than I agree with the prognosticators. Throwing your product over the wall into the open doesn’t make it an instant success. At the end of the day, open source doesn’t win mindshare. Having low barrier to entry and a good chance of getting good volumes do. Symbian is a technically complicated app dev environment. Qt will make that better. But if you’re programming to Qt, then Symbian doesn’t matter much since MeeGo also runs Qt. Which makes MeeGo something to watch out for.
RIM is an interesting choice. But people don’t think of RIM phones as gaming devices. The new tablet might change that, but it’s not clear you can write native code for it, which, of course for me being CDT Doug, is a must.
And the same is true for Windows Phone 7. It appears you need to use C#, or at least managed code. I’ll need to dig into whether managed C++, if it even still exists, would work. But Microsoft is the king of walled gardens as much as we look at Apple today. But Microsoft also loves game developers, so we’ll see how that platform evolves.
So it’s an interesting array of choices and the pieces are all in motion and it’s a bit hard to guess how it’ll all turn out, which is why it’s fun to watch. Of course, I do need to mention that I’d prefer to use the Eclipse CDT and tools from the Eclipse ecosystem to build my game for all these platforms. But that is only slightly less disjoint than platforms are. As I’ve often said, I’d love to have a single Eclipse project with build configurations and debug integrations for all of these. That’s the vision, anyway. And playing in the mobile space has me convinced how important that really is.