I’ve built several Windows Mobile apps and one iPhone web app with the WebApp.net framework. I was in the process of learning GWT because it uses Java plus it has many other features and benefits for building web apps.
But for iPhone apps, I’ve become convinced that native apps are the way to go. They’re getting all the publicity and I’m really impressed with Apple’s integration of the App Store and the iPhone. I think they are repeating the success of the iPod due to their attention to end-to-end integration of the customer experience.
Meanwhile, I’m a Windows user, at home and at work. Professionally I’m currently a Windows programmer: Windows XP and Server 2003, Visual Studio and C#. But at this time, the only practical choice for building native iPhone apps is Xcode and Objective-C on an Intel Mac.
So, I ordered a 2.4GHz MacBook yesterday: not the aluminum, but the white polycarbonate. My only Mac experience was a Mac SE.
But I’m not enthusiastic about Objective-C. On one hand, it seems quite primitive compared with Java and C#. On the other hand, it has all these property features that effectively write code for you. I’ll figure it out. Learning yet another programming language doesn’t bother me. I estimate that I’ve used on the order of 30 programming languages. Anyone remember SNOBOL?
I also installed Perforce on my Windows box and started playing around with it. Already I can see that I’ll prefer it over CVS and Subversion. I’ve been spoiled with using Clearcase for about 18 years on Sun Solaris and Windows, so we’ll see how Perforce compares.