Universal Binary
Encyclopedia : U : UN : UNI : Universal Binary
A Universal binary is — in Apple Computer's parlance — an application bundle that runs natively on either PowerPC- or x86 (Intel)-based Macintosh computers. It was introduced at the 2005 WWDC as a means to ease the transition from the existing PowerPC architecture to systems based on Intel processors, which began shipping in 2006. Universal binaries typically include both PowerPC and x86 versions of a compiled application. The specification for a Universal binary does allow for more than two versions of the binary, with another possibility including separate code for PowerPC, PowerPC 64-bit and x86. The operating system detects a Universal binary by its header, and executes the appropriate section depending on the architecture in use. This allows the application to run natively on any supported architecture, with no performance impact.
There are two general alternative solutions. The first is to simply provide two separate binaries, one compiled for the x86 architecture and one for the PowerPC architecture. However, this can be confusing to software users unfamiliar with the difference between the two. The other alternative is to rely on emulation of one architecture by a system running the other architecture. This approach results in slower performance, and is generally regarded an interim solution to be used only until Universal binaries or specifically-compiled binaries are available. (See Rosetta.)
Universal binaries are usually substantially larger than single-platform binaries, because two copies of the compiled code must be stored. The size of the resulting Universal binary is usually not double as a significant portion will be non-executable resources which are shared between the two architectures. They do not require extra RAM, however, because only one of those two copies is loaded for execution.
Apple previously used a similar technique during the transition from 68k processors to PowerPC in the mid-1990s. These dual-platform executables were called "fat binaries", referring to their larger file size.
Apple's Xcode 2.1 supports the creation of these files, a new feature in that release. A simple application developed with processor-independence in mind might require very few changes to compile as a Universal binary, but a complex application designed to take advantage of architecture-specific features might require substantial modification. Applications originally built using other development tools might require additional modification. These reasons have been given for the delay between the introduction of Intel-based Macintosh computers and the availability of third-party applications in Universal binary format. Apple's delivery of Intel-based computers several months ahead of their previously announced schedule is another factor in this gap.
Universal Applications
Productivity
| Application | Universal | Release Date | Notes |
|---|---|---|---|
| Adobe Creative Suite | In development | 2007 | |
| Apple iWork 06 | Yes | Released on January 10, 2006 | |
| Microsoft Office | In development | Unknown | Microsoft's Office 2004 applications often hang or quit under Rosetta. |
| Mozilla Firefox | Released on April 13 2006 | ||
| Mozilla Thunderbird | Released on May 31 2006 | Only on new installs; the built-in updater from 1.5.0.2 or before will update to a PPC-only version. | |
| OpenOffice.org | Alpha version only | Unknown | [[Citing sources citation needed]] |
| Opera | Released on February 7, 2006 | ||
| In development | Summer 2006 |
Development
| Application | Universal | Release Date | Notes |
|---|---|---|---|
| XML-RPC Client | Yes | Released July 2006 | http://www.ditchnet.org/xmlrpc/ |
| Cocoa Cookies | Yes | Released July 2006 | http://www.ditchnet.org/cocoacookies/ |
Games
| Application | Universal | Release Date | Notes |
|---|---|---|---|
| Doom 3 | Yes | Released | Universal Binary Patch Available |
| Quake 4 | Yes | Released | |
| Call of Duty 2 | Yes | Released | |
| The Sims 2 | Yes | Released | Universal Binary Patch Available |
| Unreal Tournament 2004 | Yes | Released | Universal Binary Patch Available |
| World of Warcraft | Yes | Released | Universal Binary Patch Available |
| Zoo Tycoon 2 | Yes | Released | Universal Binary Patch Available |
| No Limits Roller Coasters | Yes | Released | Universal Binary Patch Available |
See also
References
External links
- [Apple's "Universal Applications" page]
- Apple [Developer Transition Resource Center]
- Apple [Universal Binary Programming Guidelines]
- A collection of completed Universal Binary ports: [Amazing Programs for your x86 Tiger Mac]
- [MacUpdate's listing of current Universal Applications]
- [VersionTracker's listing of current Universal Applications]
- [MacRumors' listing of current Universal Binary games]
- [Universal Blog: Updates on New Universal Binaries]
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
