Friday, January 23, 2009

What to study for mobile development?

After having written my previous entry and suggesting that the presented idea would make a nice student project, I began to think what I would study if I were a computer science student today and interested about mobile application development. (Well, if you are a CS student you should study the theoretical foundations to ensure that you are able to grasp the future, but you get the idea...)

Not so long ago I would have suggested you to focus on Symbian development because on that platform you have access to interesting set of features and terminals are very widely used. Native applications have access to almost all of the terminal's resources and the there isn't any runtime overhead when running compiled applications. But taking now a look back, I understand that I haven't been doing much Symbian stuff during the last year. Why is that?

Symbian (as a development platform) is as it has been for quite a long, but other platforms have improved a lot. It is like driving slowly on an expressway; you are moving but all the others are passing you.

The platforms I'd study today for mobile development are all useful also for non-mobile devices:
  • Web technologies. Mobile browser is a very good platform for a wide range of solutions. With html and javascript you can have first version running before you have created and built a new Symbian project with a Carbide project wizard! New runtimes like Nokia's WRT even allow you to access native applications and terminal data.
  • Flash. I haven't ever done Flash-applications myself, but I see everyday new mobile applications implemented with it. There must be something in it, at least when you want to make nice looking graphical applications.
  • Qt. This is the new player in town and Nokia seems to be putting a lot of effort on this. Also with Qt you can enjoy the benefits of being able to use your implementation with multiple platforms. Keep your eye on this.
You might notice that native Symbian API's are the enabling layer for all these, which is aliged with the message I've been trying to communicate: Symbian is an important platform, but think carefully if native Symbian development is worth the effort. Somebody might already have done it for you allowing you to concentrate more on the actual substance.

Finally quick non-scientific statistics from Nokia's career website (January 23, 2009):
  • There are 19 open positions that match search "Symbian"
  • There are 51 open positions that match search "Qt"

//Harri

No comments: