タイトルBrowsing Mac OS X》Macintoshの新しい歴史が今日から始まる(その2)カテゴリーMac OSテクノロジー
作成日2001/3/24 16:26:26作成者新居雅行
□Mac OS Xで動くアプリケーション
土台がしっかりしていても、アプリケーションがないことにはなにもできないのは言うまでもない。そのための枠組みとして、Mac OS Xはいくつもの選択肢を用意している。もっとも、その選択権はある意味では開発者側にゆだねられている面もある。しかしながら、過去との互換性、他のプラットフォームとの共通性など、豊富な選択肢を与えているという点でも注目することができる。
まず、OPENSTEPから引き継がれたアプリケーション実行環境として「Cocoa」がある(古くはYellow Boxなどと呼ばれていた)。Cocoaのフレームワークは完全にオブジェクト指向で設計されたものとなっている。オブジェクト指向の特徴である開発効率の高さに加え、フレームワークの使い方自体の明解さがデベロッパーに受けている。以前はObjective-Cというマイナーな言語での開発しかできないかったのだが、現在は他にJavaでも開発ができるなど、選択肢が増えている。とりわけ、開発ツールのInterface Builderで設計したGUIをベースにアプリケーションなどを作成することができるところは、スピーティに開発をすすめるという点では有利である。また、CocoaはOPENSTEP時代から組み込まれている機能でもあり、CocoaベースのアプリケーションはMac OS Xの本来の特徴を十分に生かすことができる点で、「ネイティブアプリケーション」とも呼ばれる。
一方、Classicと呼ばれる環境は、Mac OS 9.1自体を、Mac OS Xの中で起動することにより、Mac OS Xの中でも、Mac OS 9.1対応のアプリケーションを動かしてしまうというものである。しかも1つのウインドウの中だけでMac OS 9.1のアプリケーションが動くというわけではなく、他のネイティブアプリケーションとあたかも近い感じで利用できる。最初に起動した時にはMac OS 9.1の起動時間が余分にかかったり、ウインドウなどのみかけがMac OS 9.1タイプであるなどの違いがあるが、いずれにしても、Mac OS 9.1対応アプリケーションがそのまま動くと言う環境をMac OS Xには組み込まれている。もっとも、処理速度の低下や、場合によっては印刷ができなくなるなどの制約はあるため、完全ではない。しかしながら、かなり高いレベルで、Mac OS 9.1の環境をMac OS Xの中に実現しているのである。
さらに、Carbonというフレームワークが用意されている。Carbonは、Classic Mac OSで用意されていたシステム機能の多くを、そのままMac OS Xでも利用できるようにしたものだ。しかも、Mac OS Xのマルチタスクやメモリ保護といった機能を十分に利用できることもあって、Carbon対応アプリケーションも「ネイティブアプリケーション」と呼ぶのが一般的となってきている。Classic Mac OSと機能面で共通なので、Classic Mac OS向けのアプリケーションのソースコードをある程度の手直しで、Mac OS Xでもネイティブアプリケーションとして稼動させることができる。従来のデベロッパーにとってはこれまでのノウハウを生かせるわけで、新しいOS対応ソフトウエアを作成しようという気力がうまれる。今現在、Classic Mac OS向けのアプリケーションが次々とCarbon対応している。ただし、実際にネイティブと言えるようになるためには、小手先の改良ではだめなことも多いため、かなり気合いをいれてかからないとCarbon化できないとも評価できるだろう。ただし、当初はCarbonはCocoaに至るためのステップの1つのように言われていたものの、AppleもCarbon環境をかなり充実させているために、Carbonも1つの確固としたネイティブアプリケーション実行環境と言えるまでになっている。
そして、忘れていはいけないのはJava2 Standard Editionの対応だ。クロスプラットフォーム対応のソフトウエア実行環境としてJavaがブームになったのは、1996〜1997年だが、その後のWindowsの対応からデスクトップ向けの利用は頭打ちになったものの、サーバ開発、あるいは携帯電話などでは今や中心的な開発言語となりつつある。クロスプラットフォームはもちろん特徴ではあるが、現在ではバグが潜在しにくい言語としてのJavaや、あるいはライブラリ機能の充実などを目当てにJavaが使われるようになっていると言えるだろう。Javaのライブラリ機能としては高機能ユーザインタフェースコンポーネント群のSwingあたりが有名だが、Swingに基づいてJavaで作成したプログラムがMac OS Xでも稼動するのである。Javaは遅いというのが通説になっているが、現在のJavaは十分に実行スピードも確保できていると言えるだろう。
グラフィックスに強いMac OSという定評は、Mac OS Xでも崩れることはないだろう。2次元画像処理は、PDFフォーマットを基調にしたQuartz、そして3次元画像処理は業界標準のOpenGL、そしてマルチメディアはQuickTimeが搭載されている。なお、従来のQuickDrawはなくなったわけではなく、Carbonアプリケーションでは使うことも多いかもしれないが、コアな機能とは言えなくなっているようだ。

□Mac OS XのオペレーションとAqua
こうした基盤を持つMac OS Xであるが、それを実際に使う必要がある。もちろん、ウインドウに表示するという形式はMac OSと同様だが、まず、ウインドウやスクロールバー、ボタンといったコントロール類のデザインを「Aqua」というコンセプトに基づいた統一的かつオリジナリティの高いデザインで統一した。「水」という意味を持つ単語から想像できるように、水色を基調として、水滴の雰囲気があるかなり印象に残るデザインである。ただし、Classic環境で稼動させたアプリケーションはAquaは利用しない。また、彩度が強いという要望にも応えて、グレーな雰囲気の見かけも選択できるようになっている。
ウインドウが表示されることに加えて、Dockという機能が利用できるのがMac OS Xのユーザインタフェースの大きな特徴だろう。画面下にアイコンが並ぶのがDockである。Dockにはいろいろな機能が込められており、また今後も改良・拡張するものと思われる。1つの機能はアプリケーションや文書のアイコンを登録しており、起動や呼び出しを行うというものだ。また、そのアプリケーションへのドラッグ&ドロップの受付もDockで行えるのが一般的だ。デスクトップにあったゴミ箱もDockに移動しているが、アプリケーションの文書ウインドウから利用しづらかったゴミ箱も、常に前面に出ているDockの中にある方が使いやすい。もっとも、Dock自体がウインドウの一部に重なり、たとえばウインドウの右下のサイズボックスを操作しづらくなるという点もあるのだが、Dockを画面下にマウスを移動したときにだけ表示するように切り替えることなどでこうした問題も対処できるようにはなる。
そして、ファイル処理を行うなどの基本アプリケーションとしてのFinderも、Mac OSと同様Mac OS Xにもある。同じFinderという名前であるが、機能的には大きく違っている。ファイルの一覧を階層的に表示する独特のカラムビューという表示形態があったり、ウインドウ自体にツールバーがあってボタンがありさらにそれをカスタマイズできたり、フォルダをダブルクリックしても新しいウインドウは開かないのが既定の状態であるなど、従来のユーザにとっては考え方をある程度は変えないと使いこなせないものとなっている。

□Mac OS Xに遅かれ早かれ移行せざるを得ない
こうした特徴のあるMac OS Xであるが、やはりできればネイティブアプリケーションで使いたい。そうしたアプリケーション対応が行われるまではMac OS 8/9を使い続けるユーザも多いというのが予想だ。だが、Mac OS Xへの移行は、Appleにとっては後戻りできない段階に踏み込んだものなのである。ズバリ言って、Mac OS Xがだめなら、Macintoshコミュニティは存在しなくなると言っても良い。もちろん、今日発売だから今日から使わないと意味はないとまでは言わない。しかしながら、人によっては違うけども、これからMacintoshを使い続けるのであれば、いつかはMac OS Xへユーザも踏み込まなければならない時が来るのである。その大転換のスタートが、2001年3月24日なのである。
関連リンク