Xcode
|
Template:Infobox Software Xcode is Apple Computer's integrated development environment (IDE) for developing applications and other software for Mac OS X. It is shipped free with Mac OS X. First introduced on October 24, 2003 along with the release of Mac OS X v10.3, it extended and replaced Apple's earlier IDE, Project Builder, which was inherited from NeXT.
Xcode works hand in hand with Interface Builder (also inherited from NeXT), a graphical tool used to create user interfaces.
Xcode includes GNU Compiler Collection (GCC), and can compile C, C++, Objective C++, Java, and Objective C source code with a variety of programming models, including but not limited to Cocoa, Carbon, and Java.
Among the highly touted features in Xcode is the technology to distribute the building of source code using Bonjour over multiple computers.
The release of Xcode 2.1 in June 2005 was significant in giving developers the tools to create universal binaries which allow Mac OS X software to run on both PowerPC and Intel-based (x86) architectures. The release also integrated Apple's WebObjects tools and frameworks for building Java web applications and web services (previously sold as a separate $699 product).
Xcode version history
- 2.1 - June 6, 2005 (released at WWDC 2005)
- Supports the creation of Universal binaries for PowerPC and Intel architectures on Mac OS X v10.4.1 using Mac OS X SDK support.
- WebObjects developer tools included with the Xcode Tools as an optional install.
- EOModels for Enterprise Objects can be edited within Xcode with a new EOModeler plugin that integrates CoreData modeling tools.
- The project file format is now much more readable and less prone to SCM conflicts. It also supports the new Build Configurations feature. Because of the magnitude of the changes, the project file extension is changed in Xcode 2.1 to “.xcodeproj”. Older versions of Xcode will not read .xcodeproj files, but Xcode 2.1 can convert older project files to .xcodeproj format.
- Build Styles replaced by Build Configurations, a more "what-you-see-is-what-you-get" approach to target settings. You can set per-configuration settings directly in the target's inspector, and subprojects are built with the same build configuration as the master project.
- Built products from different configurations are now built in per-configuration build directories, and can even have different product names per-configuration. That means that building your Release build doesn't overwrite your Debug build any more.
- A build configuration can be based on a build configuration file, a text file that provides base settings for one or more configurations. This means that your settings can be viewed, edited, searched, committed to SCM, and even compared as text files.
- Dependency analysis is now much more reliable. You don't need to clean before building as often, and files won't be recompiled unnecessarily.
- You can configure targets and projects to use Shared Precompiled Headers to minimize the building of precompiled headers.
- Xcode now supports Preprocessing Info.plist fIles to perform macro expansion and substitution using common header files.
- You can now create targets in your projects that perform Unit Testing of other built products at build time. Using test frameworks for C, C++, and Objective-C, you can report test failures and regressions in newly-built code at the time you build it.
- The ability to drag and drop items in Xcode is significantly enhanced. You can now drag any file or folder into any build setting that expects a file path; drag a target into the Target Dependencies list of any aggregate target; and drag groups or file references into build phases.
- Distributed builds have been updated so that compile servers only allow remote execution of arbitrary programs. The list of programs that a compile server will allow is contained in /private/etc/compilers.
- There are many refinements and additions in the Xcode user interface that will be familiar to users of other IDEs. There’s now a Targets tab in each file inspector to show and set what targets that file is included in. The “Built” column in the Groups and FIles and Details views can now be clicked to Touch a file to cause it to be rebuilt. In the File Editor you can now Unlock a file that is locked in the file system. The Build, Preprocess, and Show Assembly Code commands now work on multiple selections.
- The Xcode debugger now supports conditional breakpoints, breakpoint actions, and watchpoints in the debugger interface. The breakpoint actions can log a message, execute a script, speak a phrase, or visualize your program flow in a Class Model diagram.
- Viewing variables in the debugger now has extended support for Booleans, Pascal strings, and OSType data types.
- The debugger console now performs tab-completion of symbol names in the current context.
- Source Code Management now uses an Online/Offline master switch (as is used in Mail) to control connecting and disconnecting from an SCM system. All SCM systems now have basic support for wrappers (project files, nibs, model files, RTFD documents, etc.).
- The AppleScript dictionary in Xcode continues to grow, in this version adding commands to make new target, upgrade project file, and perform various SCM operations.
- 2.0 - April 29, 2005 (released with Mac OS X 10.4 Tiger)
- Supports development for Mac OS X 10.1, Mac OS X 10.2 (Jaguar), Mac OS X 10.3 (Panther), or Mac OS X 10.4 (Tiger) using the Mac OS X SDK support.
- Includes a new version of the GCC compiler. GCC 4.0 includes a new, faster recursive descent C++ parser that conforms to the C++ standard, state-of-art Single Static Assignment code optimization framework, auto-[SIMD|vectorization]], and 64-bit development for C and C++ (Objective-C/C++ is not yet supported).
- Bonjour-enabled distributed build feature farms out builds by distributing compile workload across idle desktop machines or, better, deploy a dedicated Xserve build farm to do in minutes what would take hours on any single machine.
- Visual modeling and design features automatically create class diagrams that not only let you view, but also navigate your code.
- Integrated Apple Reference Library provides a single search and presentation interface for all of Apple’s developer documentation, including both online documentation from Apple’s website and documentation installed on your machine.
- Improved Java Code Sense indexing and Ant project templates.
External link
- Apple.com: Xcode (http://www.apple.com/macosx/features/xcode/)de:Xcode