クロスプラットフォームのUI/アプリケーション開発フレームワーク「Qt」を提供するフィンランドNokiaのQt Development Frameworks部門は、ドイツ・ミュンヘンで10月13日まで年次カンファレンス「Qt Developer Days 2010」を開催した。12日の基調講演では、Qt Development Framework部門のトップとアーキテクトがQtの最新機能や今後のロードマップについて語った。
まずは、Qt Development Frameworks担当副社長 Sebastian Nystrom氏が、ユーザーの要望という点から現在進めている強化分野について語った。
フォーカスは性能、Web統合、3D
ユーザから最も要求が多いのは性能だ。ユーザーエクスペリエンスへのフォーカスと画面サイズなどの背景もあり、継続的に改善が求められている。Nystrom氏はQtの取り組みとして、まずハードウェアアクセラレーション関連のプロジェクト「Scene Graph」を紹介した。Open GL(ES) 2.0上でのQMLを改善し、グラフィックレンダリングパイプラインの簡素化、シーン最適化により性能を改善するという。「次期バージョンのQt 4.8に向けてScene Graphやその他の性能改善関連プロジェクトの成果を盛り込んでいく」とNystrom氏。
もう1つのプロジェクトが「Lighthouse」だ。組み込み端末上でのグラフィックアクセラレーションを支援するもので、「グラフィックアクセラレーションへのアクセスを高速化するだけでなく、プラットフォームの進化に合わせてQtを使い続けられるというメリットももたらす」とNystrom氏は述べる。
次に挙げたのがWeb統合だ。「ほとんとのアプリが何らかの形でWebと関係している。Webは重要な機能となっている」とNystrom氏。Qtは「WebKit」を統合した「Qt WebKit」を持つが、Webの進化の速度に合わせられるよう、モジュラー化によりQt全体のアップデートを待たずにQt WebKitの更新頻度を増やしていくとのことだ。このほか、HTML5とCSS3の準拠、タッチ、ジェスチャー、タクティルへの対応も進める。「ユーザーが組み込みとWebの違いを感じないようなユーザーエクスペリエンスを提供できる」(Nystrom氏)。Nokia自身も「Ovi Store」でQt WebKitを利用しているという。
このほか、新しいAPI、センサーからのデータ統合、3Dグラフィック作成用のC++インタフェース「Qt/3D」などの取り組みを紹介した。
対応プラットフォームはモバイル中心に
対応プラットフォームについての方針にも触れた。
Qtの大きな特徴は、開発したコードをさまざまなプラットフォームに実装できるクロスプラットフォーム性だ。対応プラットフォームを増やすというこれまでの方向に基本的に変わりはないが、Nokiaは市場の状況に合わせてプラットフォームへの投資を増減または維持していくという。
Windows、Mac、Linux/X11に対応するデスクトップは重要性が高い分野で、今後も投資レベルを保つ。組み込みLinuxも同じ投資レベルを維持し、モバイル(MeeGoとSymbian)では投資レベルを上げる。一方、AIX、Solaris、HP-UX、Windows CE、S60 3.1/3.2、Maemo 5では投資レベルを減らす。Qt 3のサポートも減少する方針だ。端末メーカーであるNokiaの戦略が反映された形となる。
なお、気になるモバイルプラットフォームサポートだが、カンファレンス中、数々の場で、「Android」「iOS」の2大人気スマートフォンプラットフォーム対応について質問があった。CTOのRich Green氏はじめ、Nokia幹部は「現時点では予定なし」と回答している(これについては、マーケティング担当のDaniel Kilhberg氏へのインタビュー記事で改めてレポートする)。
Qt Development Frameworksでアーキテクチャ担当ディレクターを務めるLars Knoll氏は、最新版「Qt 4.7」の最大の目玉であるUI開発ツール「Qt Quick」について語った。
Qt Quickは2009年のカンファレンスでQt向けの新しい宣言的言語拡張「QML」として初公開した。9月末に公開されたQt 4.7で正式に機能として加わった。昨年のカンファレンスから1年、来場者の中にはすでにQt Quickを使っている人、実験的に利用している人が多数おり、評判は良い。確実にQt開発者に訴求しているようだ。
Knoll氏はQt Quick開発に至った経緯として、2年半から3年前、組み込みユーザーインタフェイスを作成していたとき、デザイナーの変更要求にすぐに応じることができなかった、というエピソードを明かす。「もっとシームレスに作業する方法、短縮する方法はないのかと考えた。そうやってQt Quick開発がはじまった」という。
そのような背景もあり、Qt Quickは、デザイン主導型、直感的なUI、高速なプロトタイピングとプロダクション、容異な実装などの特徴を持つ。「C++ QtDeclarative」モジュール、宣言的言語のQt Meta-Object Language(QML)、IDE「Qt Creator」サポートなどにより構成される。
Quickは「Qt UI Creation Kit」の略だが、Qt Quickは実際にQuick(迅速な)を実現する。コンパイルステップを省略、スクリプト言語にJavaScriptを利用した。HTML、CSSの知識があるとよいが必須ではなく、プログラミング経験が少ない人やデザイナーでも使えるという。Qtがサポートするすべてのプラットフォームで動き、Webにも対応する。「生産性が大きく改善し、なんといってもプログラミングが楽しくなる。われわれは"楽しい"を大切にしている」とKnoll氏。
Knoll氏は最後に、Qt Quickの今後の強化について語った。現在、フル機能を備えたデバッガ開発プロジェクト「QML Observer」が進んでいるという。アプリケーション起動中にバリューを変更したり、レイアウトの構築やイテレーションが可能で、「開発とテストサイクルをさらに短縮できる」とのことだ。