Perbedaan antara qt qml dan qt cepat

I'm bingung dengan QML, QtQuick 1.0 dan QtQuick 2.0. Apa's perbedaan antara mereka?

Saya menggunakan QtCreator 2.8.1 berdasarkan Qt 5.1.1. Saya ingin mengembangkan sebuah program desktop, teknologi mana yang harus saya gunakan?

Mengomentari pertanyaan (2)

QML merupakan nama dari bahasa (seperti C++, yang adalah bahasa yang lain...)

QtQuick adalah toolkit untuk QML, yang memungkinkan untuk mengembangkan antarmuka grafis dalam QML bahasa (ada yang lain toolkit untuk QML, beberapa grafis seperti Sailfish Silika atau BlackBerry Cascade, dan beberapa non-grafis seperti QBS yang merupakan pengganti untuk QMake/Memodifikasi/membuat...)

QtQuick 1.x Qt4.x-based dan menggunakan QPainter/QGraphicsView API untuk menggambar pemandangan. QtQuick 2.X diperkenalkan dengan Qt5.0, berdasarkan Grafik Adegan, sebuah OpenGLES2 lapisan abstraksi, yang sangat optimal.

Dengan Qt5.1, Adegan Grafik yang ditingkatkan untuk menggunakan multithreading (QtQuick 2.1) Dengan Qt5.2, Grafik Adegan ini belum banyak dioptimalkan untuk mengurangi CPU/GPU panggilan dan penggunaan memori

QML mesin didasarkan pada JsCore (JS mesin Webkit) di Qt4.x dan rebased V8 (JS engine Google Chrome) dengan 5.0 tapi ini dilarang untuk menggunakannya pada ponsel dan terutama pada iOS, jadi Qt5.2 diperkenalkan baru QML mesin, bernama V4VM, yang dibuat oleh/untuk Qt orang.

Ada juga QtQuick Kontrol, yang pada dasarnya adalah sebuah set asli-mencari widget, berdasarkan QtQuick. Ini pada awalnya dimaksudkan untuk desktop, tapi Qt 5.4 diperkenalkan asli L&F untuk Android, berdasarkan tema holo. Sebuah tema materi, serta aplikasi iOS tema, dalam pengembangan tapi tidak tersedia pada saat ini Qt rilis (5.5). Beberapa kontrol adalah Perusahaan saja, tetapi di Qt5.5 mereka punya berganti nama sebagai Figuran, dan mereka sekarang tersedia untuk semua lisensi. Perkembangan lain adalah menjalani, bernama QtQuickControls 2, yang adalah penulisan ulang lengkap dari Kontrol, untuk mendapatkan kinerja yang lebih baik, bertujuan untuk cahaya tertanam UIs, itu harus di Tech Preview panggung di Qt 5.6.

Dari Qt5.5, ada modul baru bernama QtQuick3D, yang memberikan kemampuan untuk membuat 3D aplikasi/game menggunakan QML bahasa. Itu doesn't menggunakan SceneGraph yang terlalu 2D/2.4 D berorientasi. Mesin baru bernama FrameGraph untuk penggunaan ini.

Jika anda mengembangkan aplikasi anda harus menggunakan Qt5.x + QML 2.x + QtQuick 2.x, untuk sentuhan yang paling luas userbase mungkin.

Dengan Qt, pada umumnya, selalu mengikuti update karena mereka menambahkan lebih banyak fitur, lebih perfomances dan lebih banyak platform.

Komentar (5)
Larutan

EDIT: Silakan merujuk ke @TheBootroo untuk jawaban yang lebih baik

Meskipun jawaban saya diterima oleh OP, saya ingin merevisi (atau bahkan) hapus jawaban saya.

Jawaban saya adalah berdasarkan pengalaman pribadi sehubungan dengan Qt 5.2 pada tahun 2013 yang tidak berlaku lagi hari ini:

  • QML adalah Qt Meta Bahasa atau Qt Modelling Language adalah sebuah antarmuka pengguna bahasa markup.
  • QtQuick (kedua QtQuick 1.x dan QtQuick 2.x) menggunakan QML sebagai bahasa deklaratif untuk merancang antarmuka pengguna–sentris aplikasi.

Kembali pada Qt 5.2 ketika anda membangun sebuah Qt Cepat Aplikasi yang signifikan pertanyaan adalah apakah aplikasi QtQuick 1.x atau QtQuick 2.x. Ini tidak hanya mempengaruhi komponen-komponen yang tersedia, tapi, itu diubah bagaimana aplikasi yang diberikan.

Kembali di tahun 2013:

  • QtQuick 1.aplikasi x sering dipilih jika anda memiliki target yang lebih tua sistem operasi (misalnya Windows XP) atau hardware yang lebih tua (misalnya OLPC) karena QML UI komponen seperti Tombol yang diberikan oleh komponen asli untuk OS anda. Namun, ini berarti anda menargetkan sebuah common denominator terendah set komponen UI dan UI anda pengalaman yang mungkin berbeda dari platform ke platform.

  • QtQuick 2.aplikasi x dipilih untuk lebih konsisten lintas platform yang terlihat, tetapi, hal ini diperlukan bahwa anda platform dilaksanakan OpenGLES cukup lagi, aplikasi anda mungkin gagal untuk memuat. Ini, sayangnya, dibatasi aplikasi anda untuk hanya terbaru komputer dan perangkat yang dilaksanakan OpenGLES.

Ketika saya menulis jawaban asli, hal ini menyebabkan saya untuk merekomendasikan QtQuick 1.x dalam beberapa skenario di atas QtQuick 2.x.

Namun, sejak itu, Qt 5+ sekarang memungkinkan anda untuk menargetkan SUDUT pada Windows yang membawa kinerja tinggi OpenGL kompatibilitas untuk Windows desktop dengan menerjemahkan panggilan untuk Direct3D, yang memiliki jauh lebih baik dukungan driver.

Komentar (8)