Worldwide Developers Conference(WWDC)の基調講演で、ジョブズ氏は、Macintoshを2 年間かけて段階的にインテルCPUへ移行する計画を発表した。移行には2つの大きな課題がある。1つはMac OS XをインテルCPUに対応させること。だが、実はアップルは過去5年間、隠れてすべてのOSにインテル版を用意していたのだ。
そこで重要になってくるのが、今あるMac用アプリケーションをいかにしてインテルCPU搭載Macintoshに対応させるかである。ジョブズ氏は、Macintosh用ソフトを4種類に分類した。
ジョブズ氏が示したインテルCPUへの移行に関する4つのステップ |
1つ目は、Dashboardのウィジェットやスクリプト、Java──こういったものであれば、そもそもがCPU非依存なので、まったく手を加えずにそのまま動く。
2つ目は“Xcode”(エックスコード)という開発環境と“Cocoa”(ココア)というフレームワークの組み合わせで開発していれば、一部をちょっとだけ変更して、再コンパイルするだけで、すぐに移行が完了する。ほぼ数日の作業だ。
Xcodeと“Carbon”(カーボン)というフレームワークの組み合わせだと、それなりに変更が必要で、再コンパイルも含めると少し時間がかかる。それでも数週間のことだ。
最後に一番大変なのは、開発環境に、旧Mac OS時代に定番だった米メトロワークス社の『CodeWarrior』を使い、Carbon技術で開発している場合だ。この場合は、開発環境をまずXcodeに変更し、たくさん修正を行なったのち、再コンパイルを行なう……という、かなり長い道のりが待ち受けている。
「こういうこともあって、これまでずっとXcodeへの移行を強く進めてきた」とジョブズ氏は語る。
ここで重要なのは、Xcodeを利用しているか、否かだが、アップルが調べたところトップ100の開発者のうち56%がすでにXcodeを使っていたという。
トップ開発者100人のうち56%がXcodeを採用していた |
では、Xcodeを使っている開発者はどうしたらいいのだろう。まずは米国時間の6日から配布が始まる『Xcode 2.1』という最新版の開発環境を入手する。これを用いてソースコードをコンパイルする際に、新たに加えられたターゲットCPUのダイアログボックスで“Intel”の側にもチェックボックスを入れる。すると、もうこれだけでインテルへの対応が済むのだ。
ちなみにこのダイアログで“PowerPC”と“Intel”の両方をチェックすると、どちらのCPUでも動作する“Universal Binary”というフォーマットのアプリケーションファイルができあがる。
「今後もしばらくは、PowerPC搭載Macが出続ける。開発者はアプリケーションをUniversal Binary形式で用意すべきだ」とジョブズ氏は強調する。
開発環境の新バージョン『Xcode 2.1』 | コンパイル時にインテルとPowerPCどちらのコードを生成するかを選択する |
だが、本当にそんなに簡単なのか疑わしく思う人もいるだろう。そこでジョブズ氏は、総合数学ソフト『Mathematica』を開発する米ウルフラム・リサーチ社のセオ・グレイ(Theo Gray)氏を壇上に招いた。
ジョブズ氏は、この講演の直前に、理由も告げずに、とにかくMathematicaのソースコードを持って、アップル本社に来てほしい、と頼んだという。開発者をアップルに送り込んだところ、わずか2時間後にはMathematicaがインテルCPU版Macintoshでネイティブ動作していた、という。
Mathematicaは非常に歴史が古く、十数年前からのソースコードも混在している複雑なアプリケーションだ。それでもXcodeとCocoaへの移行が済んでいれば、これだけ簡単にインテルCPUに対応できる。もっとも、簡単だとはいえ、来年WWDC 2006の開幕と同時にすべてのアプリケーションがインテル系CPUに対応しているとは考えづらい。
米ウルフラム・リサーチ社のTheo Gray氏 | 古いコードを多々含んだ『Mathematica』も2時間でインテルCPU向けに移行できたという |
そこでアップルは、このためにもバックアッププランを用意してあった。PowerPCのコードをインテルCPU用に変換する“Rosetta”(ロゼッタ)というプロジェクトだ。
既存のMac用アプリケーションをインテルCPU上で実行する“Rosetta”
Rosettaはバイナリーコードをダイナミックに変換することで、既存のMac用ソフトをそのまま実行可能にする。ユーザーはほとんど、意識しないでいいという代物だ。PowerPCが出た時に、68000系アプリケーションをそのまま実行可能にするエミュレーターがMac OS 7に内蔵されたが(現在のClassic環境にも引き継がれている)、それと同じようなものだと考えていい。
Rosetta | Rosettaの特徴 |
ジョブズ氏は実際にOfficeなどいくつかのアプリケーションが動作する様子を披露した。
Rosettaで動作する、PowerPC用アプリケーション |
このようにアップルの移行計画は3つのステップからなる。1つめはアップルがインテル版Mac OS Xを用意すること。2つめは開発者側がXcodeに移行し“Universal Binary”を用意すること。3つめはアップルの側でバックアッププランとしてのRosettaを完成させること。
移行を速く進めるためにも、アップルは米国時間の6日からインテル版Macintoshの開発を検証する『Transition Kit』の配布を販売を始める。アップル開発者向けプログラム(Apple Developer Connection)を対象としたキットで、Pentium 4-3.6GHz、『Mac OS X v10.4.1 for Intel』のプレビューリリース、『Xcode 2.1』、『Universal Binary Porting Guideと』いったものが付属する。これは開発用のハードであって、実際に販売するものではない。
Transition Kit | Transition Kitに含まれるもの |
事実、アップルの側でもソフトが流出しないように2006年末には返却するように求めている。