All Topics  
Xcode

 

   Email Print
   Bookmark   Link






 

Xcode



 
 
Xcode is a suite of tools for developing software on Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, developed by Apple. Xcode 3.0, the latest major version, is bundled free with Mac OS X v10.5
Mac OS X v10.5

Mac OS X version 10.5 "Leopard" is the sixth Software version of Mac OS X, Apple Inc. desktop and server operating system for Apple Macintosh computers, and the successor to Mac OS X v10.4 "Tiger"....
, though it is not installed by default. Version 3.0 is not supported on older Mac OS versions, for which Xcode is also available free from Apple Developer Connection
Apple Developer Connection

The Apple Developer Connection, or ADC, is Apple Inc.'s developer network. It is designed to make available resources to help software developers write software for the Apple Mac OS X platform, iPhone and iPod touch....
.

The main application of the suite is the integrated development environment
Integrated development environment

An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development....
 (IDE), also named Xcode. The Xcode suite also includes most of Apple's developer documentation, and Interface Builder
Interface Builder

Interface Builder is a software development application for Apple Inc. Mac OS X operating system. It is part of Xcode , the Apple Developer Connection developer's toolset....
, an application used to construct graphical interfaces.

The Xcode suite includes a modified version of free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 GNU Compiler Collection
GNU Compiler Collection

The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain....
 (GCC, apple-darwin9-gcc-4.0.1 as well as apple-darwin9-gcc-4.2.1, with the former being the default), and supports C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
, C++
C++

C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level programming language and low-level programming language language features....
, Fortran
Fortran

Fortran is a general-purpose programming language, procedural programming language, imperative programming language programming language that is especially suited to numerical analysis and scientific computing....
, Objective-C
Objective-C

Objective-C is a Reflection , Object-oriented programming programming language which adds Smalltalk-style message passing to C .Today it is used primarily on Mac OS X, iPhone OS, and GNUstep, three environments based on the OpenStep standard, and is the primary language used for the NEXTSTEP, OpenStep#OPENSTEP, and Cocoa application framew...
, Objective-C++
Objective-C

Objective-C is a Reflection , Object-oriented programming programming language which adds Smalltalk-style message passing to C .Today it is used primarily on Mac OS X, iPhone OS, and GNUstep, three environments based on the OpenStep standard, and is the primary language used for the NEXTSTEP, OpenStep#OPENSTEP, and Cocoa application framew...
, Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
, AppleScript
AppleScript

AppleScript is a scripting language devised by Apple Inc., and built into Mac OS. More generally, "AppleScript" is the word used to designate the Mac OS scripting interface, which is meant to operate in parallel with the graphical user interface....
, Python
Python (programming language)

Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
 and Ruby
Ruby (programming language)

Ruby is a dynamic programming language, reflection , general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features....
 source code with a variety of programming models, including but not limited to Cocoa
Cocoa (API)

Cocoa is one of Apple Inc.'s native object-oriented application program environment for the Mac OS X operating system. It is one of four major Application programming interfaces available for Mac OS X; the others are Carbon , POSIX , and Java platform....
, Carbon
Carbon (API)

Carbon is one of Apple Inc.'s procedural Application programming interfaces for the Apple Macintosh operating system. It permits a good degree of forward and backward compatibility between source code written to run on the older and now dated Mac OS history , and the newer Mac OS X....
, and Java.






Discussion
Ask a question about 'Xcode'
Start a new discussion about 'Xcode'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Xcode is a suite of tools for developing software on Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, developed by Apple. Xcode 3.0, the latest major version, is bundled free with Mac OS X v10.5
Mac OS X v10.5

Mac OS X version 10.5 "Leopard" is the sixth Software version of Mac OS X, Apple Inc. desktop and server operating system for Apple Macintosh computers, and the successor to Mac OS X v10.4 "Tiger"....
, though it is not installed by default. Version 3.0 is not supported on older Mac OS versions, for which Xcode is also available free from Apple Developer Connection
Apple Developer Connection

The Apple Developer Connection, or ADC, is Apple Inc.'s developer network. It is designed to make available resources to help software developers write software for the Apple Mac OS X platform, iPhone and iPod touch....
.

The main application of the suite is the integrated development environment
Integrated development environment

An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development....
 (IDE), also named Xcode. The Xcode suite also includes most of Apple's developer documentation, and Interface Builder
Interface Builder

Interface Builder is a software development application for Apple Inc. Mac OS X operating system. It is part of Xcode , the Apple Developer Connection developer's toolset....
, an application used to construct graphical interfaces.

The Xcode suite includes a modified version of free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 GNU Compiler Collection
GNU Compiler Collection

The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain....
 (GCC, apple-darwin9-gcc-4.0.1 as well as apple-darwin9-gcc-4.2.1, with the former being the default), and supports C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
, C++
C++

C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level programming language and low-level programming language language features....
, Fortran
Fortran

Fortran is a general-purpose programming language, procedural programming language, imperative programming language programming language that is especially suited to numerical analysis and scientific computing....
, Objective-C
Objective-C

Objective-C is a Reflection , Object-oriented programming programming language which adds Smalltalk-style message passing to C .Today it is used primarily on Mac OS X, iPhone OS, and GNUstep, three environments based on the OpenStep standard, and is the primary language used for the NEXTSTEP, OpenStep#OPENSTEP, and Cocoa application framew...
, Objective-C++
Objective-C

Objective-C is a Reflection , Object-oriented programming programming language which adds Smalltalk-style message passing to C .Today it is used primarily on Mac OS X, iPhone OS, and GNUstep, three environments based on the OpenStep standard, and is the primary language used for the NEXTSTEP, OpenStep#OPENSTEP, and Cocoa application framew...
, Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
, AppleScript
AppleScript

AppleScript is a scripting language devised by Apple Inc., and built into Mac OS. More generally, "AppleScript" is the word used to designate the Mac OS scripting interface, which is meant to operate in parallel with the graphical user interface....
, Python
Python (programming language)

Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
 and Ruby
Ruby (programming language)

Ruby is a dynamic programming language, reflection , general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features....
 source code with a variety of programming models, including but not limited to Cocoa
Cocoa (API)

Cocoa is one of Apple Inc.'s native object-oriented application program environment for the Mac OS X operating system. It is one of four major Application programming interfaces available for Mac OS X; the others are Carbon , POSIX , and Java platform....
, Carbon
Carbon (API)

Carbon is one of Apple Inc.'s procedural Application programming interfaces for the Apple Macintosh operating system. It permits a good degree of forward and backward compatibility between source code written to run on the older and now dated Mac OS history , and the newer Mac OS X....
, and Java. Third parties have added support for GNU Pascal
GNU Pascal

GNU Pascal is a Pascal programming language compiler comprised of a frontend to GNU Compiler Collection, similar to the way Fortran and other languages were added to GCC....
, Free Pascal
Free Pascal

Free Pascal is a free software, Portability , open source, Pascal programming language and Object Pascal compiler. The 32/64-bit multi-CPU architecture and cross-platform compiler implements the Borland Pascal programming language dialects as well as some MacPascal constructs, and is available for...
, Ada, C#, Perl
Perl

In computer programming, Perl is a high-level programming language, List of programming languages by category, Interpreter , dynamic programming language....
, Haskell
Haskell (programming language)

Haskell is a standardized, purely functional programming language with non-strict programming language, named after logician Haskell Curry. The goals of the language are described as:...
 and D. The Xcode suite uses GDB as the back-end for its debugger
Debugger

A debugger is a computer program that is used to test and debug other programs. The code to be examined might alternatively be running on an Instruction Set Simulator, a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be much slower than executing the code directly on...
.

Xcode is also the development environment for the iPhone
IPhone

The iPhone is an internet-connected multimedia smartphone designed and marketed by Apple Inc. with a flush multi-touch screen and a minimal hardware interface....
, starting with Xcode version 3.1.

Major features

Among the features of the Xcode suite is the technology to distribute the building of source code over multiple computers. The original, now called Shared Workgroup Build, uses the Bonjour protocol to automatically discover computers providing compiler services, and the free software distcc
Distcc

In software development, distcc is a tool for speeding up compiler of source code by using distributed computing over a computer network. With the right configuration, distcc can dramatically reduce a project's compilation time....
. More recent versions of Xcode added a second system, called Dedicated Network Builds, which scales better to larger configurations.

Due to modifications to GCC by Apple, Xcode can build universal binaries
Universal binary

A universal binary is, in Apple Inc. parlance, an executable file or Application software Bundle that runs natively on either PowerPC or X86 architecture -based Apple Macintosh computers; it is an implementation of the concept more generally known as a "fat binary"....
 which allows software to run on both PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
 and Intel-based (x86) platforms. Furthermore, the modified GCC can build 32- and 64-bit applications for both architectures. Using the iPhone
IPhone

The iPhone is an internet-connected multimedia smartphone designed and marketed by Apple Inc. with a flush multi-touch screen and a minimal hardware interface....
 SDK, Xcode can also be used to compile and debug applications for the ARM
ARM architecture

The ARM architecture is a 32-bit RISC central processing unit architecture developed by ARM Limited that is widely used in embedded system designs....
 processor within the device.

Xcode also includes Apple's WebObjects
WebObjects

WebObjects is a Java platform web application server from Apple Inc., and a web application framework that runs on the server. It is available, at no additional cost, as part of the Xcode included with Apple's Mac OS X operating system....
 tools and frameworks for building Java web applications and web services (previously sold as a separate product). As for Xcode 3.0, Apple WebObjects development inside Xcode 3, should be used instead. Xcode 3 still includes the WebObjects frameworks.

In August 2006, Apple announced that DTrace
DTrace

DTrace is a comprehensive dynamic Tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time....
, a dynamic tracing framework created by Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
 and released as part of OpenSolaris
OpenSolaris

File:Opensolaris-screenshot-2008-05.pngOpenSolaris is an open source operating system based on Sun Microsystems' Solaris . It is also the name of the project initiated by Sun to build a developer and user community around it....
, would be integrated into Xcode as Xray; Xray was later renamed to Instruments
Instruments (application)

Instruments is an application performance analyzer and visualizer, integrated in Xcode. It is a developer tool from Apple Inc. Mac OS X v10.5, built on top of the DTrace tracing framework from OpenSolaris and ported to Mac OS X....
.

History


The Xcode suite, like Mac OS X itself, had its roots in technology from NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
. Prior to the October 24, 2003 release of Mac OS X v10.3
Mac OS X v10.3

Mac OS X version 10.3 ?Panther? was the fourth Software version of Mac OS X, Apple Inc. desktop and server operating system. It followed Mac OS X v10.2 ?Jaguar? and preceded Mac OS X v10.4 ?Tiger?....
, Apple referred to the suite of tools as Developer Tools. The Xcode IDE was developed from and superseded Apple's earlier IDE, Project Builder which was inherited and rewritten from NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
's IDE of the same name.

External links

  • - PDF for learning how to write Cocoa in Xcode