Feed on

I’ve spent last few weeks focusing on team leadership in the area of iPhone development. So I’d like to share some steps of platform submission formation from the point of view of cross-platform C++ developer:

  • Everything is completely new and incomprehensible (this stage precedes the moment you launch XCode for the first time).
  • The first impression on the development environment can be expressed in single question :”Where are the tabs??” :) From a position of last time I can tell that the rests can reconcile to all.
  • Language syntax is unusual and shapes ambivalent attitude to it.
  • Detailed acquaintance with API follows further (in my case it occurred in process of creating demonstration of simple 2D game and LBS application a little bit later) and brings some gusts of wind of change.

And so the verdict is… Impossible to estimate this platform uniquely. It s neither “good” nor “bad” in terms of software interfaces happily (I essentially do not shake the user interface). It is just different… No comments any more.

The only thing I’m going to add is that I was not kept and have built and run tesseract project under iPhone (http://code.google.com/p/tesseract-ocr/). As it follows from the list of supported platforms “the code should be running on Mac platform”. And it was actually so. There were no serious troubles except several small slips. And here I’ve met the next one moment of my genuine surprise. My colleague (not a developer, but true Mac fan) asked me “What is it?” pointing out the open terminal window. Many thoughts…

The next point of the discussion is involuntary analogy between Cocoa API and .Net Framework appearing at the first sight. And I mean not a set and functionality of program interfaces, but mostly a similarity of concepts, and possibilities given by a platform for construction of superstructures of higher level.

Going into historical background we can see that Microsoft has begun platform working out in the late 90-th, and the release of the first version has taken place in the beginning of 2002. Apple in turn has got NeXT in 1996 and as a result for today all high level frameworks of Mac OS and iPhone OS are implemented in Objective C (now it is already Objective C 2.0). So who is pursued? Does the transformation of a platform with the use of high level API with a doubtful indicator of convenience already becomes a norm?

It is difficult to estimate commercial success of the new platform (iPhone OS), however, hundreds of third-party applications are already published even before the official platform release (visit http://iphoneapplicationlist.com/ for more details).

Nowadays iPhone SDK (beta 6) is free and publicity available from apple.com. An extract from one of Apple press releases is given below:

Apple plans to release the final iPhone 2.0 software, including the iPhone SDK and new enterprise features, as a free software update for all iPhone customers by the end of June. Third party applications created for the iPhone will also run on the iPod touch, and iPod touch users will be required to purchase a software update to run these applications. The free beta iPhone SDK is available immediately worldwide and can be downloaded at developer.apple.com/iphone/program.

At the same time only US residents have possibility to receive the status of official developers for today (during beta period). And only those who has got it, know what that means to pass all stages of the guide on an application launch on the real device :)