
Mac OS X includes all the tools, frameworks, and documentation you need
to create fantastic applications for the Mac. Xcode is the same
professional developer toolset used by Apple to create Mac OS X, as well
as many great Apple applications, and Xcode is included with every copy
of Mac OS X. As new hardware or platforms are released, updated
versions of Xcode to support these platforms will be available to
download from the ADC website. Xcode's documentation is regularly
updated using RSS downloads so you always have the latest information.
The Xcode IDE is optimized to create fantastic Cocoa applications, but
it also supports an open, extensible architecture that is great for
developing portable UNIX tools using the GCC compiler, experimenting
with the latest script languages, and building rich Web-based
applications. Bundled are industry-leading analysis tools such as
Instruments that make it even easier to maximize the 64-bit and
multi-core hardware of the latest Macs.
Xcode
The Xcode IDE integrates most of the tools that you use for day-to-day development into a single customizable interface. Xcode features, such as ZeroLink, Fix and Continue, and distributed builds, decrease turnaround time and shorten the development cycle. Code Sense increases productivity by providing easy access to information about your code. Xcode also uses a safe refactoring model, so you can feel comfortable making major changes to your source files. File Merge lets you preview the results of the refactoring, and even take an automatic snapshot of your code so that you can easily undo the changes if necessary.
Underlying the Xcode application is a solid foundation of industry-standard tools, including GCC and the GNU Debugger (GDB). Xcode is 64-bit, garbage collected, and tuned for many processor cores, making it fast, efficient, and scalable.
Xcode's Organizer is great for community projects that use arbitrary build systems such as autoconf, make, and ant. It also supports arbitrary types of programs and languages, such as Ruby, Python, UNIX, Fortran, Java and WebObjects, as well as Web and Server projects. Organizer gives you quick access to frequently used files and projects, and allows for scripted operations across many projects.
Interface Builder
Interface Builder is the easy-to-use graphical editor for designing and managing every aspect of Aqua-compliant graphical user interfaces. Interface Builder stores your user interface design in one or more resource files, as a set of interface objects and their relationships. Changes you make in the interface are automatically synchronized with Xcode. Interface Builder also includes support for Core Animation and
Core Graphics, so you can drop-in animations and effects.
Objective-C 2.0
Objective-C 2.0 is the language used by many developers for native applications. It is garbage collected, freeing you from worrying about memory management. Objective-C programs can be built for 32- and 64-bit runtime architectures, and the language also supports properties, so you have more flexibility and less accessor code to write for variables.
Objective-C support is built into the tools. Xcode includes Objective-C refactoring, code completion, and syntax coloring. Interface Builder understands Objective-C, and lets you easily connect elements in your user interface to variables and methods in your source code. Core Data's modeling tools generate Objective-C code from your graphical data model. And the performance tools Shark and Instruments include garbage collection monitors.
Performance Tools
Instruments allows you to monitor multiple performance aspects while your application is running. Instruments uses a timeline to show a visualization of performance data, similar to the way GarageBand displays tracks. But it goes even further: with Instruments you can compare multiple runs, correlate measurements, and drill into the details of events. Instruments' user interface recording feature lets you replay scenarios many times, which is very useful for bugs that only seem to occur when you're not prepared to investigate them. Instruments supports reusable templates, so you can reuse your UI recordings, or even have your users help by sending in a sample run, complete with the results.
Under the hood, Instruments relies on DTrace, an open-source technology that supports system-wide tracing of arbitrary system behavior. DTrace is scriptable, and you can even build your own custom instruments for use in Instruments.
Xcode's other performance tools, such as Sampler and Shark, can help you debug your code, gather metrics, identify and eliminate bottlenecks in your code, and provide a mental model of the inner workings of your code, giving you the information you need to make your program run faster. Some of the performance tools are applications with graphical user interfaces while others are command-line utilities that must be invoked from the Terminal application or, less invasively, through ssh or telnet from a remote machine.
Package Maker
Once you have built, tested, and optimized your program, get it ready for distribution using Package Maker. The familiar Mac OS X installation sequence — with the Welcome, Read Me, and License Agreement screens — can be the packaging for your application as well, making it consistent with other apps on Mac OS X. You can provide the user with any number of choices, such as in what folder to install. If your application needs specific libraries to be present on the system, the installer can make that check and gracefully exit if necessary. Consistency and accuracy are important to your users, so use Package Maker to get your app installed correctly the first time.
Dashcode
Dashcode is a complete Widget development environment for building Widgets incorporating HTML, CSS, and JavaScript, with just a few clicks. Dashcode's library includes JavaScript parts, code snippets, and access to your photos, so you don't have to look far for inspiration. JavaScript is notoriously hard to debug, so Dashcode includes a JavaScript Debugger, complete with support for breakpoints and expression evaluation.
Mac OS X's development tools combine a high-performance development environment with a friendly user interface to deliver Mac OS X native applications. By using the Xcode IDE, Interface Builder, Xcode's performance and optimization tools, and Dashcode, you can dramatically decrease the development time needed to create high-quality applications.
For news, updates and links to other ADC content related to Tools, return to the Tools topic page.
Posted: 2007-10-26
|