Qt 5.1.0 の RC2 版がリリースされています。なお、Qt Blog でのアナウンスはありませんので、5.1.0 RC1 で問題に遭遇した人は以下のパッケージを試してみてください。
なお詳しく確認はしていませんが、オンライン版からのアップデートは行えなかったので、オフライン版のみのリリースかもしれません。
Qt のあれこれ (仮)
Qt Creator 2.8 RC 版がリリースされました。
Qt Creator 2.8 の新機能については「Qt Creator 2.8.0 ベータ版リリース」を参照してください。その他にも、LLDB の実験的サポートや QNX/BlackBerry サポートの改善などが行われています。
Qt 5.1.0 の RC 版がリリースされました。
ベータ版から RC 版での変更点としてはパッケージ関連のものが主なものとなります。
Qt 5.1 そのものの新機能については 5.1 アルファ版のリリース記事 を参照してください。
Qt の新たなビルドツールとして開発が進んでいる qbs の 1.0.0 がリリースされました。
先日の 0.3.0 からの変更点は特に記載されていませんが、バグフィックスやドキュメントの追加などがメインのようです。
Qt 自体のビルドに使用するには configure や syncqt 相当の機能が不足していることや、Qt の無い環境でビルドできないことなどから課題は多いですが、特に Windows では make よりも速いなど今後が期待できるビルドツールです。
Qt Creator にも(デフォルトでオフになっていますが)対応プラグインがありますので、是非試してみてください。と言いたいところですが、2.8 beta のプラグインでもビルドが実行できる程度で多くの手作業を必要とします。 Setting Up a Qbs Project などを参考にしてください。
Qt Creator 2.8.0 のベータ版がリリースされました。
主な変更点は以下の通りです。
Qt 5.1.0 のベータ版がリリースされました。
5.1 の新機能に関しては Qt 5.1 アルファ版の リリース記事 を参考にしてください。
5.1 アルファとの大きな違いは(もちろんバグ修正などもありますが)バイナリパッケージが用意されていることです。5.1 でサポート予定のすべてのパッケージがそろっているわけではありませんが、Windows 用の (ANGLE ではなく) デスクトップ用 OpenGL でビルドしたパッケージや Linux 版のみですが Android 用のパッケージがリリースされています。また、現状はオフライン版のインストーラしかありませんが、正式リリース時にはオンライン版のインストーラも用意される予定です。
プラットフォームとしては Android や iOS のテクノロジープレビュー版に注目が集まっていますが、この他に Windows Embedded Compact 7 に対応予定となっています。
(もう一ヶ月も前ですが) Qt の新しいビルドツールとして開発が進められている qbs が 0.3 に達したことが アナウンス されました。
Qt には既に qmake というビルドツールがありますが、(特に大規模あるいは複雑なプロジェクトを作成するときに)柔軟性に欠け分かりにくいとその評判は決して良いものではありません。そこで新たなビルドツールの検討として qbs の開発が進められています。
qbs と qmake の一番大きな違いは qmake は make や Visual Studio や XCode のプロジェクトなど各プラットフォームネイティブのビルドツール用のファイルを生成する間接的なビルドツールであるのに対して、qbs は(cmake のように)それ自身がビルドを実行するツールであることです。
qbs ではプロジェクトファイルの形式も QML のような宣言型の文法を採用しており、qmake に比べるとより柔軟にプロジェクトを提議することが出来ます。qmake を用いた場合よりも高速化されており、(qmake で言う DEFINES のような) コンパイル設定の変更による再ビルドのサポートなどのメリットがあります。
デメリットとしては現状 Qt Creator 以外の IDE との連携が出来ないこと、ビルドに Qt(QtScript) が必要であることがあります。このため、qmake を完全に置き換えるのは(Qt Project としては)大変かもしれません。
気になった方はまずは Quick Reference を読んでみてください。
Windows で Qt5 を使ってみて遅くなったと感じたことはありませんか。Qt Quick 2 を使っていて遅い場合は ANGLE が問題になっていることも多いのですが、Widget ベースのアプリではどうでしょうか。qt-project.org の interest メーリングリストで Qt5 が Qt4 に比べて明らかに遅くなっていたという話題が出てましたので、ちょっと紹介してみます。
それからもう一つ、Qt5 に限らないと思いますが MinGW 版のバイナリが Visual Studio 版よりも遅いことについての話とその対策案も紹介します。
QML は JavaScript をベースに作成された言語です。そのため、QML の言語処理系には JavaScript エンジンを使用しています。Qt4 では JavaScriptCore を、Qt5 ではより速度を求めて V8 JavaScript Engine を採用しました。Qt5 では V8 の採用とそれ以外の最適化などで Qt Quick のパフォーマンス向上を果たしましたが、徐々にその限界も見えつつあります。その限界と次のステップを解説する第一弾として “Evolution of the QML engine, part 1” が Qt Blog に投稿されました。面白い記事ですので、ざっくりと訳してみることにします。
さて、現状の V8 の利用にどのような問題があるのでしょうか