Qt

マルチプラットフォーム対応 C++ GUI開発フレームワーク「キュート」

株式会社SRA
トップページへ
評価版ダウンロードはこちら
LGPL版ダウンロードはこちら
Qt6つの特長
Qtライセンス
Qtトレーニング
コンサルティング
導入事例
Qt関連情報
Qt関連製品
イベントセミナー
お知らせ
お問い合わせ
FAQ
TROLLTECH
froglogic

導入事例

 Duboi | Volvo | Synopsys

 Duboi

2000年 4月、Olivier Tubach のところへ彼の上司が、「要望」とある質問 を持ってやって来ました。要望というのは、彼らの 794,000 行にも及ぶ特殊効果用アプリケーション Dutruc を IRIX から Windows へ移植して欲しいというものでした。質問はこうです。「いつまでにできるかい ? それをやって欲しいというクライアントがいるんだよ」

パリにある映画のポストプロダクション会社 Duoi の Dutruc プロジェクトマネージャの Tubach は言います。
「Tex Avery の映画に出てくるマウスのような心境でした。私の足は地面に接着されていて、空から私の頭上めがけて落ちて来るピアノを見上げているというわけです」

Duboi (http://www.duboi.com/) は、その特殊効果、映像合成、フィルムの取り込みと出力、リアルタイム色評価の技術で世界的に認知されています。SFX 用のアプリケーションである Dutruc は、極めて大きな規模の映像合成ツールでした。

Tubach は説明します。
「いわば映像のためのフォトショップのようなものです、Alien Resurrection (エイリアンの復活)、A sterix & Obelix I と II、The Ninth Gate といった 100 以上の映画が、Dutruc のデジタル処理マジックの恩恵を受けています。
最近のものでは、Montmartre の Amelie ですね。こいつは世界的な成功をおさめました」

2 つの理由 : 時間、そして時間

2000年 4月までは、彼らのツールは IRIX 上で動くのみでしたが、すでにそういった制限は耐えられないものになっていました。しかし Dutruc のようなアプリケーションをどうやってポーティングすれば良いのでしょうか。
Duboi の開発チームは、OpenGL と Windows NT に対応していて、ソースコードが提供されるプラットフォーム非依存の GUI ツールキットを必要としていました。二つの商用ソフトウェアがこの要求を満たしました。wxWidgets (当時 wxWindows) と Qt Development Frameworks, Nokia (旧 Trolltech 時) の Qt です。15 日間の詳細な評価を経て、彼らは Qt を選択しました。選択の理由は、時間、そして時間です。

その時、Duboi は不可能な開発スケジュールに対応する必要があり、開発者達は直ちに開発に着手することが要求されました。Qt はこれを、次の 3 つの方法で実現しました。分かり易いことで評判のドキュメント、ソースコードの公開、そしてほとんどの質問に対して、中心的な製品開発者が、ほんの数時間のうちに回答を行うとというサポートです。
Qt のソフトウェア分野における実績ももうひとつの選択理由でした。Tubach は、広く使用されている Linux の KDE デスクトップが Qt ベースであるという事実を評価しています。このソフトウェア開発プロジェクトは、安定したコードの提供と理性的な開発手法を重視しています。

「Dutruc は数時間に渡る処理を行う必要があります。アーティストは、朝の早い時間にアプリケーションを立ち上げ、仕事を終わる時にそれを閉じますので、とにかく安定して動作しなければいけません。クラッシュなどは以ての外です (おまじないのしぐさをして)」
Qt は、Dutruc 自身にそれを求めることなく、このような要求を簡単に満たしました。

「Dutruc のセッションは数千ものダイアログの生成・削除を行いますので、Qt はとても堅牢である必要があります」

Qt 中毒 !

移植を行った 4 人の開発者の誰一人として Qt を知りませんでした。しかし、彼らはそれを素早く習得し、そして、Qt フレームワークについて知れば知る程、それを好きになりました。

Tubach は言います。
「Qt はとても簡単ですので、時間を GUI との格闘に費すことなく作業に集中することができました。API は直交性に優れており、ドキュメントを深く読む必要もありませんでした。ウィジェットは実に素直に動作しました」

Motif には多機能なウィジットが少ないので、Dutruc は基本的な制御機構しか実装することができませんでした。Qt の場合、その充実した機能により、移植作業中に、動的なツールチップやツリー表示のような、洗練された制御機構の実装を簡単に行うことができました。

Tuback は言います。
「Motif ではそのような機能のプログラムを行うのはとても難しい。Qt では、この手の改良を自由に行うことができます」結局、プロジェクト全体に要した時間は 5 ヶ月でした。

「4 月に Qt の習得を始めて、移植が完了したのは 9 月でした。そして、信じられますか ? 移植の間、私は 2 週間の休暇を取ることができたのです。私達はすでに Qt 中毒ですね。もう、Motif や MFC 等の Qt 以外のソリューションについては、考えたくありません」

クロスプラットフォームの柔軟性

Duboi が Qt への移植を完了すると、クライアントは大喜びしました。何故ならば、彼らがすでに持っているプラットフォーム上で Dutruc を使用できることになったからです。現在、単一の Qt ソースツリーからなるアプリケーションは、顧客の Windows NT に加えて、Duboi 社内の Linux、IRIX、さらに最近の編集作業には Mac OS X でも利用されています。

Tubach は言います 「Qt は複雑な問題をクラスプラットフォームという方法で解決しました。今では、顧客に対して、Dutruc は Mac、Windows NT、Irix、Linux、その他のプラットフォームに対応していると言うことができます」

Dutruc のプログラマは、Qt Development Frameworks, Nokia (旧 Trolltech 時) は、普通ではあり得ないサポートを提供してくれたと言います 「彼らは、私が欲しいという理由だけで、Qt API に関数を追加してくれました」

Tubach と彼のチームは、ささいなことですが、一点だけ Qt に関して不満がありました。それについてさえ、彼が Qt Development Frameworks, Nokia (旧 Trolltech 時) に連絡した時には、すでに "To Do" リストの中に入っていると言われてしまいます。「それについては、私が Qt に関して持った唯一の不満点だったのですが、その対策はすでに計画されていました」

顧客は Tubach に、Dutruc は移植後、もっと使い易くなったと言います。それぞれのプラットフォームにおいてネイティブコードで実行される、単一ソースのマルチプラットフォームアプリケーションが開発できる Qt 独自の能力により、誰もが、彼らが欲しいと思うハードウェアを選択できる自由を得たのです。

この移植の経験の後に、Duboi 社は、今後、全ての開発を Qt で行うことに決めました。実際、Tubach は、同社の旗艦製品の大きな変更について考えています。彼は言います 「まだ先のことは分かりませんが、我々は Dutruc を完全に Qt 3 で書き換えるかもしれません」

●Duboi社 Webサイト http://www.duboi.com/

ページトップへ

 Volvo

バス運転手に高度な車体制御を提供する Volvo のテレマティックシステムには Qt/Embedded が採用されています。

誰もが、バスを長時間待ったり、乗れなかったことに関していらいらしたことはありませんでしょうか。公共交通機関の成功というのは、品質の高いサービスと信頼を提供することにあります。
ゆくゆくは IT 技術がこの分野にも適用され、バスの利用をより簡単なものにするのではないかと思っていましたが、Volvo Mobility Systems と Qt/Embedded がそれを実現しました。

Volvo Mobility Systems は Volvo グループの事業会社で、リアルタイム乗客情報システムを ITS4mobility のブランドで販売しています。同社では、画期的な技術と経験の集約として、 独自の組み込み Linux ボードユニット上に、リアルタイムトラフィック情報、自動時刻表、スケジュール情報を提供するバス搭載用のテレマティック端末を開発しました。
すでにいくつかの北欧の都市で使用されている、この ITS4mobility のグラフィック制御には Qt Development Frameworks, Nokia (旧 Trolltech 時) の Qt for Embedded Linux (当時 Qt/Embedded) が使用されています。

Volvo Mobility Systems のマーケティング担当役員の Goran Varosy 氏は言います。
「Qt Development Frameworks, Nokia (旧 Trolltech 時) の企業基盤はしっかりとしているのと KDE が Qt で開発されているという事実が、我々の将来に渡る Qt の可用性を保証してくれています」

Qt/Embedded は表示部分の制御を担当

Volvo は AIC (Advanced Information Centre) と呼ばれるモバイル Linux ベースの車載コンピュータ上で、バスの運転手が実際の操作を行うマン・マシンインターフェース (HMI : Human-Machine Interface) の設計に Qt/Embedded を採用しました。HMI は極めて重要な要素となります。何故ならば、目の前の道路に集中できるよう、運転手には、最小の操作で必要な情報が提供される、洗練されたインターフェースが必要となるからです。

Varosy 氏は言います。
「柔軟性に富む HMI を開発するのは今までに無い大きな挑戦でした。 我々のクライアントは、運転手の操作に関してしばしば特別な仕様を持っています」

バスでは、AIC の 5.5 インチ TFT カラー液晶ディスプレイが経路情報、その日の配車を表示したり、非常事態には、ドライバーにそれを警告します。
またこのシステムは、バス停の音声案内を自動で行ったり、時刻表を動的に更新することにより、乗客が、常に目的地の到着時刻を把握することができるようにします。
バスが終点まで行くと、運転手は、行き先の表示を変更したり、「補助要員要請」や「勤務シフト変更」といった、前もって定義されたメッセージを使って、メインコントロールセンターとやりとりを行うことができます。
AIC には運転手が操作するためのカーソルパッドとエンターとエスケープボタンが装備されています。

メインコントロールセンターにある後方支援機能は、クライアントの要望に 応じてカスタマイズされた、メッセージ配信、GPRS/GSM、Mobitex や TETRA ネットワークといったシステムで構成されます。交通官制機関やバス会社は ITS4mobility により、バスのネットワークを監視したり、 車の位置、信号機の優先度、自動配車状況、リアルタイムの車両と運転手管理状況のような、情報をコントロールします。また、コントロールセンターからは、運転手にメッセージを送信し、渋滞を避けるための経路の変更や、バスの接続を待つための指示を行うことができます。

Varosy 氏は言いいます。
「Qt/Embedded で行く決定には悩みませんでした。Qt/Embedded は我々の要求を充たす唯一の製品でしたし、商用サポートも充実しています」

Qt/Embedded による最短ルートの開発

ITS4mobility の初期リリースでは、Volvo のデザインチームは HMI を半年で開発することができました。また、この間に、AIC も一から開発され、さらには結合テストまで行われた訳です。これらは全て精力的な開発スケジュールの下でこなされ、市場投入に要した期間は、わずか 18 ヶ月でした。
こういった開発作業の高いパフォーマンスと市場投入の迅速性に加えて、開発チームの誰一人として、 今まで Qt/Embedded を使ったことが無いという事実もありました。

Varosy 氏は言う。
「そんなに長い時間を必要とすることなく、我々の最初のアプリケーションが Qt/Embedded でビルドされました。Qt それ自身についても、Qt Designer は使い易いというだけでなく極めて高機能です。シグナル・スロットメカニズによるシームレスな結合と Qt Designer は強力な開発ツールを構成しています。また、API に関するドキュメントもとても良いし、やりたいことを達成するプロセスを簡単にするユーティリティクラスが、豊富に用意されています」

次の停留所 : 未導入の都市

Varosy 氏はさらに言います。
「運転手の評判も良いようです。彼らは満足しているのは、我々が彼らのニーズに合ったインターフェースを提供することに成功したからです」
Volvo は、スウェーデンのゴーテンブルグ市とノルウェーのトロムソ市での ITS4mobility 導入を成功させ、次の都市のための導入準備を整えました。 スウェーデンのベクシェー市は 2004年 9月から稼働、また現在、 香港でシステムを使うためのテストも行っています。

Varosy 氏は説明します。
「中国語やその他の言語のサポートは、Qt/Embedded を選定する上で、欠かすことのできない機能のひとつでした」
Volvo はまた、最近、ITS4mobility の全機能を Volvo 製のバスに搭載することを発表した。これにより、ひとつの IT プラットフォームによりトラフィック制御、運行情報、車両管理が可能となる。

Varosy 氏は言います。
「このような時代を先取りした HMI を所有するということは、 市場における Volvo の存在を非常にユニークなものにします。ここで、 我々が重要であると考えるのは、まず自動車工業です。つまり、そこで、ユニークな存在というのは、高度な情報機能を持ったバスを生み出す工場ということです。それにも増して大切なのは、このような取り組みが、将来、我々に包括的な交通システムソリューションのメーカという地位を与えてくれることです」

隣りに座る人以外の選択肢に煩わされることが無く、バスを利用できる時代が来るのかもしれません。


ページトップへ

 Synopsys

Synopsys は、集積回路のデザインに使用する Electronic Design Automation (EDA) ソフトウェアの世界的リーダ企業であり、複雑な System on chips (SoCs) の開発を可能にする、先進的技術による集積回路の設計と検査プラットフォームを、グローバルな電子デバイス市場に対して提供しています。Synopsys は、また、ノウハウや、設計プロセスを簡略化し、市場投入時間を短縮化する設計サービスの提供も行っています。

Synopsys の R&D 部門のディレクターである Erric Solomon は、 社内の多くのソフトウェアエンジニアリングプロセス、リリース管理、自社製の GUI 開発の指揮を担当。ここでは、彼の指揮の下、EDA ソフトウェアアプリケーションと開発ツールのリリースが行われています。

「より良い製品を提供するために、我々は二つのことを実行しなければいけない」 と Solomon は言います。「ひとつは、Synopsys GUI を完全に書き直すこと、そしてもうひとつは、それでも、いくつかの主要な OS 上での Synopsys の製品が間違いなく動くようにすることだ」

この事前検証に際しては、数多くの疑問が浮かんだそうです。どの OS が Synopsys のビジネスにとって重要なのか ? 会社は、多重開発環境を認めてくれるのか ? もし認めてもらえない場合、どの OS が、Synopsys がサポートするものとして最もふさわしいのか ?
Solomon と彼のチームは、一ヶ月の間、この問題の調査を行いました。ここでは、二つの重要な事実が焦点となります。

  1. 会社は、Linux / Unix と Windows を含む多くの異なるプラットフォームで使うことができるソリューションを必要としている。
  2. 既存の Unix 環境からこれらのプラットフォームへ移行するための仕組みも重要。

「我々の顧客は、既存環境の変更や設定に煩わされることなく、我々のソフトウェアをアウトオブボックスで実行したいと思っている」

多くの検証作業の後、Solomon のチームの主要な技術者達は、 Qt を選択しました。Qt はマルチプラットフォームの C++ アプリケーション開発フレームワークであり、開発者はひとつのソースコードを書くだけで、それをターゲットプラットフォーム上のネイティブコードで実行させることが可能。
さらに、 Qt は、高速な 2D の描画エンジン、モジュラーアーキテクチャ、拡張可能なウィジェットセット等を持っており、再利用可能なコードを構築することを簡単にします。

Synopsys は Qt を選択しました。何故ならば、Qt は Synopsys の開発者がシングルソースコードを書くことを可能にし、再コンパイルするだけで、 Microsoft Windows や Linux を含む幾種類かの Unix に移植し、 仮想マシンが無くても、それをネイティブアプリケーションとして実行することができるからです。
開発時間の短縮も、Synopsys が Qt を選択した理由。開発チームは、12 人月もの時間を開発プロセスの中で節約することができたそうです。

Synopsys は、 GUI を再度書く決断をし、マルチプラットフォーム開発環境を導入することにしました。そして、それを Qt で実践することにしたのです。

さらに先へ

Solomon は言います。
「C++ がオブジェクト指向に対応しているので、Qt もそうである。 このことが、開発者達がいち早く生産的になるのを助け、さらに、彼らが再利用可能なコードを書くのを助けた」
「再利用可能な Qt ベースのコードを書く能力は、我々の開発時間を節約した」と Solomon は指摘する。

「我々は、ユーザインターフェースのためのソフトウェアフレームワークを Qt で作った。今までは何かを変える度に、どこかの新しいグループがフレームワークを掴んでしまい、彼らのソフトウェアをビルドするためにそれを占有してしまうという有り様だった。 Qt では、 そのような場合でも、それぞれのプロジェクトが、以前と同じようにプロジェクトをビルドすることができる。これは、私達のソフトウェアが市場に出るまでの時間を節約するのを大いに助けた」

ページトップへ
 Duboi | Volvo | Synopsys