Friday, March 05, 2010

Transitioning from Android to iPhone

This week I finished teaching Android programming in my Mobile Computing course. I've created a number of useful tutorials and teaching aids, and I'm weighing my options of putting them out on my blog or website or publishing them in a book form on The tutorials cover graphics and sound, data persistence, custom event notification, using the Google Map API, and a lot more.

After spring break, Gabriel Foust will take over the Mobile Computing course and teach iPhone programming. I'm very curious to see how long it will take the class to climb the steep learning curve and be competent enough to write a useful app. With Android it took a little over a week.

I read just read this morning that Microsoft is turning away from their earlier Windows Mobile OS and focusing on a new OS called Windows Phone 7 Series. (Hello, Marketing department, are you sure you want to compete with Android and iPhone using the name WP7S?) The OS features a sleek new interface, and apparently XNA and Silverlight will be the main method of writing native apps. It's good to know that my efforts learning XNA last fall will pay dividends on this new platform. Maybe next time we offer Mobile Computing, we'll be using WP7S.


Joel Coehoorn commented on my Facebook note that you can develop applications on the iPhone using Mono, an open-source project that runs .NET applications (C#, VB.NET, etc.) on a number of operating systems. I've done a little investigation into this, and it appears that Mono support for the iPhone is somewhat limited. The UNITY platform allows development with C# and JavaScript, but at a cost. MonoTouch is another commercial option. Otherwise you're stuck with development on a Mac using Objective-C.