Microsoft, Adobe Apps Expected to Be Most Difficult to Port to Intel Macs
Apple also encouraged developers to open their source code to other developers and to use open source to help with the switch.
Apple announced on Monday that it would switch its entire line of Macs from PowerPC apps to Intel processors.
At a Worldwide Developers Conference session called Mac OS X State of the Union, Bertrand Serlet, Apples senior vice president of software engineering, told the audience of developers that they should enable their Mac software to be processor-independent, running on both PowerPC- and Intel-based Macs.
Serlet said that developers should work towards a single SKU (stock keeping unit) instead of separate versions for each processor.
"The goal is to have one box in the store," he said. Apple refers to these types of applications as "universal."
"How much work will it be?" he said. "It depends on the type of project."
Carbon applications contain old Mac OS 9 code carried over from the port to Mac OS X.
Cocoa applications, those written completely with Mac OS X technology, would be easier to port.
Most of Apples own software products are Cocoa applications, but many major third-party apps are Carbon.
The issue for creating universal Mac software is the order of bytes stored in memory and written to a file. Developers refer to this as the Endian problem, in which PowerPC and Intel processors store bytes in opposite order.
Apple said that developers can make Carbon applications universal, but custom resources will make solving the Endian problem more difficult than Cocoa applications.
Serlet indicated that developers might have to rewrite Carbon code by hand rather using the automated tools in Apples Xcode tools.
Serlet told developers that Apple will continue to add new Carbon tools to aid the porting process. He also suggested that the byte order problem could be eased through the use XML or HIArchive, a technique now available in Mac OS X 10.4 Tiger.
Cocoa applications will only require "minor tweaks" and a recompile to solve byte order issue and become universal, according to Apple. The use of the Objective C programming language in Cocoa software also helps.
Mac OS X Unix projects, including software for the X11 windowing environment, will be easier to make universal than Cocoa apps, according to Apple. This class of software will only need a recompile of the source code to run on Intel processors.
Serlet said that open software and open standards could help create universal Mac software. He also suggested that developers open up some of their proprietary software to share with other Mac developers.
Apple added that open software would help with the port to Intel processors. For instance, Tiger adds SQLite, an open database now used by Apple Mail and for RSS in Apples Safari Web browser.
"SQLite [helps to] solves the byte ordering problem," said Serlet.
Serlet also said "GCC [GNU Compiler Collection] defines processor independence" and that the Mach O binary format "glues PPC and Intel."
Also at the Mac OS X State of the Union session, Apple encouraged developers to make applications compatible with Tigers Spotlight search technology. Serlet said that adding metadata to documents would enable Spotlight to find the documents.
Developers can also enable their applications to search for information using Spotlight technology.
Spotlight provides "importers" that third-party software can access with plug-ins. This will give applications access to the index of information that Spotlight creates.
Check out eWEEK.coms for the latest news, reviews and analysis on Apple in the enterprise.