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.