As you might know, Apple just released the developer preview of Xcode 4. It is their first major update to Xcode for a while, and an update that I think was needed. I like Xcode as a development tool, but some things about it are incredibly inefficient, like having two separate applications to make one project. (Xcode and Interface Builder) Also, Xcode 3's source control management was not the best. I'm really excited about this update because it addresses these two major issues (for me) and adds some new exciting features!
Some new features include a consolidated interface into one window, so no more Interface Builder in a whole separate application, so no more switching between different applications. Also, Xcode 4 also includes a new Fix-It feature, which is basically a spell-checker for code. It highlights your mistakes, and with the press of the "Fix" button, the problem is solved. Apple also updated their "Version editor," which makes it easier to see and compare files under source control. It also includes a brand-new compiler and debugger, the LLVM Compiler, which Apple claims to be twice as quick as GCC. Oh, and one of the coolest features: the Xcode 'Assistant.' When you have two-pane mode enabled, the assistant anticipates the files you need to see and displays them in one pane, while you write your code in the other. No more switching between header, implementation, header, etc. Xcode 4 also includes a new version of Instruments, however, it is not part ofXcode's one do-it-all window.
Personally, I think the consolidated interface is the best update, just because it makes it so much easier to code. I was working on a simple iphone app this morning with the new Xcode, and it was so nice not to have to switch between windows on my cluttered display. I could edit the interface right in Xcode, and right-click-drag from interface elements right into the code, and my outlet is created without me have to type anything in. Yeah, yeah, it's only "IBOutlet UIView *myView" but, hey, anything to save time is fine by me.
What I was hoping with the one-window interface was that EVERYTHING would be in it, including instruments and the iOS simulator. Instead, you still have to go to separate applications to use both of those things. I still like instruments in its own window, I guess, but I would have loved to have the option to put the iPhone simulator in the Xcode window, so I can see it right next to my code, especially if I'm debugging. Oh, and while I'm on the topic: WHY ISN'T THERE AN OPTION TO RESIZE THE SIMULATOR TO A MANAGEABLE SIZE?!???!? Sorry... With the iPad simulator, (as far as I know) you only have options for 100% size, which is humungous, or 50% size, which is tiny.
With Fix-It, I don't know how great it will be. In my brief 20 minutes coding in Xcode 4, I didn't get any Fix-It highlights or warnings that included fix buttons. It sounds great, but I'm not sure that it will be very effective, except for fixing common errors that are easily avoidable. However, if Fix-It does start fixing my code, I might be a bit more excited about this new feature.
When you compile your code in Xcode 4, a progress bar appears in the iTunes-like window header. For me, that makes it seem longer, but that is probably just me :-).
I have yet to check out the new source management features, which include side-by-side comparisons, and a slider to see how your code has evolved over time. If I get time to try it out at Ikayzo monday, I will update this post.
Okay, overall, I like the improvements in Xcode. The developer preview needs some stability improvements, (it crashed on me once and hung multiple times) I think the final version will be great. So, I've got to say:
Xcode4.like = YES;
The new Xcode 4 interface
Adding an outlet by dragging from the new in-window Interface Builder