このページの本文へ

【WWDC2005基調講演 Vol.4】ジョブズがアップルについて語ったこと──開発者に課せられた課題

2005年06月08日 10時08分更新

文● 林 信行

  • この記事をはてなブックマークに追加
  • 本文印刷

Worldwide Developers Conference(WWDC)の基調講演で、ジョブズ氏は、Macintoshを2 年間かけて段階的にインテルCPUへ移行する計画を発表した。移行には2つの大きな課題がある。1つはMac OS XをインテルCPUに対応させること。だが、実はアップルは過去5年間、隠れてすべてのOSにインテル版を用意していたのだ。

そこで重要になってくるのが、今あるMac用アプリケーションをいかにしてインテルCPU搭載Macintoshに対応させるかである。ジョブズ氏は、Macintosh用ソフトを4種類に分類した。

移行への4つのステップ
ジョブズ氏が示したインテルCPUへの移行に関する4つのステップ

1つ目は、Dashboardのウィジェットやスクリプト、Java──こういったものであれば、そもそもがCPU非依存なので、まったく手を加えずにそのまま動く。

2つ目は“Xcode”(エックスコード)という開発環境と“Cocoa”(ココア)というフレームワークの組み合わせで開発していれば、一部をちょっとだけ変更して、再コンパイルするだけで、すぐに移行が完了する。ほぼ数日の作業だ。

Xcodeと“Carbon”(カーボン)というフレームワークの組み合わせだと、それなりに変更が必要で、再コンパイルも含めると少し時間がかかる。それでも数週間のことだ。

最後に一番大変なのは、開発環境に、旧Mac OS時代に定番だった米メトロワークス社の『CodeWarrior』を使い、Carbon技術で開発している場合だ。この場合は、開発環境をまずXcodeに変更し、たくさん修正を行なったのち、再コンパイルを行なう……という、かなり長い道のりが待ち受けている。

「こういうこともあって、これまでずっとXcodeへの移行を強く進めてきた」とジョブズ氏は語る。

ここで重要なのは、Xcodeを利用しているか、否かだが、アップルが調べたところトップ100の開発者のうち56%がすでにXcodeを使っていたという。

Xcodeの普及率
トップ開発者100人のうち56%がXcodeを採用していた

では、Xcodeを使っている開発者はどうしたらいいのだろう。まずは米国時間の6日から配布が始まる『Xcode 2.1』という最新版の開発環境を入手する。これを用いてソースコードをコンパイルする際に、新たに加えられたターゲットCPUのダイアログボックスで“Intel”の側にもチェックボックスを入れる。すると、もうこれだけでインテルへの対応が済むのだ。

ちなみにこのダイアログで“PowerPC”と“Intel”の両方をチェックすると、どちらのCPUでも動作する“Universal Binary”というフォーマットのアプリケーションファイルができあがる。

「今後もしばらくは、PowerPC搭載Macが出続ける。開発者はアプリケーションをUniversal Binary形式で用意すべきだ」とジョブズ氏は強調する。

Xcode 2.1 CPU選択のダイアログ
開発環境の新バージョン『Xcode 2.1』コンパイル時にインテルとPowerPCどちらのコードを生成するかを選択する

だが、本当にそんなに簡単なのか疑わしく思う人もいるだろう。そこでジョブズ氏は、総合数学ソフト『Mathematica』を開発する米ウルフラム・リサーチ社のセオ・グレイ(Theo Gray)氏を壇上に招いた。

ジョブズ氏は、この講演の直前に、理由も告げずに、とにかくMathematicaのソースコードを持って、アップル本社に来てほしい、と頼んだという。開発者をアップルに送り込んだところ、わずか2時間後にはMathematicaがインテルCPU版Macintoshでネイティブ動作していた、という。

Mathematicaは非常に歴史が古く、十数年前からのソースコードも混在している複雑なアプリケーションだ。それでもXcodeとCocoaへの移行が済んでいれば、これだけ簡単にインテルCPUに対応できる。もっとも、簡単だとはいえ、来年WWDC 2006の開幕と同時にすべてのアプリケーションがインテル系CPUに対応しているとは考えづらい。

Mathmatica(1) Mathmatica(2)
米ウルフラム・リサーチ社のTheo Gray氏古いコードを多々含んだ『Mathematica』も2時間でインテルCPU向けに移行できたという

そこでアップルは、このためにもバックアッププランを用意してあった。PowerPCのコードをインテルCPU用に変換する“Rosetta”(ロゼッタ)というプロジェクトだ。

既存のMac用アプリケーションをインテルCPU上で実行する“Rosetta”

Rosettaはバイナリーコードをダイナミックに変換することで、既存のMac用ソフトをそのまま実行可能にする。ユーザーはほとんど、意識しないでいいという代物だ。PowerPCが出た時に、68000系アプリケーションをそのまま実行可能にするエミュレーターがMac OS 7に内蔵されたが(現在のClassic環境にも引き継がれている)、それと同じようなものだと考えていい。

Rosetta 特徴
RosettaRosettaの特徴

ジョブズ氏は実際に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 KitTransition Kitに含まれるもの

事実、アップルの側でもソフトが流出しないように2006年末には返却するように求めている。



カテゴリートップへ

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン