| Manufacturer: Apple Computer, Inc. |
| Suggested Retail Price: Free with Panther |
System Requirements:
|
Xcode is Apple's new development tools suite for Panther. It includes various tools for creating Mac OS X programs such as Xcode itself, Interface Builder, and other helpful utilities. My first project created with Xcode can be found here.Installation:
Installing Xcode is as simple as popping in the Xcode CD that came with Panther, and running the installer. It can also be downloaded from the Apple Developer Connection (free membership required).
Usage:Reviewing every feature of Xcode would take an entire book. Therefore, I will highlight the features I like most about Xcode in this review.
A program has a hard time being any good if it does not have a good user interface. Luckily, Xcode has one of the best user interfaces of any IDE (Integrated Development Environment) I have used. It groups files as Source Code, Resources, Frameworks, etc. Plus, you can add your own groups, and even make Smart Groups likes iTunes' Smart Playlist feature. You tell the Smart Group what type of file you want to show up in it, it will find all files in your project that fit the criteria, and automatically place them in there. This can be a very helpful way to organize your code.
However, the groups pale in comparison to the Three Pane View. With this view, you will see the groups on the left, the files contained within the currently selected group on top, and the active source code file in the middle. This makes switching between files very simple, clean, and efficient.
Any programmer can tell you one of the longest and most boring parts to programming is waiting for your code to compile. Apple realized this, and has taken some steps to reduce this unused time. First, while you are writing your source code, Xcode is compiling it in the background. Thus, once you hit the Build button, most of the compilation is complete, and all that is needed to be done is linking of files together to make an application. This cuts compiling time to a fraction of what it normally takes.
Another method Xcode uses to speed up building of applications is Zero Link. With this feature, only the files that are needed to start up your program are linked together at build time, making the linking process nearly instantaneous. This, in combination with precompiling, makes building your applications super fast, so you can get to work debugging it. Keep in mind, Zero Link has to be disabled before building the application you want to distribute to other users; leaving it enabled will cause the application to not function.
Speaking of debugging, when a programer gets to this stage, they know there will be a lot of this process: find the bug, quit the program, fix the bug, recompile, relaunch the program, and repeat. That is why Apple came up with Fix and Continue. Fix and Continue allows you to find bugs, and fix them, without ever closing the application. When a bug is found, you open the source code, fix it, compile it, and your still running program will take on these changes. Never before could a debugging process be so efficient.
The next feature is one aimed at groups of programmers, working on a project together. Xcode has the ability to distribute (over a network using Rendezvous) the current build of your project to others running Xcode. This eliminates the need to set up a central place for builds, or transferring a bunch of files just to find out you missed one. With distributed building, many programmers can work on the same project, at the same time, on many different machine, and all see each others' work. This will definitely come in handy for many software companies.
If you have worked on a project, and gotten stuck doing a particular function, where did you turn. Normally, you have to search various sources, looking for an answer. But with Xcode's built in Help, you can find your answer in a fraction of the time. The Documentation Viewer in Xcode allows you to get vital information on various aspects of Xcode, Cocoa, etc. This has helped me tremendously in my projects.
Of course, even with the help files, you will still run into errors. No programmer can write error free code 100% of the time, so compile time error checkers are essential. Unfortunately, most compilers display hard to decipher messages, making it nearly as hard to find the error as to fix it. With Xcode, this is a thing of the past. Xcode puts all errors and warnings together in the groups pane of the main interface window. This group contains all the compiler found errors, which you can double click to have Xcode go to the exact spot it thinks the error is. This can make debugging of compilation errors much easier.
Xcode isn't just one application though. It comes with a variety of tools to help you create icons, debug and fine tune your code, package up your application, and much more. The most useful tool in the bunch has to be Interface Builder. Any programmer can tell you building nice interfaces is one of the hardest aspects to programming, and having a barely functioning interface can cripple your application. This is where Interface Builder comes into play. With it, you can create windows, menus, user interface elements, etc. and link them all together. What used to take hours can now take just minutes.
If you have not noticed the main trend Apple has followed with Xcode, then let me bring it to light: work smarter, not harder. Xcode was designed to make programmers' lives easier, by giving them an array of functions to speed up their coding, and cut back on wasted time. Programs built with Xcode should take much less time than programs built with other IDEs, meaning more revenue for software companies and independent programmers.
Problems:No problems surfaced while using Xcode.
Conclusion:If you are looking to develop programs for Mac OS X, or are trying to get away from expensive IDEs like CodeWarrior, this may be the solution. Xcode contains some top notch development tools, at a price anyone can afford.
| Pros | Cons |
|
|
10/10 stars |
|
Mac, the Mac logo, Mac OS, the Apple logo, and other Apple product names are trademarks of Apple, Inc., registered in the U.S. and other countries. The Made on a Mac Badge is a trademark of Apple, Inc., used with permission.
Additional company names, company logos, product names, and product images may be trademarks or registered trademarks and are hereby acknowledged.
Arbitrary Quote - I finally came up with a punishment for the boy. First, no leaving the house, not even for school. Second, no egg nog. In fact, no nog period! And third, absolutely no stealing for three months!




