Sunday, March 13, 2011

xCode 4.0 and Me

Last week, the new iPhone OS update arrived. iOS 4.3, to be precise. This brings in a whole slew of... well... bug fixes and a couple of minor new options. I call them minor because they are things I won't use. For example, the ability to turn my iPhone into a personal Wifi point. I rarely use the tethering, and when I do, one computer is enough, thankyou very much (unless I'm grossly misunderstanding the point of this new feature).

Geek alert: This post is about to get technical, of a programming nature. I will try to explain some of the terms I use, but if this isn't your thing, well, you have been warned!

What is of more interest and importance to me, as a result of iOS 4.3's release, is the fact that the new version of xCode has been released. xCode 4!
(For those who don't know or understand, xCode is what we code monkeys call an IDE - an Integrated Development Environment - which greatly simplifies the task of programming by providing tools for program creation, testing, and fixing/repairing).

I got to spend a large chunk of Thursday programming in xCode 3 while waiting for xCode 4 to download, along with the new iOS SDK. I think its ridiculous how Apple runs their SDK updates - forcing their developers to redownload the entirety of xCode and the development SDKs (Software Development Kits - tools that allow us to create software for a specific platform, such as the iPhone)! This was a total of 4.3 GB. Not everyone has that kind of bandwidth to spare - and in our office, that meant 6 hours of solid downloading.

Then came installing and getting used to the new IDE. This was interesting, since there are quite a few changes from xCode 3. I'll cover just a few here.

#1: Looks.
It looks quite different now. I'm not sure I like it, but I'm also not sure if I hate it either. It now has a LCD-esque panel in the center-top of the screen, exactly like iTunes. Therein lies the first problem - I am inherently opposed to making ANYTHING more like iTunes, since iTunes is the bane of my existence. On the other hand, I can now get a quick and easy look at exactly how far through the task of compilation I am, although the old xCode provided this on the icon at the bottom of the screen.
Oh, and the bottom of the screen icon progress bar? Gone. Sad.

#2: Oh My God Where Is Everything?
Everything has been moved. And by everything, I mean EVERYTHING. I couldn't find my code navigator when I first loaded up xCode 4. The console? Now that's integrated in the same panel as the code navigator. So is the debugger. And the breakpoint navigator. You get the idea.
I really don't like this - now everything is in one window! I cannot alt-~ between the console, debugger and my code any more!
Well, I probably can, but then I need to double click and get horrible looking windows for it, as opposed to the old defaulting to windows. They're not even in the menu's any more!
And whose idea was it to put Interface Builder INSIDE xCode? I understand the want to integrate things, and some of this change is a good thing (being able to drag connections from my interface to the code itself AS I TYPE IT?!? Sa-weet!)

#3: Schemes
Schemes are a (seemingly) new addition to xCode 4. Now, you can set up schemas for your different types of builds. This seems to be slightly different from before, where you could just set up build targets, in that its is another level up. I don't pretend to understand it fully, except that it allows me to just click a few buttons (once its set up) and suddenly I have a build archived, backed up, and ready to send to the app store so Apple can be snobs and reject it.

I have begun to get a bit of a handle on some of the new layout and things, and its definitely made me faster in some respects (its auto-complete is all of a sudden absolutely godlike), but slower in others (I can barely use Interface Builder any more).

The biggest criticism (from me) is that anyone who has a small screen (or is restricted to a laptop, like myself for the time being) is in big trouble here. They cram a lot of stuff onto the one screen, which is great if you have a big screen that can handle it. If you don't, prepare to spend a fair bit of time opening and closing side panels as you need them.

Also, it runs quite slowly on this laptop. Blah

1 comment:

  1. Did you seen any changes between xCode 4.0 and xCode 3.0?
    Looking forward for your reply.

    Latonya
    CTR500

    ReplyDelete