IPhone applications and objective-c
So I wanted to post a little about the things I’ve found now working with Cocoa and the application I chose to target first was an iPhone application. I haven’t really had much time to dig into a native mac application yet.
Firstly lets talk a little about XCode. This great IDE comes free when you own a mac – pretty cool. Unlike Visual Studio which must be purchased if you want anything besides the free version. XCode is a great IDE, it is fast and simple enough to use. Apple has included everything you need including performance and memory profiling tools.
The extensions to support iPhone development are totally seamless so that was a nice find. Once I started getting into objective-c I thought my eyes were going to bleed :) Really, it is too old. The future is with managed languages and the thought of any form of memory management is pretty lame but right now, I have no choice. If you want an iPhone application you’re going to be using obj-c.
The language did have a couple positive points, at least what I’ve discovered so far. The way it passes around messages is a cool idea. Parameters are named when passing values to a method. (msg) – this makes for more coding but it makes it a hell of a lot easier to read the code later.
I did like Apple’s take on controller and view separation. Even using a separate tool for the interface design is a great way to keep the UI developer out the controller code. Up until Microsoft released the new ASP.NET MVC framework all views and code behind files were tied together. Unfortunately for traditional ASP.NET and WinForm development this is still true.
So right now I’m impressed and enjoying the development process. I think Microsoft could learn a few things from Apple however …. I do feel strongly that Apple need to connect the dots and that their code needs to move to a managed environment. They could adopt Ruby more rather than just supplying the API bridge.
