I have watched 3 sessions since they were posted yesterday that gave detailed coverage of Xcode 5. People, I got my first compiler (Zortech C++) when I was one year out of college. We thought Borland was amazing when it shipped. Xcode has finally broken through and left all other tools completely in the dust. Think I‘m just a fan boy who sucked a few too many fumes? (see my prior post about the interface changes in iOS7, which I HATE)...
Anyway, here are the main reasons for this assertion:
TDD – Without a doubt, Apple has built the best TDD tool in the history of humanity. There‘s a test navigator, bots that can be created and remoted, and monitored, etc., all from within the IDE. It is completely pathetic that TDD first hit critical mass in the Java community a decade ago and after all that time we have two different test runners with basically the same anemic features, lousy reporting, poor automation (have fun incorporating it into maven using the horrible surefire plugin (pox)...). Seriously, if you like doing TDD, your life just started over again today.
Asset Management – This is now built into the IDE, which is a brilliant move. Very impressed with this part of the demo. One of the reasons I love this part too is that we really need to get away from the plantation/Noah‘s Ark model of development where we think every project requires developers, designers and QA. We will see a lot more innovation if people can develop at least preliminary versions with just developers, and this is an important step in that direction. It also declutters the workspace which is awesome, cause I have many projects that are very large and the workspace does become a huge dumpster of random junk.
Simplified Configuration – there are a lot of things here, but not having to link Frameworks?? OMG! All the entitlements stuff is a switch now. Huge plus. Nuisance factor reduction here: massive.
Enhancements to Debugging – this stuff looked sick. Watch this part a couple times, or look at the platform session that dude Andreas put on too. You can even see things like bezier curves or boxes your code is drawing. This is huge. I have been dying to see animation/drawing code get easier to write. I think this is going to make a huge difference. There is also a much more fluid interface between code and debug modes, you can move between them more easily. Great job here.
Deployment Automation – I have whined about this before. Some people are going to scream in joy at just this part. Managing certs and provisioning profiles and all that hell just got a lot easier. I will have to drill into this even more. There‘s even support for having projects associated with different IDs and moving between them on a per project basis!
Speed/Stability – Xcode was moved over completely to ARC (which I seriously think is one of the most important technological developments of the last decade). I have used it a little bit, does seem faster. There are also modules now, so the compiler spends a lot less time parsing the same header files over and over again. Genius.
Simulator Support for iCloud – this is huge. I have wanted this since I first tried iCloud dev. Here‘s the thing to keep in mind here too: the common theme here is less guessing at every turn: more ease and transparency in seeing what your code is doing and why, and how to get it working.
SCM Integration – I am a tad skeptical of this. I still use Git from the command line 90% of the time, but this did look really nice. Will have to try it. I was really fond of GitHub‘s app for a while. I do love the blame edit view in Xcode (even 4 has it). That has been enhanced in 5.
Autolayout Improvements – this stuff is AMAZING!! Seriously, take a look at it. Next thing I will be watching is the detailed session on this. I have used AL already and liked it, but it was a tad like a tar baby: once you step into it, you could end up fiddling a lot. Combined with a new preview window, it‘s totally incredible what they have done here.
Seriously, this team should feel like they have ushered in a new Era of software development. Frankly, my biggest Apple fear/nightmare was none of the stupid bed wetter drivel you hear from the Wall Street dopes, but that the original NeXT stuff would end up in the hands of gorillas who would dumb it down or lose the handle it has on complexity and end up with a gigantic slurry fire like Android.
Everyone who has done any Android dev should watch a few of these sessions then read this article .
If this is an arms race, we are roughly at a point comparable to the Franco-Prussian War: Apple‘s so far ahead, there‘s no real engagement of sides anymore, just unanswered shelling. I still absolutely love making software. These are the best tools that have ever existed to do so. It‘s super exciting…