क्यूटी qml और qt त्वरित के बीच अंतर




qt-quick qtquick2 (2)

क्यूएमएल भाषा का नाम है (बस सी ++ की तरह, जो एक और भाषा है ...)

QtQuick QML के लिए टूलकिट है, जो क्यूएमएल भाषा में ग्राफिकल इंटरफ़ेस विकसित करने की अनुमति देता है (क्यूएमएल के लिए अन्य टूलकिट हैं, कुछ सेलफिश सिलिका या ब्लैकबेरी कैस्केड जैसे ग्राफिकल हैं, और कुछ क्यूबीएस / सीएमके / बनाना...)

QtQuick 1.x Qt4.x- आधारित था और दृश्य खींचने के लिए QPainter / QGraphicsView API का QGraphicsView किया था। QtQuick 2.X को QT5.0 के साथ पेश किया गया था, दृश्य ग्राफ के आधार पर, एक OpenGLES2 abstraction परत, अत्यधिक अनुकूलित।

क्यूटी 5.1 के साथ, क्यूटी 5.2 के साथ मल्टीथ्रेडिंग (क्यूटीक्विक 2.1) का उपयोग करने के लिए सीन ग्राफ को बढ़ाया गया था, सीपीयू / जीपीयू कॉल और मेमोरी उपयोग को कम करने के लिए सीन ग्राफ अभी तक बहुत अधिक अनुकूलित है

क्यूएमएल इंजन Qt4.x में जेएसकोर (वेबकिट का जेएस इंजन) पर आधारित था और 5.0 के साथ वी 8 (Google क्रोम का जेएस इंजन) पर रिबेस किया गया था, लेकिन यह मोबाइल पर और खासकर आईओएस पर इसका इस्तेमाल करने की अनुमति नहीं देता है, इसलिए क्यूटी 5.2 ने एक नया पेश किया QT इंजन, जिसे V4VM नाम दिया गया है, जिसे क्यूटी लोगों द्वारा / बनाया गया है।

QtQuick नियंत्रण भी हैं, जो मूल रूप से QtQuick के आधार पर देशी दिखने वाले विजेट का एक सेट है। यह मूल रूप से डेस्कटॉप के लिए था, लेकिन क्यूटी 5.4 ने होलो थीम के आधार पर एंड्रॉइड के लिए मूल एल एंड एफ पेश किया। एक सामग्री विषय, साथ ही एक आईओएस विषय, विकास में हैं लेकिन मौजूदा क्यूटी रिलीज (5.5) के रूप में उपलब्ध नहीं है। कुछ नियंत्रण केवल एंटरप्राइज़ थे, लेकिन क्यूटी 5.5 में उन्हें अतिरिक्त नाम दिया गया, और वे अब सभी लाइसेंस के लिए उपलब्ध हैं। QtQuickControls 2 नामक एक और विकास चल रहा है, जो नियंत्रण के पूर्ण पुनर्लेखन है, बेहतर प्रदर्शन प्राप्त करने के लिए, हल्के एम्बेडेड यूआई के लिए लक्षित, यह क्यूटी 5.6 में टेक पूर्वावलोकन चरण में होना चाहिए।

Qt5.5 से, QtQuick3D नामक एक नया मॉड्यूल है, जो QML भाषा का उपयोग करके 3 डी ऐप्स / गेम बनाने की क्षमता देता है। यह सीनग्राफ का उपयोग नहीं करता है जो 2 डी / 2.4 डी उन्मुख है। इस उपयोग के लिए एक नए इंजन को फ्रेमग्राफ नाम दिया गया है।

यदि आप आधुनिक ऐप्स विकसित करते हैं तो आपको सबसे विशाल उपयोगकर्ताबेस को स्पर्श करने के लिए Qt5.x + QML 2.x + QtQuick 2.x का उपयोग करना चाहिए।

क्यूटी के साथ, सामान्य रूप से, हमेशा अद्यतनों का पालन करें क्योंकि वे अधिक सुविधाएं, अधिक perfomances और अधिक प्लेटफार्म जोड़ते हैं।

प्रश्न 1: मैं qml, quick1.0 और quick2.0 से उलझन में हूं। उनके बीच क्या अंतर है।

मैं क्यूटी निर्माता 5.18 के आधार पर qt निर्माता 2.8.1 का उपयोग करता हूं। मैं एक डेस्कटॉप प्रोग्राम विकसित करना चाहता हूं, मुझे किस तकनीक का उपयोग करना चाहिए?

प्रश्न 2: त्वरित प्रोग्राम में डेटा कैसे निर्यात करें? मुझे केवल qml के बारे में दस्तावेज़ v 4.7 मिलते हैं।


संपादित करें: कृपया बेहतर उत्तर के लिए @TheBootroo देखें

हालांकि ओपी द्वारा मेरा जवाब स्वीकार कर लिया गया था, मैं अपने उत्तर को संशोधित करना (या यहां तक ​​कि) संशोधित करना चाहता हूं।

मेरा जवाब 2013 में क्यूटी 5.2 के संबंध में व्यक्तिगत अनुभवों पर आधारित था, जिनमें से कुछ आज मान्य नहीं है:

  • क्यूएमएल क्यूटी मेटा भाषा या क्यूटी मॉडलिंग भाषा एक यूजर इंटरफेस मार्कअप भाषा है।
  • QtQuick (QtQuick 1.x और QtQuick 2.x दोनों) उपयोगकर्ता इंटरफ़ेस-केंद्रित अनुप्रयोगों को डिजाइन करने के लिए एक घोषणात्मक भाषा के रूप में QML का उपयोग करता है।

Qt 5.2 पर वापस जब आपने क्यूटी क्विक एप्लिकेशन बनाया था तो एक महत्वपूर्ण सवाल यह था कि ऐप QtQuick 1.x या QtQuick 2.x था या नहीं। न केवल उन घटकों को प्रभावित करता है जो उपलब्ध थे, लेकिन, यह बदल गया कि एप्लिकेशन को कैसे प्रदान किया गया था।

2013 में वापस:

  • QtQuick 1.x अनुप्रयोगों को अक्सर चुना जाता था यदि आपको पुराने ऑपरेटिंग सिस्टम (जैसे विंडोज एक्सपी) या पुराने हार्डवेयर (जैसे ओएलपीसी) को लक्षित करना था क्योंकि क्यूएमएल यूआई घटकों जैसे कि बटन आपके ओएस के मूल निवासी द्वारा प्रस्तुत किए गए थे। हालांकि, इसका मतलब था कि आप यूआई घटकों के सबसे कम आम denominator सेट को लक्षित कर रहे थे और यह कि आपका यूआई अनुभव मंच से मंच में भिन्न हो सकता है।

  • QtQuick 2.x एप्लिकेशन को एक अधिक लगातार क्रॉस प्लेटफ़ॉर्म लुक के लिए चुना गया था, लेकिन, यह आवश्यक था कि आपके प्लेटफॉर्म ने ओपनगलएस को पर्याप्त रूप से लागू किया हो, आपका एप्लिकेशन लोड होने में असफल हो सकता है। दुर्भाग्य से, आपके एप्लिकेशन को केवल नवीनतम कंप्यूटर और डिवाइस पर प्रतिबंधित किया गया है जो OpenGLES को कार्यान्वित करते हैं।

जब मैंने अपना मूल उत्तर लिखा, तो यह मुझे QtQuick 2.x पर कुछ परिदृश्यों में QtQuick 1.x की अनुशंसा करने का नेतृत्व करता है।

हालांकि, तब से, क्यूटी 5+ अब आपको विंडोज पर एंगल को लक्षित करने की अनुमति देता है जो डायरेक्ट 3 डी पर कॉल का अनुवाद करके विंडोज डेस्कटॉप पर उच्च प्रदर्शन ओपनजीएल संगतता लाता है, जिसमें बहुत बेहतर ड्राइवर समर्थन है।