77

QML、QtQuick 1.0、および QtQuick 2.0 と混同しています。それらの違いは何ですか?

Qt 5.1.1 ベースの QtCreator 2.8.1 を使用しています。デスクトップ プログラムを開発したいのですが、どのテクノロジを使用すればよいですか?

4

2 に答える 2

195

QML は言語の名前です (別の言語である C++ と同じように...)

QtQuick は QML 用のツールキットであり、QML 言語でグラフィカル インターフェイスを開発することができます (QML 用のツールキットは他にもあり、Sailfish SilicaBlackBerry Cascadeのようにグラフィカルなものもあれば、QMake/CMake/ の代替となるQBSのように非グラフィカルなものもあります)。作る...)

QtQuick 1.x は Qt4.x ベースで、QPainter/ QGraphicsViewAPI を使用してシーンを描画していました。QtQuick 2.X は、高度に最適化された OpenGLES2 抽象化レイヤーである Scene Graph に基づいて、Qt5.0 で導入されました。

Qt5.1 では、マルチスレッド (QtQuick 2.1) を使用するようにシーン グラフが強化されました。

QML エンジンは Qt4.x の JsCore (Webkit の JS エンジン) に基づいており、5.0 で V8 (Google Chrome の JS エンジン) にリベースされましたが、これによりモバイル、特に iOS での使用が許可されなくなったため、Qt5.2 で新しいV4VM という名前の QML エンジンは、Qt の人によって/のために作成されました。

また、基本的には QtQuick に基づく、ネイティブに見えるウィジェットのセットである QtQuick Controls もあります。もともとはデスクトップ向けでしたが、Qt 5.4 では、holo テーマに基づいて Android 向けのネイティブ L&F が導入されました。マテリアル テーマと iOS テーマは開発中ですが、現在の Qt リリース (5.5) では利用できません。一部のコントロールは Enterprise のみでしたが、Qt5.5 では Extras に名前が変更され、すべてのライセンスで利用できるようになりました。QtQuickControls 2 という名前の別の開発が進行中です。これはコントロールの完全な書き直しであり、軽量の組み込み UI を目的としてパフォーマンスを向上させます。Qt 5.6 の Tech Preview 段階にあるはずです。

Qt5.5 から、QML 言語を使用して 3D アプリ/ゲームを作成する機能を提供する QtQuick3D という名前の新しいモジュールがあります。あまりにも 2D/2.4D 指向の SceneGraph を使用していません。新しいエンジンは、この用途のために FrameGraph と名付けられました。

最新のアプリを開発する場合は、Qt5.x + QML 2.x + QtQuick 2.x を使用して、可能な限り多くのユーザーベースにアクセスする必要があります。

Qt では、一般に、より多くの機能、より多くのパフォーマンス、およびより多くのプラットフォームが追加されるため、常に更新に従ってください。

于 2013-11-07T14:01:31.710 に答える