iPhone game by local developer

In this case, Chopper. Looks like fun. There is a mac version out now - the iPhone one coming when the store is up.

cheers @timhaines and @fastchicken

All about the (X)Code

When I first started using Xcode, having come from a Visual Studio background, I found it quite clunky. I really didn’t like the editor, it didn’t even have auto indenting when I inserted a brace block - that’s been in VS since about 2002!

While it’s true that there are some things I would change (tabbed editor for one), the more I have used Xcode the more I like it. It has a great suite of tools installed - Instruments is frankly awesome. The ability to easily profile your apps for bottlenecks and memory leaks is not offered in any of the other IDE I have used.

The integrated help is excellent, and it automatically updates itself. The help could do with a little more examples, but there are a lot of sample code projects available in the help and from the Apple developer connection site.

Code folding is a nice feature, as is code templates, where method parameters can be quickly moved to by pressing Command + /.

Most importantly, Xcode is snappy even on relatively low powered machines. Compiling is fast and responsive, as is debugging.

All in all, after getting over the initial for want of a better word, clunkiness, Xcode is a solid IDE for developing applications. It doesn’t get in the way and has all the tools and in some cases more, to do the job you need. Having said that, there are some things it could be improved on:

  • Tabbed Editor - every other IDE I can think of has this, and it’s for a reason - productivity is greatly enhanced by having the ability to quickly tab between windows.
  • Have the debugger and console in the same main window as the code - it’s annoying to have to swap between windows to see what the debugger is doing or see what is happening with your logging. I know you can have the code and the debugger in the same window, but it’s not the main window.
  • Add the ability to auto-complete implementation. I.E. put the cursor over a method definition in the interface file and then hit a key combo or menu command and have the method definition stub be created in the implementation file. The same could be true for protocol implementation. If you  implement a protocol, the required methods for the protocol cold autocomplete at the touch of a button.
  • Autosense, or code complete or whatever it’s called is ok, but it could be better. Anyone who has used Visual Studio knows how it should be done.
  • Class Browser - again it works great, but why can’t it be included in the main application window as a tree item or tab?

I suspect that some of the items above could just be my ignorance - if it is then let me know. I do know about the ability to go between pages with alt + cmd + left and alt + cmd + right and I know that you can quickly switch between header and implementation file, but it’s not quite the same as tabs.

All in  all though, I think that Xcode is a nice place to live, and while it has some areas that are inferior to Visual Studio, it has some areas that are far superior. Overall, my current score for Xcode would have to be B-, with a comment of good result, but could do better.

New place to hang my hat

Hello, my name is James and I’ll be your Captain on the journey. This is the placeholder for my thoughts, queries, observations, news and code in my endevour to become a Objective-C programmer.

I have been a Mac owner for just over a year, after too many years as a Windows guy. Things are going great. Looking to learn and enhance my development skills in Objective-C, Cocoa and Cocoa Touch. I am currently working with the guys at Polarbear Farm on some iPhone apps. Must say that the more I get into Obj-C/Cocoa the more I like it.

I have too many years doing Windows apps, toeing the MS line, but recently they have just lost the plot. In the last 6-12 months they have released C# 3.0, WCF, WPF, Silverlight, Linq, Entity Framework, Linq to SQL, Dynamic Data, ASP.NET MVC to name but a few.

They seem to have no clear focus in API’s and direction and just shotgun release a million techs and hope one of them will be a hit. Conversely Apple seem to have a coherent direction and set of API’s which while not perhaps as instantly accessible as .NET, are a joy to work with once the initial learning curve is met. From my point of view, this is ideal. Working to the lowest common denominator is never a good idea in my opinion and if Objective-C is too hard that it discourages the “Visual Basic” end of the programming world, then that is a good thing…