はじめに
ドイツ、ベルリンで開催されたQt Developer Days 2013 Europeへ参加してきました。
Qt Developer Days はQtの開発者やユーザが集まるカンファレンスです。Qtの最新情報に関するセッションやトレーニング、Qtを使用する上でのアドバイスなど、初心者から熟練者までの幅広い層を対象としたイベントで、Qtに関する理解を深めたり、開発者や他のユーザとの親交を深めたりする場となっています。
毎年秋から冬にかけてドイツと北アメリカで開催されており、今年はドイツではベルリンで10/7~10/9、北アメリカではサンフランシスコで11/6~11/8に開催されます。また、今年はQt Developer Days 10周年という記念すべき年でもあります。
以前はQtの開発元であったNokiaが主催していましたが、NokiaがQtから撤退したため、昨年からはQtのパートナーであるKDAB, ICS, Digiaが共同で開催し、ドイツではKDAB、アメリカではICSがメインホストを務めます。
Qt Developer Days自体は3日間のイベントですが、初日はトレーニングデーとなっているため、キーノートとセッションが開催される10/8~10/9の2日間だけ参加してきました。
メイン会場とサテライト会場やホテルとの間をつなぐ人力タクシー
なお、このQt Developer Days 2013 Europeは2日間のみの参加でも550ユーロかかる有料のイベントですが、今年からStarter Editionという初心者や非技術者向けの比較的安価なコース(250ユーロ)が追加されました。キャパシティの都合で会場は別になりますが、基礎的な内容や事例紹介、ハンズオンなどを中心としたセッションに参加できます。より気軽にDeveloper Daysに参加してもらうためのコースとなります。残念ながら、このStarter Editionがあるのはドイツだけで、アメリカでのQt Developer Daysにはこういったコースはないようです。
キーノートのプログラム
Qtのこれまでとこれから ─キーノート
10/8の午前中にキーノートが行われました。Qt Developer Days自体はCafe Moskauというイベント会場での開催でしたが、参加者全員が入れるような広い部屋は無いため、キーノートだけはKino Internationalという道路を挟んですぐ隣にある映画館に場所を移して行われました。
メイン会場となったCafe Moskau
なお、このキーノートの模様は、Starter Editionの会場へはビデオストリーミングで届けられました。
550人ほどの客席がほぼ満席となる中、ドイツでのQt Developer DaysのメインホストとなるKDABの社長かつCEOであるMatthias Kalle Dalheimerによるウェルカムスピーチからイベントがスタートしました。
会場が満員になるほどの多くの参加者がいること、Dev Days参加者のうち30%近くが初めての参加であり、Qtのコミュニティがまだまだ拡大しつつあることなどを述べながらも、昨年のNokiaの撤退をジョーク混じりに引き合いに出して会場を沸かせます。
モバイル向け商用ライセンス「Qt Mobile Edition」を発表
続いて、キーノートが始まります。最初のキーノートはDigia QtのSVP(上級副社長)であるTommi Laitinenによる「Breaking Down Technology & Application Silos Qt at the Forefront of Future-Proof Modern Application Development」です。
スピーチはQtのこの1年を振り返る形からスタートしました。
Qtは昨年末に5.0をリリースし、その後7月の5.1を経て、現在5.2のリリース準備の最中となります。その5.1でテクノロジープレビューとして追加されたAndroidとiOSサポートが5.2では正式なサポートプラットフォームとなります。
そういった動きの中、Qtの利用者たちの意識はデスクトップや組み込みだけの開発からデスクトップとモバイルなど、複数のジャンルを同時に対象とするマルチスクリーンと呼ぶ方向へと向きつつあります。
これらの動きをふまえ、AndroidとiOSに対応する小規模企業/個人向けの商用ライセンスとしてQt Mobile Editionが発表されました。Android とiOS専用で、Qt用クラウドエンジンであるEnginioもサポートされ、サブスクリプションモデルでの提供となります。iOSでAppStoreにアプリを提出するためにはQtをスタティックリンクする必要があるものの、オープンソース版Qtを用いる際のGPL/LPGLへの対応方法や、従来の商用ライセンスが個人をあまりターゲットにしていないことなどが懸念されていました。Mobile Editionはそれらを補完するものとなります。
また、昨年のDev Daysで発表されたQtのOpen Business Architectureの一環として、他のステークホルダーと共にエコシステムを拡大するための議論をしていることも述べられました。
最後に、50万以上の開発者がQtのエコシステムを構築していること、後述するQt Insightsの調査ではQtユーザの95%がQtに満足していること、30%が2年以下のQt利用経験でQtのコミュニティが拡大を続けていることを述べてスピーチを終えました。
Qtに満足しているユーザは95%!
続いてはQt InsightsのプロジェクトリーダーであるKevin Franklinによる「Qt Insights - synopsis」という短いキーノートでした。
Qt Insightsは複数のQtのパートナーや関連会社がスポンサーしているプロジェクトで、Qtユーザの調査を行うために設立されました。2013年の6月に調査を開始し、その結果集まった90ヵ国以上2,000人弱のQtユーザに回答をまとめたものについての説明が行われました。先ほどのTommiのキーノートで引用されていたのもこの調査結果です。
ざっとまとめますと
約10%のユーザがこの1年間でQtを使いはじめた。
Qtの経験が2年未満のユーザが30%を占める。
全調査対象の約95%がQtに「満足している」か「非常に満足している」
デスクトップ・組み込み・モバイルのどのプラットフォームにも同等の需要がある。
デスクトップだけをターゲットとする人たちは減少傾向にあるが、デスクトップをターゲットにする人たちは特に減ってはいない。
多くの開発者がマルチスクリーンに興味を持っている。
といったところでしょうか。
Qtのユーザを対象にした調査のため、満足度が高く出るのはある意味当たり前のことではありますが、それでも95%という数字は非常に高い数字だと思います。
この調査結果についてはQt Insightsのホームページ からPDFがダウンロードできますので、興味をもたれた方はぜひ読んでみてください。
Qt 5.2は11月、Qt 5.3は2014年前半登場 ─Qtのこの1年とこれから
三番目の基調講演は、DigiaのCTOかつ、Qt ProjectのChief MaintainerであるLars Knollによる「The Qt Path - Where We are and the Technology Direction Ahead」と題されたものでした。
これは参加者がもっとも興味のあるQtの技術的なこの1年と、これからの概要を説明するものです。
この1年のQtの歩みを説明する前に、Qtとオープンソースの歴史について軽く説明がありました。いまでこそQtはそのすべてのソースが公開されていますが、Qtの最初のリリースではX11版のソースは公開されていたものの、Windows版のソースは公開されず、また、その公開はQt 4.0まで待つ必要があるなど、十分にオープンなものではありませんでした。
しかし、さまざまなプラットフォームがQtに追加されるにしたがって徐々にオープンになっていったこと、Qtの特に初期にはオープンソースのプロジェクトであるKDEがQtの発展に大きく貢献し、KDEがなければ今のQtはなかったであろうこと、2011年にQt Projectが立ち上がり、ようやく目指してきたオープンな体制が整ったことなどが説明されました。
この1年はQtにとっては5.0, 5.1というリリースがあり、また、それ以外にも Qt Creator 2.6~2.8やInstaller Framework, Boot to Qt や Qt Commercial Chartsなどがリリースされるなど、活発な活動が展開されてきました。この1年で3万を超えるパッチがコミュニティから提出され、1万8,000のコミットがなされました。Qt自体の開発者だけで行われれるQt Contributers' Summitにも200名参加し、成功に終わりました。
Lars Knoll自身においても、NokiaからDigiaへ移籍することとなりました。これに伴い、これまでよりもコードを書く時間が増えたそうです。
今後のQtですが、まずは9/30にアルファ版が出たばかりのQt 5.2のリリースを目指します。Qt 5.2はAndroidとiOSが正式サポートされ、WebKit以外のすべてのエッセンシャルモジュールがサポートされます。これまで、iOSでは動かなかったQt Quick 2も動くようになりました。
そのほかにもQt Core, Qt Network, Qt Qml, Qt Quick, Qt Quick Controls, Qt WebKitなどさまざまなモジュールに新機能や改良が行われており、また、Qt Bluetooth, Qt NFS, Qt Positioning,Qt Win/Mac/Android Extrasなどの新しいモジュールも追加されました。
その一方、Qt4との互換性確保のためにメンテナンスされてきたQt Quick 1モジュールについてはその利用を推奨しないDeprecatedステートになることが発表されました。
また、Qt 5.2そのものではありませんが、同時リリースを予定しているQt Creator 3.0についても説明があり、AndroidやiOSサポートに加えてLLDBサポートの追加や、今後のQt Creatorのエコシステムの拡大を推進するためにプラグインAPIの安定化などを行うことが発表されました。
なお、Qt 5.2は10月中旬にベータ版(10/23にリリース済みです) 、11月中旬にRC版、11月末に正式リリースを予定しています。
Qt 5.3についても簡単に説明がありました。2014年の4月から5月を目標にリリースを行い、今のところ WinRT サポートの追加やChromiumベースのQt WebRuntimeモジュールの追加が予定されています。
キーノートの最後を飾るのは、QNXのCofounder & Chief Executive OfficerであるDan Dodgeによる「Trains, planes, automobiles… and space shuttles. Going the distance in the high-tech industry.」というタイトルのお話です。
QNXのキーノートの模様
QNXの誕生から現在までの紹介が主で、Qtとは関係のないことも少なくありませんでしたが、その内容はユーモアたっぷりで非常に面白いスピーチでした。
Qtに関連するところでは、今年のフランクフルトのオートショーで展示されたメルセデスのコンセプトSクラスクーペにQNXとQtが使用されているそうです。
セッション
8日の午後と9日はさまざまなセッションが開催されました。初心者向けの入門的な内容から、Qtの使い方の説明やQtの各モジュールのステータス紹介、Qtの内部に関する説明、Qt Creatorのカスタマイズ方法などのさまざまなセッションがありました。
これらのセッションの内容は公募して審査を通過したもので構成されています。
同時にいくつものセッションが開催されるため、すべてのセッションを確認したわけではありませんが、AndroidやiOSなどのモバイル系プラットフォームのセッションやQt Quickのセッションの人気が高く、特に5.2で採用になる新しいQMLエンジンの話には100人を大きく超える聴衆が集まりました。参加したどのセッションも時間ぎりぎりまで質疑が行われるような活発な状況でした。
セッション「Qt 5.2's QML engine in depth」開始直前の様子
セッションに出席していると、一般的なプレゼンテーションソフト以外に、QtQuickでプレゼンテーションをする人たちが増えてきたのが目立ちました。以前にもQtQuickで資料を作成する人はいましたが、1/3以上の人たちが使用しているような印象でした。発表者はほとんどがQtのエンジニアなのでQtQuickには慣れているのはもちろんのこと、QMLのデモを資料の中でシームレスに動かすことができるなどのメリットもあり、面白い資料が作成できます。
もっとも、PDFが作成しにくいという問題点もあるため、公開用資料をどうするのかは課題です。今のところ、プレゼンのソースコードを公開する予定でいるようです。QtQuick以外だと、Web系の人にはHTML5で資料を作成する人もいました。
デモブース
Qt Developer Days ではセッションなどのほかにQtパートナーなどによるデモブースも設けられています。ここでは各出展者の製品やソルーション、技術デモなどが展示されています。
今回のデモで目立ったのは、OpenGLで3D描画を行い、その上でQtQuickでUIを作成するようなアプリケーションです。たとえば、KDABのブースではCTスキャンで作成した3DデータをOpenGLで表示し、その制御用UIをQMLで作成するデモを行っていました。
KDABのデモブースで動いていたOpenGL & QtQuickのデモ
この他に、QNXでQt5を動かすデモもいくつかありました。これまでは組込み系でQtを動かす場合はLinuxを用いるのが定番でしたが、今後はQNXという選択肢も増えてくるのかもしれません。
QNXでQt5を動かすデモ
Lightning Talk
今年から始まった新しい試みのひとつがライトニングトークです。一人あたりの持ち時間は10分と短いものの、Qtに関連のあることであれば話題には制限が無く、セッションよりも気軽に参加できるのがメリットです。
ライトニングトークの参加者はKDABの社長をはじめ、ICSやDigiaの社員や、その他のQt Projectへのコントリビュータ、KDEプロジェクトの一員などセッション以上にバラエティ豊かでした。
それぞれのライトニングトークは創造性などを指標に聴衆が採点し、上位入賞者は最終日の閉会式の中で再度アピールするチャンスが与えられました。
入賞したのは以下のセッションです。
How to use Facebook, Ads, In-App Purchases and Analytics in mobile Apps with Qt
Presenter: Christian Feldbacher
Qt/QMLを用いたクロスプラットフォームゲームエンジン V-play の作者の発表。QMLのプラグインの仕組みを使用してゲームエンジンにSNS連携機能やアプリ内課金などを実装した話でした。
How do we write SQL queries in 2013?
Presenter: Andras Mantia
QtではSQLデータベースをサポートしていますが、クエリは文字列で構成する必要があり、前時代的でミスの原因ともなっています。そこでクエリを構成するためのクラスを導入して、SQLをより簡単に正しく利用しようとの発表でした。これはQtでSQLを扱った経験のある人にとって有用な発表ではないでしょうか。ソースコードもKDABのGitHub で開されていますので、興味のある方はぜひ試してみてください。
News from Inqlude, the Qt library archive
Presenter: Cornelius Schumacher
他の2つが技術的な内容であったのに対して、コミュニティよりな活動がこちら。Qtで作られたライブラリプロジェクトを紹介するInqlude というサイトの説明です。アプリケーションを紹介する qt-apps.orgというサイトは以前からありましたが、ライブラリだけを紹介するというのは開発者の集まるQt Developer Days、そしてQtにとっておもしろい試みではないでしょうか。
Qt Community Award
この他、Qt Community Awardも新しい取り組みとして行われました。これは今年Qtコミュニティの中で最も活躍した人を投票で選ぶというものです。投票はQt Developer Daysの最中に受け付けられ、閉会式で発表されました。
エントリーとしては、Qt for Android こと Necessitas のメイン開発者である Bogdan Vatra、言わずと知れたQtのChief Maintainerである Lars Knoll、Qt CoreのMaintainerであるThiago Macieira、KDEの開発者であり、KDEプロジェクトの代表でもあるDavid Faureの4人です。
どの候補者もすばらしい開発者ですが、Awardに選ばれたのはやはりLars Knollでした。
最後に
今年のQt Developer Days 2013 Europeには約750名ほどの参加があったそうで、どこをとっても活気のある2日間でした。閉会式の最後にはQt Developer Days 10周年ということで「Happy Birthday」の合唱とシャンパンでの乾杯を行いましたが、このまま15周年、20周年とQtと共に回数を重ねていってもらえればと思います。
まだ、アメリカでの開催を控えているため後日になる予定ですが、プレゼンテーションのビデオや資料は公開される予定です。Qt Developer Days全体については
Qt Developer Days公式サイト
URL:http://www.qtdeveloperdays.com/
を、ドイツでの開催の詳細については
KDABのQt Developer Days -Europeサイト
URL:http://devdays.kdab.com/
を参照してください。
SRAのQt関連サービスご紹介
Qtの国内販売代理店として2003年からQtの普及・促進に貢献
Qtのライセンス販売だけでなく、コンサルティングから開発、サポートサービスまでをトータルに提供
多くのQtエンジニアが在籍しており、Qt開発受託の実績豊富
3名のQtコンサルタントにより、導入のご支援、パフォーマンスチューニング、Qt自身のカスタマイズ等のサービスを提供
Qtの導入を検討する顧客向けに、Qtプログラミング体験セミナーを隔月で無償で開催
より実践的なプログラミングスキルを学べる有償トレーニングも毎月開催
11/20~22に開催されるEmbedded Technology 2013にて、DIGIAと共同出展
詳細はSRAのQtサイト 参照