QML, derleme zamanında yerel koda çevrilmiş mi, yoksa JavaScript, bir web tarayıcısında çalıştırıldığı şekilde çalışma zamanında yorumlanıyor mu?QML, derleme zamanında yerel koda çevrilmiş mi veya çalışma zamanında JavaScript'in web tarayıcılarında çalıştırıldığı şekilde yorumlanmış mı?
cevap
AFAIK, Qt belgelerinde hiçbir düz ve ayrıntılı bir açıklaması vardır görünebilir ancak bazı Qt hackerlar try to explain it:
QML optimize edilmiş baytkodu benzeri akımına ve derlenmiş JavaScript ifadeleri, basit ifadeleri için optimize edilmiş bir değerlendiriciden geçer.
da QTBUG görevi vardır ilgilidir QtQuick startup time needs to be improved; cache compiled QML between runs
Benim anlayış QML durumu tamamen yerleşmiş edilmemiştir ve mühendisler sabit beyan vermez, bu nedenle gelecekte onu geliştirmek için özgürlüğüne sahip olmasıdır.
ATM, C++ ile C++'yu karıştırmak, C++ uygulamasında tüm uygulama mantığına ve QML'deki sunuma sahip olmak, ancak ideal olarak tek bir büyük QML dosyasında değil, daha küçük QML dosyalarına bölünür.
Büyük bir difference between compiled languages and interpreted languages var. A QML document is interpreted by the QML runtime. Bir anlamda, JavaScript gibi yürütüldüğünü söyleyebilirsin.
The QML runtime includes a QML engine, JavaScript engine, and mechanism to bind to the Qt Framework.
Qt 5.3 ve bir kuruluş lisansıyla birlikte, önceden derlenmesinin bir yolu vardır.
http://doc.qt.digia.com/QtQuickCompiler/
Bu Apple JIT kod nesil izin vermez iOS için yararlıdır.
Web tarayıcısında JavaScript nadiren derlenmiş. Genellikle, tam zamanında (JIT) derlenir. – delnan