Qt 5 の未来は明るいブログ

オープンソースカンファレンス 2014 Tokyo / Spring 1日目

Published: 2014-02-28 / Last modified: 2014-02-28

2月28日から2日間にわたり 明星大学 日野キャンパス で開催されている オープンソースカンファレンス 2014 Tokyo / Spring ですが、日本 Qt ユーザー会 として参加しています。

今回は、ブース当番や展示内容がちゃんと用意できるか若干不安ではありましたが、ユーザー会のみなさんの協力のおかげで無事一日目を終えることができました。

展示ブース:日本 Qt ユーザー会

日本 Qt ユーザー会のブースでは、最新の Qt 5 のデモが動作している iPad mini、iPod touch、Galaxy III などのスマートデバイスに加え、PC での開発環境やドキュメントなどの展示、それから日本語で書かれた Qt に関する書籍の展示を行いました。

セミナー:Qtではじめるクロスプラットフォームアプリケーション開発

金曜の朝一ということで聞きにこられる方がどのくらいいるか少し心配していましたが、10名以上の方に来ていただき、Qt の紹介と簡単なアプリ開発のデモをお見せしました。

参加者の方からいただいた質問は以下のとおりでした。

デスクトップアプリも今後は QtQuick で作る方向になるの?
はい。Qt 5.1 から QtQuickControls というモジュールが追加されています。現段階ではまだまだ未成熟な部分もありますが、積極的に開発が進められていて将来的には QtQuick でデスクトップアプリを開発できるようにしていく予定です。
その場合、C のライブラリとかは使えますか?
QtQuick は Qt/C++ で拡張可能になっています。C のライブラリをラップする QObject の派生クラスを作って qmlRegisterType で登録することによって QtQuick から C のライブラリなどを実行するようにすることが可能です。
iOS や Android の開発はちゃんとできますか?
どちらも Qt 5.2 で正式に対応したばかりのため、まだまだ不安定な部分もあります。バグを見つけた場合は是非バグ報告をお願いします。
iOS と Android に対応する場合も同じソースで作るのか?
同じソースで同じように作ることも可能です。UI は個別に最適化する場合でも9割以上のソースコードを共通で使うようにすることができると思います。
モバイルアプリを配布する場合、Qt の中の使用していない機能を削除できたりしませんか?
Qt 自体には qconfig という、機能単位でコードを削除するための仕組みはありますがサポート外で、メンテナンスもほとんどされていません。

Qt 関連の展示でおもしろかったもの

OSGeo 財団日本支部

Qt で作られている地理情報システム QGIS の展示を行っていました。

OSGeo 財団日本支部では FOSS4G というイベントを定期的に開催していて、QGIS のプラグインを作るハンズオンも行っているということです。Qt を使ったプラグインの開発になるため、参加者には事前に Qt をインストールしてもらっているそうです。

帳票ソリューション for Ruby and Rails | ThinReports

Ruby で書かれた帳票の PDF 出力ソリューションで、帳票のテンプレート(SVG形式)のエディタ ThinReports Editor が Qt 5 で書かれているそうです。

またこのソリューションをブラウザから利用できるようにした REPOTEN-API というウェブサービスも開発されているそうで、こちらも同様のテンプレートを使用するようになっているとのことでした。

ThinReports Editor のソースコードは github.com/thinreports/thinreports-editor で公開されていますが、QtWebKit の中で JavaScript を使用し SVG ツリーを操作していると教えていただきました。

Qt 自体に帳票機能が欲しいと思うことが多々あるので、個人的にとても興味が引かれたプロジェクトでした。こんどの勉強会までに実際に自分でビルドして動かしてみようと思います。

ユーザー会の展示に関して

展示当番のメンバーと色々話をした内容を覚えてる限りここにメモしておこうと思います。

  • Qt のロゴ入りの布を作成してテーブルに敷きたい
  • やっぱり Qt とは何かがコンパクトにまとまったパンフレットが必要
  • Qt のキャラクターも必要
  • ライブコーディングとかをしたら Qt の良さがより伝わる?

Qt の普及のため、明日もがんばりましょう!