このページの本文へ

前へ 1 2 次へ

Apple Geeks ― 第22回

Qtで加速する「脱X11」なUNIX汎用ソフト

2011年01月05日 12時00分更新

文● 海上忍

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

 本連載「Apple Geeks」は、Apple製ハードウェア/ソフトウェア、またこれらの中核をなすOS X/iOSに関する解説を、余すことなくお贈りする連載です(連載目次はこちら)。

 UNIX使い向けを始め、Apple関連テクノロジー情報を知りつくしたいユーザーに役立つ情報を提供します。

 今回は「Qt」について。KDEの基礎をなすGUIフレームワークとして知られた存在だが、今やマルチプラットフォーム対応のソフト開発で広く利用されている。周辺機器に同梱のユーティリティで採用されるケースも多く、知らずに使っているユーザーも多いはずだ。そのQtが果たす役割を解説するとともに、今すぐOS Xで利用できるフリーソフト5点を紹介してみよう。

もう「X11」は必要ない?

 現在のOS Xは、まごうことなき「UNIX」だ。前身のNEXTSTEPからしてBSD UNIXの系譜に連なる存在だが、Leopardのリリースに併せてAppleが「Single UNIX Specification」を取得、正式にUNIXを名乗るようになった。

 その意味ではUNIXこそ名乗れないが、現在のデスクトップUNIXにおける最大シェアは「Linux」だ。そしてLinuxはX Window System(X11)と組み合わせて使うことが一般的で、UNIX系OSで動くGUIを備えたソフトといえば、Linux/X11用ソフトが連想される状況となっている。

 そんなLinux/X11用ソフトは、ソースコードの修正なしにOS Xでコンパイルできることが多い。これは、OS Xが正式なUNIXであり、X11の実行環境(X11.app)とライブラリーやヘッダーファイルが標準装備されていることと、OS XがUNIXの一派だという認識が広まりOS X向けのコードを加えたソフトが増加したことが理由だ。GIMPInkScapeといった人気ソフトがOS Xですんなり動作することには、そのような背景がある。

 しかし、X11上で動くソフトが他のOS Xネイティブな(Cocoa/Carbonベースの)ソフトと比較して扱いにくいことも事実。ソフト間でのドラッグ&ドロップに対応せず、ショートカットキーのアサインも異なる。GIMPやInkScapeのユーザー数がLinuxのそれに比べて少なめなことも、この不統一感に由来するのだろう。

 開発側も心得たもので、以前からX11上で動くGUIフレームワークをOS Xネイティブに移植する試みが存在する。Linux/X11では、GTK+とQt(キュート)の2つがGUIフレームワークの2大勢力となっているが、GTK+の開発が混乱気味—GTK+/Quartz実装の中心だったImendioが開発を停止、その後大きな進展が見られないなど—なことに対し、Qtはバージョン3以降開発元のNokia(当時Trolltech)によりサポートされ、OS Xネイティブのソフトとして動作するようになった。2009年公開のQt 4.5ではCocoaをサポート、64ビット対応を果たすなどOS Xの進化に追随している。

Qtの開発環境(SDK)とライブラリーのいずれも無償利用/再配布が可能

 ここまでの説明を語弊を恐れず要約すると、「最新のQtを使用するLinux向けソフトの多くが、CocoaソフトとしてOS Xネイティブで動く」となる。もちろん、Qt以外にも依存するライブラリーがあるはずで、特にKDEに依存するQtベースのソフトは数多く、それが障壁となりOS X用バイナリーパッケージが提供されないこともある。

 しかし、このようなQtの対応の変化もあり、OS X/Linux/Windowsのマルチプラットフォームでネイティブ動作するソフトが増えつつあるのも確かだ。

Qtに依存したソフトかどうかは、otoolコマンドで確認できる

(次ページへ続く)

前へ 1 2 次へ

この連載の記事

ASCII.jp RSS2.0 配信中