Blog Post

XCode 3.0, a Great Developer Additon

Xcode 3.0

At WWDC a briefly mentioned major addition to Leopard is the new Xcode 3.0. Now, many users will find no use in this important feature except for the improvement of the applications they use. For developers it is a must have, and it is quite disappointing that we will have to wait until spring of ’07. Xcode 3.0 seems to be a quintessential element in the progression of development speed. After a look over the sparse information provided by Apple, let’s dig a little deeper into what will soon come.

1. Objective-C 2.0 (Garbage Collection)
As of now, all developers working on the modern Cocoa framework have to handle memory by hand. Every time a developer wants to store some data, be it an integer, a string, or an entire object representing a picture, they need to write it to memory. Developers on OS X have had to manually allocate memory every time they want to store most object. They also have to manually free the memory once the object is no longer needed. This process is not extremely difficult but quite annoying and requires a great deal of attention. Some programming languages take the job of manual allocation of memory away from the developer and place it into the runtime environment. This means that a developer can concentrate more on features and less on making sure the object is released when it needs to and never before. Xcode 3.0 and Leopard allow this. No longer does a mac programmer need to spend many hours tracing through their program source code tracking where the exact moment an object should be released is. One thing that makes this transition even easier is that Xcode 3.0 will still allow manual memory management. That means, developers do not have to go back through all of their code and strip memory management. This simply is a must-have and much-appreciated feature.

2. Project Snapshots
This feature is most notable in Photoshop. Photoshop keeps a history of all actions performed as well as creating specific “snapshots” of your progress. One file can contain many possible version of the final look of your design work. When you show a client, you can cycle between them. The major benefit of this is you can experiment with possible changes without having to worry about ruining your work. You can always fall back on a previous snapshot. Xcode 3.0 now supports this feature as well. Whenever a developer gets to a certain point in their development, they can create a snapshot quickly. They can go off and try out some new feature changes or massive code rewrites without having to worry about undoing it all if they don’t like the result. They just create a snapshot before it and can experiment with no worry. As of now, a developer would most likely just copy an entire project. Then in the new copy they would experiment and see if they like it. Project snapshots simplify this process, save space, and consolidate one project into one space.

3. Interface Builder 3.0
Along with Xcode 3.0, comes a new revision of Interface Builder. One of the main additions is the ability to add “luscious behaviors into your application” with ease. Apple states that a developer can now spend little time adding beautiful effects and transitions like the sliding list in iChat and Keynote transitions into their applications. Imagine, instead of spending at least half a day on writing animation code to create a spinning effect, a developer could just drag and drop the effect onto the window. What does this mean? It means that Leopard will be peppermint for your eyes. Not only will the OS look spectacular, all your apps will look just as gorgeous. The other benefit is faster builds. Less code for developers means more time spent on features and other improvements meaning cooler stuff for you the user more frequently.

It seems that Leopard will hail in a whole new speed of development and a whole new ease for making exquisite effects. I, for one, can’t wait for Leopard and its completely revised development studio.

18 Responses to “XCode 3.0, a Great Developer Additon”

  1. I love what Apple has done with XCode but I cannot believe that they are still investing in Objective-C, a rather ugly language with so many convoluted syntax constructs when they had C++! Remove the destructor and add garbage collector, that is all they had to do to accomplish EXACTLY the same thing. Why use C and a list of preprocessor macros using [] and # and – operators when these operators are already used by the C language! Ambiguous + old C?

    The next step would be to get rid of the include files like Java. And that would be a rich and elegant OO language to be proud of.

    All the terrific interface building capabilities wasted because of Objective-C!

  2. My buddy got back from WWDC and the first thing we did was take Leopard and Xcode 3.0 for a test drive. Apple has ADC so developers get ‘early access’ to the OS and developer tools, right? So if you really want access to Xcode 3 right now, it’s only $500 away, plus you can recoup much of the cost in the hardware discount coupon.

  3. I hope it has greater support for Java GUI creation like Cocoa has.

    Many will say use this tool or that tool. But im a person that likes to stick with one IDE for all my programming, cocoa, carbon and java.

  4. leopard

    XCode will be available to anyone having access to the betas of Leopard since they’re going to have to be able to make their programs work on Leopard. But as for the rest of us we’ll have to wait until Leopard is released to get it legally.

  5. Pat Alessi

    Hopefully they will add design capabilities to the Object Modeller. It’s pretty useless only having a read only view into your object model. If they added roundtrip modelling, the tool would actually be useful!

  6. While I agree waiting until next year is disappointing, I don’t see any choice for Apple. Two of the three points you listed are going to require Leopard; the last (snapshots) could be done without, but I’m sure Apple will leverage new APIs.

  7. I don’t think it’s possible to release XCode 3.0 before Leopard. Having a new Objective-C runtime and development environment is something that may or may not be possible to just drop into the operating system. Plus, how could you test applications that have Leopard features like Core Animation and the fancy transition effects without having Leopard to test it with?

    My guess is Leopard will also have significant under-the-hood changes that XCode 3 will be able to hook into, and Apple won’t let the cat out of the bag by releasing XC3 before Leopard.

  8. Daniel Brauer

    I really hope Xcode 3 is released before Leopard. I’m looking forward to almost all of its features, and it would be a shame if Mac users had to wait until spring for developers to even begin using all these enhancements.