【Qtカンファレンスインタビュー】
Qt5で10億人ユーザーへ、OSSコミュニティ化でますます健在に
後藤大地2012/1/20
ノキアから売却されてQtはどうなったのか? 弱体化してしまうのではとの心配をよそにダウンロード数は飛躍的に伸びている
Qtのダウンロード数は伸びている!
- - PR -
2011年12月15日および16日、東京にて「Qt Developer Conference Tokyo 2011」が開催された。日本における開催は3回目となる。Qtはノキア(Nokia)からオープンソースソフトウェアプロジェクトとして独立してからもその注目度を上げ続けている。
今回、カンファレンスに参加するために来日したノキアのQtエコシステムディレクターであるダニエル・キールベルグ(Daniel Kihlberb)氏およびQtプロジェクトチームメンテナーであるラーズ・クノール(Lars Knoll)氏にQtの現在や未来についてお話を伺う機会を得た。以降、技術的に特に興味深い点に的を絞って紹介したい。
![]() |
| ノキア Qtエコシステムディレクター ダニエル・キールベルグ氏およびQtプロジェクトチームメンテナーであるラーズ・クノール氏 |
■ 1 Qt 4.8.0リリース ― Qt5へ向けた大きなステップ
カンファレンスが開催された日、QtプロジェクトはQtの最新版となる「Qt 4.8.0」を公開した。Qt 4.8系は現在主要バージョンとして採用されているQt4系の最新版で、性能改善や新機能追加が実施されたバージョン。次期メジャーバージョンとなるQt5へ向けた重要なマイルストーンリリースといえる内容になっており、今後の移行計画も含めて採用を検討したいバージョンだ。Qt 4.8の主な特徴は次の通り。
- Qt Platform Abstraction(QPA)の導入
- Qt Quick 1.1へアップデート
- Qt WebKit 2.2.1へアップデート
- OpenGLのマルチスレッド対応
- HTTPマルチスレッド化実現
- ファイルシステムアクセスの高速化
従来、OpenGL実装そのものはマルチスレッドに対応していたが、主に「OpenGLを使用するQtライブラリの部分」がマルチスレッド化されていなかった。Qt 4.8ではこの点が改善されており、さまざまなスレッドを活用してOpenGLレンダリングを実現できるようになっており、よりスムーズなGUIの実現が可能となる。
HTTPの処理も変更されており、デフォルトで別スレッドからHTTPリクエストが処理されるように変更されている。ネットワーキングの処理にメインのイベントプールを使わないように変更されており、ネットワーキング処理がGUIに与える影響も低くなるように改善されている。また細かい変更となるが、ファイルシステムアクセスにおけるシステムコール使用回数の削減やキャッシュの活用などが進められた結果、どのプラットフォームにおいてもファイルシステムアクセスの性能が向上している点も注目される。
Qt WebKitが更新されたことで、HTML5に関連する機能も充実した点にも注目しておきたい。
また同時に、GoogleがChromeをターゲットに開発している高性能JavaScript実行環境「V8」が新しいバージョンへアップグレードされた点も注目される。HTML5技術はQtにおいても重要な地位を占めており、関連するコンポーネントのアップグレードはそのままサポート状況の改善や性能の向上に直結する。
QPA(Qt Platform Abstraction)はQtGUIを新しいウィンドウシステムへ簡単に移植できる機能を提供する。例えば既存のアプリケーションをAndroidへ移植したり、QNXやBlackBerryなどのプラットフォームに移植する作業をより簡単にする。
■ 2 Qt5 ― 次の10億ユーザーを支える次世代プラットフォーム、2012年夏登場
Qt4系がリリースされたのは2005年6月だから、もう6年前の話になる。この6年間でQtを取り巻く状況は大きく変化した。スマートフォンやタブレットデバイスの台頭、H/W性能の向上、モバイルデバイスにおけるGPUの搭載など、Qtのアーキテクチャを現状に合わせて再構築するべきタイミングに来ているというのがQt5の開発の根底にある。
「Qt4の登場から6年が経過しており、コードベースのリファクタリングを実施する時期に来ていると考え、Qt5に取り組んでいる」 と、 ラーズ・クノール氏はいう。Qt5は長期にわたって使用できるアーキテクチャにしたいと考え、Qt4からの移行もより簡単に実現できることに注力しているそうだ。時代に合わせてQtのアーキテクチャを再構築し向こう数年以上利用できる基盤技術とすること、それがQt5だ。
Qt5はQt4系と互換性を保ちながらアーキテクチャを抜本的に変更するものとなる。ラーズ・クノール氏は特に次の4つの特徴があると説明した。
- モジュール化の推進
- 新しいグラフィックスタックの採用
- Qt QuickおよびQWidgetsの分離
- QPAを基幹アーキテクチャに採用
モジュール構造アーキテクチャへの移行と、OpenGLをベースとした新しいグラフィックスタックの採用、というのがQt5の大きな特徴となる。モジュール化は組み込みデバイスにおいて大きな意味を持っている。必要となるモジュールのみを組み合わせてシステムを構築すればよく、消費するリソースを抑えることができる。
グラフィックスタックをOpenGLをベースにQt Quickを基盤にするというのもQt5の大きな特徴となる。組み込み向けのプロセッサにおいてもGPUの機能を搭載したものが増えており、今後もさらなる普及が見込まれている。OpenGLをベースの機能として採用しQt Quickを主要な機能として採用することは性能向上の面でも大きな意味がある。
OpenGLをサポートしていないプラットフォームでは従来の機能を使ったエミュレーターが使われる。QWidgetsは分離して提供され、こちらはOpenGLを必要としない仕組みになっている。
■ 3 Qtは主要なコンポーネント技術、ノキアは今後も積極的に投資
ノキアは2011年3月、Qtの商用ライセンスおよびサービスに関する事業を売却すると発表Nokia、Qtの商用ライセンス事業を売却した。同時期、ノキアはスマートフォンの主要プラットフォームにWindows Phoneを採用すると発表したこともあって、Qtへの取り組みがどうなっていくのか関係者に不安を与えた面は否めない。
しかし発表以降もQtのダウンロード数や利用数は増加の一途をたどっており、実際には良くも悪くも、発表があって注目を浴びることで、以前よりも多くの関係者の関心を得ることができたという。ダニエル・キールベルグ氏はこう説明する。「発表以来Qtへの注目が高まっており、さまざまな数値を塗り替えてきた。Qtは主要なコンポーネント技術であり、戦略として今後も投資を継続する。開発者への投資も積極的に進めている」
Qtはスマートフォンやタブレットデバイス向けのプラットフォームとして注目を集めつつあるが、当然今まで通り組み込みデバイスにおける注目度も高い。特に最近は自動車関係での要望が高まっており、日本では今まで以上に自動車開発におけるQtの採用事例が増えていることから、今後も積極的な採用が予想される。
Qt5はGUIの移植が従来よりも簡単になる。スクリーンサイズや搭載されている機能の異なるさまざまなデバイスに対してネイティブアプリケーションを提供する場合、Qt5の提供する機能はどれも役立つものとなる。Qt5は2012年夏ごろの登場が見込まれており、組み込み市場において注目度の高いリリースになるものと見られる。
■ 4 ノキアから完全OSSコミュニティ・エコシステムへ、ますます健在に
最近のコンパイラ・インフラストラクチャ情勢を踏まえ、ラーズ・クノール氏にQtが想定しているデフォルトコンパイラについて訪ねてみた。というのも、最近はOSSデフォルトコンパイラとしてGCCではなくLLVM Clangを選択するOSSプロジェクトやベンダが増えているからだ。QtはC++であるためClangの採用は微妙なところがある。そのあたりを含めて聞いてみた。
ラーズ・クノール氏によればLinuxではGCC 4.4またはGCC 4.3を想定、Mac OS XではGCC 4.2を想定しているという。Mac OS Xの想定しているGCCのバージョンが古いのは、GPLv2で提供されている最後のGCCのバージョンが4.2だからだ。同様の理由でFreeBSDといった他のOSもGCCのバージョンアップを4.2で停止しているプロジェクトがある。
ClangはC言語のサポートが進んでおり採用するプロジェクトも多いが、C++に関してはサポートしている機能などが足りないところもあり、GCCほどは採用が積極的ではない状況にある。Qtとしてはまだそれほど魅力的なコンパイラ・インフラストラクチャとはいえないのだ。ラーズ・クノール氏によればQtはすでに完全にオープンソースコミュニティであり、要望に応じてClang対応を将来検討することは十分にあり得るだろうという見解を示した。
ノキアから飛び立ってオープンソースソフトウェアプロジェクトとして従来よりもオープンなコミュニティになったQtだが、すでにノキア以外の開発者がメンテナに就任しており、さらに、ラーズ・クノール氏によると今後ノキア以外の開発者のメンテナへの採用を増やしていくという。このような点からも、Qtをオープンソースエコシステムの中で積極的に推進していく姿勢が感じ取れ、よりオープン化が進むことで今後に期待できる。
![]() |
後藤 大地 オングス代表取締役。@ITへの寄稿、MYCOMジャーナルにおけるニュース執筆のほか、アプリケーション開発やシステム構築、『改訂第二版 FreeBSDビギナーズバイブル』『D言語パーフェクトガイド』『UNIX本格マスター 基礎編〜Linux&FreeBSDを使いこなすための第一 歩〜』など著書多数。 |
D89クリップ バックナンバー 連載インデックスへ»
- 第1回 マッシュアップ+ひとひねり=MA4の受賞作
- 第2回 Chumby開発者が語る誕生秘話とビジネスモデル
- 第3回 植物の「緑さん」がブロガーになるまで
- 第4回 ペパボ・家入氏が語る、バカとまじめの振り子の関係
- 第5回 ケータイ版AIRでFlashLiteの成功パターンを踏襲
- 第6回 Webにおけるグラフィック表現手段としてのFlash
- 第7回 第1回おばかアプリ選手権はこうして行われた
- 第8回 ユーザーエクスペリエンスのadaptive path訪問記
- 第9回 クリエイターであるためにFlash待ち受けを出し続ける
- 第10回 3回目はあるのか? おばかアプリ選手権レポート
- 第11回 Web標準に準拠し独自技術Silverlightで補完する
- 第12回 3回目にして完成形を迎えた「おばかアプリ選手権」
- 第13回 マッシュアップを超えたマッシュアップを−MA5表彰式
- 第14回 デザイナだからこそ作れるUXに企業が注目している
- 第15回 Flash CS5のiPhoneアプリ変換機能は無駄にならない
- 第16回 おばかアプリ作成のための超まじめな勉強会レポート
- 第17回 4回目を迎えたおばかアプリ選手権、その見所とは
- 第18回 Windows 7でも「おばかアプリ選手権」は大爆笑でした
- 第19回 無料モデルに興味はない、プログラマは創造的だ
- 第20回 歌あり笑いあり過去最大規模となった技術者の祭典
- 第21回 jQuery+PhoneGap+Dreamweaverでスマホ開発?
- 第22回 「iCloud」が示す「こちら側」を中心とした世界観とは?
- 第23回 おばかな人知が集結したブレスト会議レポート
- 第24回 Chrome+HTML5 Conferenceレポート
- 第25回 Adobeが作ったHTML作成ツール、Edgeの本気度
- 第26回 見よ! コレジャナーイアプリの数々を!
- 第27回 ゲームは、スマホ、AR、ナチュラルインターフェイスに
- 第28回 ゲーム開発はHTML5+スマホベースが新潮流
- 第29回 HTML5で今までにないサイトを作る。GDD2011
- 第30回 Processing.js、SVG、WebGL。HTML5周辺の技術
- 第31回 500作品が競った「Mashup Awards 7」表彰式
- 第32回 作りたい欲求を刺激するMake:07@東工大レポート
- 第33回 HTML5のデバイス&位置情報系APIを使いこなそう
- 第34回 グランプリは生徒と先生が作った役に立つARアプリ
- 第35回 学生からプロまで入り乱れてのアプリ合戦頂上対決!
- 第36回 108もあるぞ! HTML5の要素数
- 第37回 Qt5で10億人ユーザーへ、OSSコミュニティ化で健在に
- 第38回 家電のUIになるブラウザ
- 第39回 なぜWebではなく電子書籍なのか?
- 第40回 分解して振り切って、余白でコミュニケーションを
- 第41回 女子大生が異彩を放った「おばかアプリブレスト大会」
- 第42回 LESSやTwitter Bootstrapで簡単デザイン
| 「デザインハック」コーナーへ |
TechTargetジャパン
- 学校が世界一のデジタル環境になったら (2012/5/18)
授業はアーカイブに蓄積され、家からも見られる。家族が授業テーマのアイデアを出す。そんな姿が実現されるかもしれない - 1000万ドル調達も夢じゃないクラウドファウンディング (2012/5/15)
クラウドファンディングは、寄付型でも投資型でもない「購入型」が主流。商品を“開発する前に販売”して開発費用を集める逆転のシステムだ - Web RTC、Face.jsとJSARToolkitのお味は? (2012/5/11)
Web RTC、Face.jsとJSARToolkitを試した。JavaScriptを使って、Webカメラで顔認識とAR(拡張現実)してみよう - HTML5アプリ開発基盤「Meteor」がすごい (2012/5/9)
サーバもクライアントもJavaScriptで記述できる「Meteor」が注目を集めている。サーバ上のコードが変更されると、クライアントも自動的に変更されるという
|
|


