A major update to Apple's iOS IDE was released a few days ago and so far Xcode 4's weaknesses greatly outweigh its strengths. After having spent a bit of time with Xcode 4, I am strongly considering going back to the old version. Google "i hate xcode 4" and you'll see I'm not the only one considering an IDE downgrade. Here are just a few of the reasons Xcode 4 may end up being the Windows Vista of Apple IDEs.
All the bells and whistles of the new interface come at quite a price. Granted my development machine is no spring chicken (I'm still rocking an ancient Core 2 Duo), but Xcode 3 performed lightning fast. Opening new tabs or one of the seemingly infinite side bars in Xcode 4 (more on that later) chug along with what I could imagine would be nice animations if they weren't so slow and choppy. Quick info that used to be available at the whim of a key command, such as opening the Debugging Console, now require a button press and a wait through a sliding animation.
I don't usually hear my MacBook Pro fan working this hard unless I'm playing a game or browsing a Flash site. Again, I know my laptop is on the older side, but I should really be able to write code and listen to iTunes without experiencing skips in music. Perhaps all the new constant background error checking is the culprit- I admit it could be kind of cool but does anyone know how to turn it off?
Xcode 3 crashed on me a handful of times in a couple years. But in the past three days of really using Xcode 4, it has crashed once per day. New software always has issues, but the same stability woes were there in the Xcode 4 beta, so I was sure hoping for an improvement in the final release.
Single Window Isn't Always Better
There are elements of the new UI that are awesome. Having a tab for an implementation file and another for its corresponding Interface Builder file is a thing of beauty. Some things do work better as a single window, but Apple stuck with this design paradigm to such an extreme that there ends up being an almost comical number of side bars (within side bars, within side bars). Having Interface Builder fully integrated into Xcode is pretty cool, but whereas the IB of old had its own menu bar items and key commands, they are now all tucked away within Xcode's sea of sidebars- take a look at the screenshot for an unholy mess of a UI.
I usually give Apple the benefit of the doubt- I'm still getting used to Xcode 4, which is why I didn't mention any of my frustrations having to do with locating features I was so used to in Xcode 3. There are also a lot of visual bells and whistles that I imagine would be pretty slick on a faster machine. A quick and compelling performance update from the Apple team would really help things but until then I'm glad Apple Developer Connection still offers an Xcode 3 download...
Mike Keller is GeekTech's resident iOS developer nerd. Catch Diary of a Developer every Tuesday here at PCWorld's GeekTech blog.