एकता की अगली पीढ़ी के लिए Canonical GTK पर क्यूटी क्यों चुन रहा है?


33

बहुत कुछ लिखा गया है कि मैं उलझन में हूं, लेकिन अगर मैं गलत नहीं हूं तो कैननिकल क्यूटी के साथ मोबाइल उपकरणों के लिए एकता की अगली पीढ़ी का निर्माण कर रहा है, और निकट भविष्य में डेस्कटॉप भी क्यूटी में स्थानांतरित हो जाएगा।

मैं इस निर्णय को चलाने के तकनीकी और / या राजनीतिक कारणों को जानना चाहता था, और वर्तमान में मौजूद उबंटू डेस्कटॉप अनुप्रयोगों के लिए इसके क्या परिणाम हो सकते हैं।


3
GTK में प्रोग्रामिंग एक बहुत बड़ा दर्द है क्योंकि यह GObject से निर्मित है, जो C.O में शूहॉर्न की अवधारणाओं को गलत तरीके से समझने का एक दुखद प्रयास है। Ct सिर्फ C ++ का उपयोग करता है, जो बॉक्स से बाहर OO (और अन्य प्रतिमानों) का समर्थन करता है। C ++ सही नहीं हो सकता है, लेकिन GObject सिर्फ बार soooo को बहुत कम सेट करता है।
वेबर 2

जवाबों:


23

आप मेलिंग सूची पर और मार्क शटलवर्थ के ब्लॉग पर जवाब पा सकते हैं । यह ब्लॉग पोस्ट शायद इसका सबसे अच्छा जवाब देता है:

नैट्टी + 1 के लिए हमारी योजना के हिस्से के रूप में, हमें Qt पुस्तकालयों के लिए सीडी पर कुछ स्थान खोजने की आवश्यकता होगी, और हम उबंटू की सीडी और डिफ़ॉल्ट स्थापना पर क्यूटी के साथ विकसित किए गए अनुप्रयोगों का मूल्यांकन करेंगे।

उपयोग में आसानी, और प्रभावी एकीकरण, हमारे उपयोगकर्ता अनुभव में प्रमुख मूल्य हैं। हम परवाह करते हैं कि हमारे द्वारा चुने गए एप्लिकेशन एक दूसरे के साथ सामंजस्यपूर्ण हों और संपूर्ण रूप से सिस्टम। ऐतिहासिक रूप से, इसका मतलब है कि हमने Gtk का उपयोग करके लिखे गए अनुप्रयोगों को बहुत मजबूत वरीयता दी है, क्योंकि एक ही डेवलपर टूलकिट के उपयोग से डिफ़ॉल्ट रूप से एक निश्चित मात्रा में सद्भाव आता है। कहा कि ओपनऑफ़िस और फ़ायरफ़ॉक्स के साथ शुरू से ही रहा है, Gtk स्पष्ट रूप से एक परम आवश्यकता नहीं है। अब मैं जो बहस कर रहा हूं वह यह है कि यह मूल्य जो महत्वपूर्ण हैं, और टूलकिट केवल उस अंत का एक साधन है। हमें एप्लिकेशन का मूल्यांकन इस आधार पर करना चाहिए कि वे कितनी अच्छी तरह से आवश्यकता को पूरा करते हैं, न कि उन्हें डेवलपर द्वारा किए गए तकनीकी विकल्पों के आधार पर पूर्वाग्रह से ग्रसित करें।

उबंटू डिफ़ॉल्ट इंस्टॉल के लिए एक ऐप का मूल्यांकन करने में, हमें पूछना चाहिए:

  • क्या यह मुफ्त सॉफ्टवेयर है?
  • क्या यह सर्वश्रेष्ठ-इन-क्लास है?
  • क्या यह सिस्टम सेटिंग्स और वरीयताओं के साथ एकीकृत करता है?
  • क्या यह अन्य अनुप्रयोगों के साथ एकीकृत करता है?
  • क्या यह उन लोगों के लिए सुलभ है जो माउस, या कीबोर्ड का उपयोग नहीं कर सकते हैं?
  • क्या यह बाकी सिस्टम के अनुरूप दिखता है और महसूस करता है?

बेशक, क्यूटी के डेवलपर की पसंद का पहले दो पर कोई प्रभाव नहीं है। Qt खुद लंबे समय तक GPL के तहत उपलब्ध रहा है, और हाल ही में LGPL के तहत उपलब्ध हुआ है। और क्यूटी के साथ लिखे गए सर्वश्रेष्ठ-इन-क्लास सॉफ्टवेयर बहुत हैं, यह एक बहुत ही सक्षम टूलकिट है।

सिस्टम सेटिंग्स और प्रीफ़, हालांकि, लंबे समय से क्यूटी और जीटीके के बीच घर्षण का कारण रहे हैं। सिस्टम सेटिंग्स और वरीयताओं के साथ एकीकरण एक प्रणाली पर "संबंधित" अनुप्रयोग की भावना के लिए महत्वपूर्ण है। यह उस एप्लिकेशन को प्रबंधित करने की क्षमता को प्रभावित करता है जो एक ही टूल का उपयोग करता है जो अन्य सभी अनुप्रयोगों को प्रबंधित करने के लिए उपयोग करता है, और सेटिंग्स और वरीयता अनुभव के प्रकार जो उपयोगकर्ता ऐप के साथ हो सकते हैं। यह परंपरागत रूप से उबंटू पर क्यूटी / केडीई अनुप्रयोगों के साथ एक समस्या रही है, क्योंकि जीटीके एप्लिकेशन सभी एक केंद्र-प्रबंधनीय प्राथमिकताओं की दुकान का उपयोग करते हैं, और केडीई एप्लिकेशन चीजों को अलग तरीके से करते हैं।

इसे संबोधित करने के लिए, Canonical Qt के लिए dconf बाइंडिंग के विकास को चला रहा है, ताकि Qt ऐप लिखना संभव हो, जो उबंटू में बाकी सभी चीजों की तरह ही सेटिंग फ्रेमवर्क का उपयोग करता है। हमने रेयान लोर्टी के साथ अनुबंध किया है, जो स्पष्ट रूप से डॉन्कफ को अच्छी तरह से जानता है, और वह कैन्यनिकल के कुछ लोगों के साथ काम करेगा जो ग्राहकों के लिए कस्टम विकास कार्य के लिए क्यूटी का उपयोग कर रहे हैं। हमें विश्वास है कि परिणाम Qt डेवलपर्स के लिए स्वाभाविक होगा, और dconf के शब्दार्थ और शैली की पूरी अभिव्यक्ति होगी।

क्यूटी टीम ने लंबे समय तक व्यापक उबंटू समुदाय में अच्छा काम किया है - हमारे पास हर छह महीने में यूडीएस में महान क्यूटी प्रतिनिधित्व है, कुबंटु टीम को क्यूटी पैकेजिंग और रखरखाव में गहन अनुभव और रुचि है, क्यूटी अपस्ट्रीम और विभिन्न के बीच बहुत अच्छा तकनीकी आदान-प्रदान है। कैनन सहित उबंटू समुदाय के कुछ हिस्सों। उदाहरण के लिए, Qt लोग uTouch को एकीकृत करने के लिए काम कर रहे हैं।

मैं स्पष्ट स्थानों में "क्यूटी" और "केडीई" के बीच एक अंतर आकर्षित करता हूं। KDE एप्लिकेशन को dconf सिस्टम कॉन्फ़िगरेशन के बारे में कुछ भी पता नहीं है, और परिणामस्वरूप Ubuntu डेस्कटॉप के साथ आसानी से एकीकृत नहीं किया जा सकता है। इसलिए हम जल्द ही किसी भी समय बंशी को बदलने के लिए अमारोक को प्रस्ताव देने जा रहे हैं! लेकिन मुझे लगता है कि यह पूरी तरह से प्रशंसनीय है कि एक बार यह Qt बाइंडिंग महान है, केडीई समुदाय द्वारा माना जाता है। अगर वे चाहें तो उस बातचीत का नेतृत्व करने के लिए बेहतर लोग हैं, इसलिए मैं इस विचार को आगे नहीं बढ़ाऊंगा। फिर भी, एक केडीई ऐप को मानक केडीई तंत्रों के अलावा डॉकन से बात करना सीखना चाहिए, जो सीधा होना चाहिए, यह उबंटू डिफ़ॉल्ट इंस्टॉल के लिए एक उम्मीदवार होगा।

Qt के लिए खुला होने का निर्णय किसी भी तरह से GNOME की आलोचना नहीं है। यह मुफ्त सॉफ्टवेयर की विविधता और जटिलता का उत्सव है। उपयोग में आसानी और एकीकरण के वे मूल्य GNOME के ​​साथ साझा किए गए मूल्य हैं, और GNOME डेवलपर्स और परियोजना के सदस्यों के साथ सहयोग का एक बड़ा आधार है। शायद गनोम खुद क्यूटी को गले लगाएगा, शायद नहीं, लेकिन अगर ऐसा होता है तो इस निशान को फूटने की हमारी इच्छा नेतृत्व में योगदान होगी। यदि आप कैनोनिकल तरीके से एक निश्चित मात्रा में विचलन को स्वीकार करते हैं, तो एक जीवंत पारिस्थितिकी तंत्र बनाना बहुत आसान है, इसलिए डिजाइन पर हमारा काम GNOME के ​​आसपास केंद्रित है, सेटिंग्स और वरीयताओं के साथ वर्तमान फोकस जैसा कि हम GNOME 3.0 और gtk3 में जाते हैं।

बेशक, यह उन लोगों के लिए एक सही अवसर है जो ऐसा करने के लिए उस रिश्ते पर मज़ाक उड़ाते हैं, लेकिन मेरे विचार में जो सबसे अधिक ठोस संबंध है, वह उन लोगों के साथ है जो वास्तव में GNOME बैनर के तहत आवेदन लिखते हैं। हम उन मुफ्त सॉफ्टवेयर डेवलपर्स के मामले में कड़ी मेहनत करने का सबसे अच्छा तरीका बनना चाहते हैं , जिससे हमारा मतलब है, यह सुनिश्चित करने का सबसे अच्छा तरीका हर दिन लाखों लोगों के जीवन में एक वास्तविक अंतर बनाता है, और उन्हें कनेक्ट करने का सबसे अच्छा तरीका है उनके उपयोगकर्ता।

ट्रोलटेक में अच्छे लोगों के लिए, अब नोकिया, जिन्होंने क्यूटी को एक महान टूलकिट बनाया है - धन्यवाद। डेवलपर्स जो इसका उपयोग करना चाहते हैं और उबंटू अनुभव का हिस्सा हैं - स्वागत है।


6
पिछले मैंने जाँच की क्यूटी पूरी तरह से मुक्त है। यह पहले ऐसा नहीं था, लेकिन अब सब कुछ मुफ्त है।
मारियो कमेंजाक

5
@VassilisGr Qt पिछले कुछ समय से GPL- संगत है (जो इसे अन्य GPL चीजों की तरह निःशुल्क बनाता है)। हालाँकि, क्यूटी के लिए समुदाय से एक कोड योगदान लेने के लिए, यह योगदान एक दोहरे लाइसेंस के तहत दिया जाना चाहिए, जो कि जिस भी कंपनी का क्यूटी का मालिक है, उसे कोड में एक गैर-जीपीएल लाइसेंस बेचने के लिए अनुमति देता है अगर कोई उन्हें भुगतान करता है। "फ्री फ्री इन फ्रीडम सॉफ्टवेयर" की स्टालमैन परिभाषा में कौन सी समस्या नहीं है (जब तक हम केवल उन लोगों से सॉफ्टवेयर लेने पर विचार करते हैं जो भुगतान नहीं करते थे और इस तरह जीपीएल का उपयोग कर रहे हैं ...) उबंटू भुगतान नहीं करेगा, और इस प्रकार GPL हो सकता है, जो लिनक्स वैसे भी है ... इतना ठीक है।
HostileFork

14

जीटीके + संकल्प स्वतंत्रता का समर्थन नहीं करता है, आधुनिक मोबाइल उपकरणों में अल्ट्रा उच्च पिक्सेल घनत्व हैं। यदि आप मोबाइल स्क्रीन पर GTK + एप्लिकेशन चलाते हैं, तो सभी उपयोगकर्ता इंटरफ़ेस तत्व अनुपयोगी होने के रूप में बहुत कम होंगे।

यह जीटीके + पर 2008 से एक खुला बग है, जब से 2014 में इसे बंद कर दिया गया था, "अब हमारे पास हाय-डीपीआई पैमाने का समर्थन है - यह काफी समान बात नहीं है, लेकिन इस बग को अप्रचलित करने के लिए पर्याप्त करीब है" टिप्पणी।

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

पर जीटीके + रोडमैप , संकल्प स्वतंत्रता जारी करने के लिए 4.0 के बाद, तो वे 4.0 तो प्रमुख रिलीज़ जारी करेंगे के बाद कि यह होगा की योजना बनाई है। यदि वे उस योजना से चिपके रहते हैं, तो भी डेस्कटॉप GNU / Linux को GTK + को छोड़ना होगा क्योंकि उच्च DPI डेस्कटॉप मॉनिटर और लैपटॉप मॉनिटर पहले से ही उपलब्ध हैं और नए सामान्य होने वाले हैं।


2

मेरा तकनीकी / व्यावहारिक कारणों पर ध्यान दें: नोकिया ने ट्रोलटेक खरीदा और क्यूटी में बहुत निवेश किया। इसके हल्के और मोबाइल प्लेटफ़ॉर्म की ओर अनुकूलन के वर्ष हैं। नोकिया की आपकी वर्तमान राय के बावजूद, N900 अपने समय से आगे था ... और यह डेबियन / क्यूटी आधारित था ... लेकिन कीमत थी। हालाँकि, मुझे निर्णयों का कोई वास्तविक ज्ञान नहीं है।


2
क्यूटी भी काफी अधिक पोर्टेबल है। एक डेवलपर के लिए हिरन के लिए अधिक धमाके, जो क्यूटी का उपयोग करके एक एप्लिकेशन बनाता है, क्योंकि वे कई लोगों के मूल समर्थन पाएंगे, कई और ओएस के - एंड्रॉइड, ब्लैकबेरी, विंडोज मोबाइल, वेबओएस अन्य। और निश्चित रूप से मैक ओएस और विंडोज। क्यूटी भी अधिक योगदानकर्ताओं से लाभान्वित होता है।
माइक स्टीवर्ट

1

उबंटू सीटीओ मैट ज़िम्मरमैन का ब्लॉग भी जानकारीपूर्ण है:

यह इस भावना में है कि मैं हाल ही में क्यूटी के बारे में सोच रहा हूं। हम इसे उबंटू के लिए अनुप्रयोगों को विकसित करने के लिए तेज, आसान और दर्द रहित बनाना चाहते हैं, और क्यूटी एप्लिकेशन डेवलपर्स के लिए खोज करने के लिए एक विकल्प है। इस बारे में सोचने पर, मुझे एहसास हुआ कि Qt की शक्तियों और उबंटू में कुछ नई दिशाओं के बीच काफी समानता है:

  • क्यूएम का एआरएम पर उपयोग के साथ-साथ x86 का एक लंबा इतिहास है , एम्बेडेड उपकरणों पर लोकप्रिय होने के कारण। 10 वर्षों से एआरएम पर क्यूटी का उपयोग करके उपभोक्ता उत्पाद बनाए गए हैं। अब हम लगभग दो वर्षों के लिए एआरएम के लिए उबंटू उत्पाद उपलब्ध करा रहे हैं, और 10.10 पहले से कहीं अधिक एआरएम बोर्डों का समर्थन करता है, जिसमें फ्रीस्केल, मार्वल और टीआई से संदर्भ बोर्ड शामिल हैं। Qt ARMv7 ऑप्टिमाइज़ेशन जोड़ रहा है ताकि नवीनतम ARM चिप्स को लाभ मिल सके। हम सॉफ्टवेयर की पसंद का त्याग किए बिना ओईएम को हार्डवेयर की पसंद की पेशकश करने के लिए ऐसा करते हैं। Qt एप्लिकेशन डेवलपर्स के लिए इसी विकल्प को संरक्षित करता है।
  • Qt एक क्रॉस-प्लेटफॉर्म एप्लिकेशन फ्रेमवर्क है, जिसमें विंडोज, मैकओएस और अधिक के लिए आधिकारिक पोर्ट और एंड्रॉइड, आईफोन और वेबओएस के लिए प्रयोगात्मक सामुदायिक पोर्ट हैं। मजबूत क्रॉस-प्लेटफ़ॉर्म समर्थन क्यूटी के मूल सिद्धांतों में से एक था, और यह आधिकारिक बंदरगाहों की परिपक्वता में दिखाता है। उबंटू लाइट को विंडोज़ के साथ कंप्यूटर पर स्थापित किया जा रहा है, और उबंटू वन एंड्रॉइड और आईफोन पर लैंडिंग के साथ, हमें अन्य प्लेटफार्मों के साथ इंटरऑपरेबिलिटी की आवश्यकता है। डेवलपर्स की एक बड़ी आबादी भी है जो पहले से ही विंडोज को लक्षित करना जानते हैं, जो उबंटू उपयोगकर्ताओं तक पहुंचने के साथ-साथ क्यूटी चुन सकते हैं।
  • क्यूटी में एक काफी परिपक्व स्पर्श इनपुट प्रणाली है, जिसमें अब मल्टी-टच और जेस्चर (क्यूएमएल सहित) के लिए समर्थन है, हालांकि यह केवल विंडोज 7 और मैक ओएस एक्स 10.6 पर पूरा होता है। इस बीच, कैननिकल क्यूटी और अन्य टूलकिट के लाभ के लिए लिनक्स और एक्स 11 के लिए एक निम्न-स्तरीय मल्टी-टच फ्रेमवर्क विकसित करने के लिए समुदाय के साथ काम कर रहा है। ये प्रयास अंततः बीच में मिलेंगे।

कुल मिलाकर, मुझे लगता है कि क्यूटी के पास ऐसे लोगों की पेशकश करने के लिए बहुत कुछ है जो उबंटू के लिए (और) विशेष रूप से अब के लिए आवेदन विकसित करना चाहते हैं। यह पहले से ही VLC जैसे लोकप्रिय क्रॉस-प्लेटफ़ॉर्म अनुप्रयोगों को अधिकार देता है, न कि पूरे कुबंटु वितरण का उल्लेख करने के लिए। पिछले साल ऐसा होने पर मुझे यह याद आया, लेकिन Qt अब LGPL 2.1 या GPL 3.0 के तहत उपलब्ध है, जो इसे लगभग किसी भी उबंटू एप्लिकेशन के लिए उपयुक्त बनाना चाहिए। इसमें मजबूत वाणिज्यिक समर्थन के साथ-साथ एक बड़े डेवलपर समुदाय भी हैं। कोई भी समाधान सभी डेवलपर्स की जरूरतों को पूरा नहीं करेगा, और उबंटू इस कारण से कई टूलकिट और फ्रेमवर्क का समर्थन करता है, लेकिन क्यूटी आगे सड़क के लिए हमारे टूलबॉक्स में एक महान उपकरण की तरह लगता है।

इस ब्लॉग पोस्ट पर चर्चा करने वाला एक Ars Technica लेख कुछ अंतर्दृष्टि प्रदान करता है:

Qt तीसरे पक्ष के डेवलपर्स को लिनक्स में ला सकता है

यद्यपि Gtk + का अभी भी मूल्य है और देशी लिनक्स सॉफ्टवेयर के निर्माण के लिए इसका उपयोग जारी रखने के लिए कई कारण हैं, Qt अब ISVs के लिए स्पष्ट विकल्प है जो कई प्लेटफार्मों को लक्षित कर रहे हैं। Qt मूल रूप से अंतर्निहित प्लेटफ़ॉर्म के मूल स्वरूप और अनुभव के अनुरूप या पूरी तरह से कस्टम उपयोगकर्ता इंटरफ़ेस का निर्माण करना आसान बनाता है जो कि लक्ष्य डिवाइस या प्रपत्र कारक के अनुकूल है।

चूंकि नोकिया और इंटेल MeeGo को कई तरह के उपकरणों के साथ लाते हैं, इसलिए यह कुछ प्रमुख वाणिज्यिक सॉफ़्टवेयर विक्रेताओं को आकर्षित करने वाला है। उन सॉफ्टवेयर कंपनियों के लिए यह आसान होगा कि वे अपने मोबाइल क्यूटी एप्लिकेशन को लिनक्स डेस्कटॉप पर उसी कोड का उपयोग करके लाएं जो वे MeeGo पर उपयोग करते हैं। क्यूटी को विशेष रूप से आसान बनाने के लिए डिज़ाइन किया गया है। यह डेस्कटॉप लिनक्स के लिए एक बहुत बड़ी जीत होगी क्योंकि यह तृतीय-पक्ष एप्लिकेशन लाएगा जो अन्यथा उपलब्ध नहीं होंगे।

यह ध्यान देने योग्य है कि कुछ प्रमुख मोबाइल सॉफ्टवेयर विक्रेता पहले से ही टूलकिट के लिए नोकिया के समर्थन के कारण क्यूटी को उत्सुकता से गले लगा रहे हैं। उदाहरण के लिए, मोबाइल वीडियो स्ट्रीमिंग कंपनी Qik, MeeGo को लाने के उद्देश्य से अपने लोकप्रिय एप्लिकेशन के प्रायोगिक Qt- आधारित पोर्ट पर काम कर रही है।

लेख के लेखक ग्विबर आईएम ऐप के निर्माता हैं, इसलिए उन्हें लिनक्स के लिए जीयूआई विकसित करने का कुछ अनुभव है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.