Sebastian Nystrom氏

クロスプラットフォームのC++ UI/アプリケーション開発フレームワーク「Qt」を開発するQt Development Frameworks(フィンランドNokia傘下)は10月13日と14日、ドイツ・ミュンヘンで開発者向けカンファレンス「Qt Dveloper Days 2009」を開催した。Webを中心に端末とサービスの融合が進んでいる。初日の基調講演で、Qtチームを統括するSebastian Nystrom氏(Nokia Qt Development Frameworks、アプリケーション・サービスフレームワーク担当副社長)はクロスプラットフォームの重要性を説いた。

Qtは成長している。昨年のDeveloper Daysの参加者は500人だったのが、今年は750人。開発者数は、他のツールが横ばいであるのに対し、Qtは増加中という。Nystrom氏は、「UI開発者とアプリケーション開発者から選ばれるツールを目指す」と意気込みを語る。

Nystrom氏はまず、2009年のハイライトとして、性能を強化した「Qt 4.5」の公開、初のIDEとなる「Qt Creator」のリリース、SDKの提供を紹介する。プロジェクトとしては、APIのリーチを拡大する「Mobility Project」、そして10月9日に発表した、NokiaのLinuxプラットフォーム「Maemo」へのポーティングプロジェクトがある。ビジネス側では、今年3月のQt 4.5公開と同時に、ライセンスにLGPLを加えた。

これまでQtが採用してきたデュアルライセンスモデル(商用とGPL)に加え、商用で利用できるLGPLを加えることは「大胆な動き」とNystrom氏は評価してみせる。「難しい決断だったが成功した」とNystrom氏、LGPL採用後、1四半期でダウンロード数は250%増加したという。

コミュニティ側では、コントリビューションモデルを整えた。5月にソースコードレポジトリを公開した後、これまで、パッチや修正など400以上の貢献があったという。ロードマップも公開し、参加やフィードバックを呼びかけている。

同社は昨年より「Qt Everywhere」をキャッチに、デスクトップ、ネットブック、携帯電話、プリンタなどあらゆるものに拡大を図っている。現在、約70業界で利用されているとNystrom氏は語る。中でも、親会社Nokiaの存在(Qtは、Nokiaが2008年に買収したTrolltechが前身)、このところのスマートフォンブームがあり、Qtにとってモバイルは戦略的といえそうだ。ここでは、Maemoのポーティングのほか、「Symbian」「Windows Mobile」をサポートするが、「Android」「iPhone」「BlackBerry」などについては「公式にはコメントしない」とした。

今後の方向性としては、クロスプラットフォームとしての機能の強化、ランタイムパフォーマンスや安定性の強化、Web/ネイティブのハイブリッドツールなどを挙げた。

後半の基調講演では、研究開発ディレクターのLars Knoll氏がロードマップを紹介した。

次世代Qtに向けた開発方向性

方向性としては、土台で

  1. 容易さ
  2. 性能
  3. 安定性と後方互換性
  4. UI

を強化し、その上でコミュニティからのコード貢献とAPI、さらにWebKitやスクリプトで"かざり"をつけていくという。

Lars Knoll氏

土台部分の1では、3月に公開したバージョン4.5より開始したSDKの提供により、エンドツーエンドのフレームワーク提供を実現した。これには、初のIDEであるQt Creatorも含まれており、創業当時からの取り組み課題である「開発を容易にする」をさらに進めた。2のパフォーマンスは、デスクトップからモバイル端末などに拡大するために重要な要素となる。ここでは、グラフィックの強化、シグナルスロットのパフォーマンスなどを改善していく。4のUIでは、高度なUI、ビジュアルを指す。

Qtは10月14日に「Qt 4.6」ベータ版を公開するが、プラットフォームを拡大し、「Windows 7」「Mac OS X 10.6」、Symbian、最新のMaemo 5、それにリアルタイムOS(RTOS)ではQNX、VxWorksなどに対応する。「Qt Everywhere」を推進するとKnoll氏。

4.6は、状態遷移、アニメーションAPI、グラフィックエフェクト、ジェスチャーとマルチタッチなどが強化点となる。

状態遷移では、HarelのステートチャートとSCXMLベースのステートチャートの実装によりアプリケーションの堅牢性を強化する。アプリケーションのセマンティックスを簡素化し、ステートを使うことでメンテナンスを改善、イベント駆動型プログラミングを推進するという。

アニメーションAPIでは、ダイナミックなUIを作成可能となった。ステートおよびトランジションとの統合が可能となり、あらゆるQObjectプロパティをアニメーション化できるほか、アニメーションのグループ化も可能。イージング曲線も加わった。タイマーとの同期によりCPUの利用を効率化するという。

グラフィックエフェクトでは、ウィジェットやグラフィックアイテムにグラフィカルエフェクトを付加したり、ハイライトの追加が可能となった。ジェスチャーとマルチタッチでは、マルチタッチに対応、シーケンシャルなタッチ入力とジェスチャーを組み合わせることができるという。

Knoll氏はさらに、開発中の次期「Qt 4.7」にも触れた。性能と安定性の基本機能を強化しつつ、宣言的UIが加わる。宣言的UIは、宣言型表現言語を利用するプログラミングによりWebデザイナーと開発者のコラボレーションを容易にするものだ。Qtはこれまで「Qt Kinetic」というプロジェクトで研究を進めている。作業を効率化し、開発時間を短縮できる。「デザイナーと開発者のギャップを埋めるもの」とKnoll氏。Nokia社内で利用したところ、デザイナーからの評判がよかったという。SDKでは、組み込みとモバイル開発サポートを強化する。

Knoll氏はさらに、今後の方向性として、「Webとネイティブとのハイブリッド開発」を示した。HTML、CSS、JavaScriptなどのWeb技術を容易に取り込み可能にすることで、「両方の世界のよいところを組み合わせる」と述べる。ハイブリッド開発は現在、研究開発段階でプロジェクトが進んでいるという。

同時に、フォーカス分野であるモバイルでは、プラットフォーム対応の増加により「モバイル端末向けとして最高のフレームワークを目指す」とKnoll氏。Qtでは、モバイルプロジェクト「Qt Mobility」の下で、プラットフォームサポートのほか、位置情報、メッセージング、アドレス帳、システム情報、マルチメディア、ベアラ管理などのAPIを開発中という。