Tuesday, April 6, 2010

iPhone: First Impressions

Found some time to read the book whilst waiting for the nurse to continuously suck blood from me over 2 hours. Well my first impressions of iPhone development are:
  • Interesting how it took off considering you can only develop on a Mac.
  • It costs at least $99 to write, debug and sell an iPhone application, more if you didn't have a Mac to start with. So if I sold my application for $2.49, I will have to sell at least 60 copies to get my money back. Can someone let me know how easy it is to sell apps.
  • I felt that Objective-C was a bit cryptic (e.g. @synthesize keyword generates the getters and setters for an attribute).
  • The flexible syntax to support older versions of the language confused me a little (e.g. [object attribute]; is the same as object.attribute;). Personally I prefer the Java syntax.
  • Memory management is definitely more difficult. You have to do it yourself. Without working on the Android yet, I wonder how it stacks up against the iPhone in terms of memory management as I believe it is done automatically.
  • Xcode seems fairly straight forward. The Xcode Project Window is where you write your code.
  • There is also an Interface Builder for painting the User Interface of course. On first look, it is a matter of connecting the interface components to the coded actions you want to fire when the event occurs. Sounds easy? Well at least the 'Hello World' application is. I wonder how much I can sell it for?
  • Oh finally the book is a good beginner's guide. The examples are structured around the iPhones user interactions and libraries. I'm only 4 chapters in though.
In my next post I will attempt to start building my application's navigation in both the iPhone as well as on the Android. It will be interesting how productive and impartial I can be.

The Decision

Some of you may know I have been taking some time off work. During this period I have decided to fill some of my time developing a mobile application. In doing so I hope to learn the various mobile SDKs out there. The 2 platforms I will develop my mobile application in will obviously be iPhone and Android. A friend named John suggested that I blog my learning and experience along the way so here it is.

A little bit about me: I have been developing Java applications for a while now. I have been involved in some large projects in various organizations but have never developed mobile applications before this. Most of my experience is in Java development so Objective-C is also new to me.

My first move was to draw on a friend's experience as he has been developing some commercial iPhone applications. He borrowed me a book called 'Beginning iPhone Development' by Dave Mark and Jeff LaMarche. Funny enough my friend's name is Jeff as well.

So here I go....