2012-02-25 4 views
13

QMLはコンパイル時にネイティブコードに変換されるのか、それとも実行時にJavaScriptがウェブブラウザで実行されるのとほとんど同じ方法で解釈されますか?QMLはコンパイル時にネイティブコードに変換されるのですか、または実行時にJavaScriptがWebブラウザで実行されるように解釈されますか?

+0

ウェブブラウザで表示されるJavaScriptはほとんどコンパイルされません。通常、ジャストインタイム(JIT)でコンパイルされます。 – delnan

答えて

4

私の知る限りでは、Qtのドキュメントにはストレートと詳細な説明がないように思えるが、いくつかのQtハッカーtry to explain itは:

QMLは、最適化されたバイトコードのような流れと にコンパイルされますJavaScript式は、単純な式のために最適化されたエバリュエーターを通過します。 式。

ありもQTBUGタスクQtQuick startup time needs to be improved; cache compiled QML between runs

関連している私の理解では、QMLの状態が完全に解決されておらず、エンジニアはそれが固定宣言していないので、彼らが将来的にそれを改善する自由を持っているということです。

ATM C++とQMLを混在させ、C++のすべてのアプリケーションロジックとQMLのプレゼンテーションを持つことをお勧めしますが、理想的には単一の大きなQMLファイルではなく、より小さなQMLファイルに分割してください。

3

Qt 5.3とエンタープライズライセンスでは、実際にはそれをプリコンパイルする方法があります。

http://doc.qt.digia.com/QtQuickCompiler/

これは、AppleがJITコード生成を許可していないiOS用に便利です。

関連する問題