QGIS 3.0 - कैसे, कब और क्या; माध्यम

कई लोग खुद से पूछ रहे हैं:

QGIS 3.0 को कब जारी किया जाएगा?

पिछले साल (2015) प्रोजेक्ट टीम ने जांच की शुरूआत की कि कब और कैसे रिलीज़ होना चाहिए QGIS 3.0। उन्होंने वादा किया था, से एक पोस्ट के अनुसार अनीता ग्रासर, कि वे QGIS 3.0 लॉन्च करने से पहले अपनी योजनाओं के उपयोगकर्ताओं और डेवलपर्स को स्पष्ट रूप से बताएंगे। हाल ही में उन्होंने QGIS 3.0 लॉन्च करने के लिए कुछ विचारों का पर्दाफाश करने की कोशिश की है और पोस्ट के अंत में हमारे विचारों को प्रस्तुत करने का एक अवसर है।

क्यों 3.0?

QGis_Logoआम तौर पर एक प्रमुख संस्करण ऐसे समय के लिए आरक्षित होता है जब आपके सॉफ़्टवेयर के एपीआई में बड़ा परिवर्तन किया जाता है। यह विराम QGIS परियोजना के लिए एक तुच्छ निर्णय नहीं है क्योंकि हम सैकड़ों हजार उपयोगकर्ता हैं जो कि QGIS पर निर्भर करते हैं, दोनों अपने स्वयं के उपयोग के लिए और तृतीय पक्षों को प्रदान की गई सेवा के लिए।

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

एपीआई को तोड़ने के क्या परिणाम हैं?

इसका एक कारण यह QGIS 3.0 में एपीआई के इस उल्लंघन है कि यह एक बड़ा प्रभाव है, जो विकसित करने वाले प्लग इन अब नई एपीआई के साथ संगत होगा के सैकड़ों और इन के लेखकों को तोड़ सकते थे करने के लिए है होगा नए एपीआई के साथ संगतता सुनिश्चित करने के लिए उनके विकास की समीक्षा

आवश्यक परिवर्तनों की सीमा इस पर काफी हद तक निर्भर करता है:

  • एपीआई में कितने परिवर्तन मौजूदा कार्यक्षमता को प्रभावित करते हैं
    प्लगिन लेखकों ने एपीआई के कुछ हिस्सों का इस्तेमाल किया है, जो कि वे बदलते हैं, कितने बिंदु पर।
  • 3.0 के मुख्य बदलाव क्या होंगे?

चार प्रमुख क्षेत्रों में आप 3.0 में परिवर्तन करना चाहते हैं:

QT4 को अपडेट करें QT5: यह पुस्तकालयों का मूल सेट है जिसमें QGIS को शीर्ष स्तर पर बनाया गया है, हम मंच के CORE-कार्यात्मक स्तर के बारे में बात कर रहे हैं। क्यूटी पल-पल प्रबंधन, कनेक्टिविटी संचालन और ग्राफिक्स प्रबंधन करने के लिए पुस्तकालय भी प्रदान करता है। Qt4 (जिसमें QGIS वर्तमान में आधारित है) वर्तमान में Qt लाइब्रेरी के प्रभारी लोगों द्वारा विकसित नहीं किया जा रहा है और कुछ प्लेटफार्मों (उदाहरण के लिए, OS X) और यहां तक ​​कि बाइनरी संस्करणों के प्रबंधन की सुविधा के साथ कार्यक्षमता के मामले में समस्या हो सकती है। (उदाहरण के लिए डेबियन परीक्षण और डेबियन के अगले संस्करण «स्ट्रेच»)। QGIS को QT5 में लाने की प्रक्रिया में पहले से ही एक महत्वपूर्ण अग्रिम है (मुख्य रूप से मैथियस कुह्न ने जो किया है) जो कि पूरी तरह से QT5 पर आधारित एंड्रॉइड «QField» पर मार्को बर्नोसोची के धुएं के साथ है। हालाँकि, QGIS पर इसके प्रभाव के कारण नए QT5 को लॉन्च करने में कुछ सीमाएँ हैं - विशेष रूप से वेब ब्राउज़र विजेट्स के साथ (मुख्य रूप से संगीतकार और क्यूजीआईएस में कुछ अन्य स्थानों पर भी उपयोग किया जाता है)।

PyQt4 को PyQt5 में अपडेट करें: इन परिवर्तनों QGIS अजगर एपीआई में क्यूटी के लिए अजगर भाषा से जुड़े हुए हैं आधारित है। QT5 सी ++ पुस्तकालय बदल उठता है, भी PyQt5 अजगर पुस्तकालय के लिए स्थानांतरण करने के लिए इतना है कि वे अजगर QT5 में नए एपीआई के लाभों का लाभ ले सकते उम्मीद है।
2.7: पायथन के लिए पायथन 3 को अद्यतन करना वर्तमान में सब कुछ पायथन 2.7 पर चलता है। पायथन 3 अजगर का नवीनतम संस्करण है और उन प्रोजेक्ट को आगे बढ़ाने वाले लोगों द्वारा अनुशंसित है। अजगर 2 3 अजगर के साथ थोड़ा असंगत (लगभग एक QGIS के बीच असंगति 2 और 3 QGIS उपाय होगा के लिए आनुपातिक में) है। कई डेवलपर्स अजगर अजगर 3 काफी हद तक अजगर 2 के पिछले संस्करणों के साथ संगत किया है, लेकिन पश्च संगतता के रूप में अच्छा नहीं है।
QGIS API को स्वयं सुधारना: उन समस्याओं में से एक जो संस्करणों के बीच एपीआई संगतता बनाए रखती है, आपको लंबे समय तक अपने डिजाइन विकल्पों के साथ रहना होगा। QGIS में, हर कोशिश की जाती है कि मामूली रिलीज की एक श्रृंखला के भीतर एपीआई को न तोड़े। एक एपीआई के साथ 3.0 के लिए क्यूजीआईएस संस्करण जारी करना, जो वर्तमान के साथ संगत नहीं है, एपीआई में उन चीजों को ठीक करके "घर को साफ" करने का अवसर देगा, जिनके साथ हम गैर-संपर्क हैं। आप की अनंतिम सूची देख सकते हैं 3.0 API के लिए प्रस्तावित परिवर्तन.

3.0 API को बदलने का समर्थन कैसे करें

जैसा कि पहले ही उल्लेख किया है, संस्करण 3.0 QGIS संस्करण के साथ एक को तोड़ने का कारण 2.x और वहाँ संभावना है कि कई प्लग, मौजूदा अनुप्रयोगों और अन्य कोड वर्तमान एपीआई टूटना के आधार पर कर रहे हैं। तो परिवर्तनों को कम करने के लिए क्या किया जा सकता है? मैथिअस कुहन, जुरगेन फिशर, नयाल डॉसन, मार्टिन डोबियस और अन्य प्रमुख डेवलपर्स तरीके, जबकि अभी भी आगे बढ़ आधार कोड QGIS पुस्तकालयों की अगली पीढ़ी और अपने स्वयं के आंतरिक एपीआई के आधार पर किया एपीआई तोड़ने परिवर्तन की संख्या कम करने के लिए की तलाश में की है। परियोजना की संचालन समिति की हमारी पिछली बैठक के दौरान, कई संभावनाओं के माध्यम से जिओफ़ोमो परियोजना थी। निम्नलिखित सारणी में संक्षेप में कहा गया है कि मथाथ कुहने ने क्या अभिव्यक्त किया और जो हमने आंशिक रूप से इस लेख में लिप्यंतरण करने की कोशिश की है आपके ब्लॉग पर पोस्ट किया:


QGIS 2.14 एलटीआर
QGIS 2.16 ??? QGIS 3.0
Fecha डे lanzamiento फरवरी की समाप्ति 4 महीने बाद 2.14 साइकिल 8 महीने?
विधेयकों Python 3 संगत और PyQt5 संगत होने के लिए कोर क्यूजीआईएस के अजैक्स कोड को अपडेट करें (प्रमुख कार्यक्षमता जैसे कंसोल, पायथन कोर प्लगइंस इत्यादि के लिए आंशिक कार्यान्वयन आदि)
Qt4 Si

डेबियन स्ट्रेच में पदावनत (एक वर्ष में)

(वेबकिट निकाल दिया गया)

हाँ नहीं
Qt5 नहीं

मिस्ड QWebView - सभी प्लेटफ़ॉर्म पर नये प्रतिस्थापन नहीं। इसके अलावा QPainter इंजन की भी याद आती है

Si Si
PyQt4 Si Si नहीं
PyQt5 नहीं Si Si
अजगर 2 Si Si नहीं
अजगर 3 नहीं Si Si
एपीआई क्लीनअप नहीं नहीं Si
रैपर
PyQt5 -> PyQt4
प्रदान करता है ~ 90% पश्चगामी संगतता
नहीं Si Si
मुख्यधारा बाइनरी Qt4 आधारित Qt4 आधारित Qt5 आधारित
वित्तपोषण प्राथमिकता पायथन रैपरर्स

मतियास के प्रस्ताव के बारे में ध्यान रखने के लिए दो महत्वपूर्ण बातें हैं:

पहले चरण में, यह काम 2.x श्रृंखला में किया जाता है ताकि QT5, PyQt5 के लिए समर्थन पूरा किया जा सके, Python 3.0 का उपयोग कर, Qt4, PyQt4 और पायथन 2.7 का समर्थन किया जा सके। इसका अर्थ है कि पहले चरण में किए गए सभी परिवर्तन पहले 2.x संस्करणों के साथ संगत होंगे। यह शामिल होगा कि अजगर की कार्यक्षमताओं को पेश किया जाएगा ताकि पुराने PyQt4 एपीआई का उपयोग विशेष रूप से तब किया जा सकता है जब QT5, PyQt5, पायथन 3.0 के विरुद्ध संकलित हो। Qt4, PyQt4 और पायथन 2.7 के खिलाफ संकलित QGIS का उपयोग करते समय कोई ब्रेक संगतता नहीं होगी।
दूसरे चरण मेंयह QGIS 3.0 निर्माण करने के लिए, नई एपीआई शुरू करने, पूरी तरह से अजगर 2.7 निकालने के लिए, Qt4 और PyQt4 के लिए समर्थन सहित काम करेगा। पहले चरण में प्रवेश अजगर में नई सुविधाएँ बनाए रखा जाएगा, खाते में सभी अजगर कोड और QGIS की 2.x संस्करणों के लिए घटनाक्रम QGIS की 3.x संस्करणों पर काम करना जारी लेने। इस चरण में यह भी उम्मीद है कि कुछ प्लगइन्स को तोड़ सकते हैं जो कि QGIS API में परिवर्तनों को पेश करने की उम्मीद है। पता करने के लिए इस संस्करण के प्रवास 2.x QGIS 3.x QGIS संस्करणों की सुविधा के लिए प्रयास करने के लिए मार्गदर्शन आ प्रवास प्रदान करेगा।

चेतावनी एपिटर

यह सुनिश्चित करने के लिए कि जो कुछ क्यूजीआईएस 3.0 के लिए माइग्रेशन कम दर्दनाक है, वहाँ कुछ चालें हैं।

  • 1। एसयह ध्यान दिया जाना चाहिए कि ऊपर दिए गए दृष्टिकोण प्लग-इन में अजगर स्क्रिप्टिंग में काम की मात्रा को कम करने का इरादा है, यह जरूरी नहीं कि 100% में होगा। सबसे ज्यादा ऐसे मामलों होंगे जहां कोड को समायोजित किया जाना चाहिए और कम से कम सभी मामलों में, यह सुनिश्चित करने के लिए शायद इसकी समीक्षा की जानी चाहिए कि यह ठीक से कार्य कर रहा है।
    2। ऐसे डेवलपर को भुगतान करने के लिए कोई औपचारिक रूप से स्थापित वित्तीय संसाधन नहीं है, जो इस माइग्रेशन प्रक्रिया में स्वेच्छा से अपने समय का निवेश करते हैं। इस वजह से, इस प्रक्रिया के प्रत्येक भाग में कितने समय लगेगा पर सटीक समय-सीमाएं देना बहुत कठिन होगा। योजना में इस अनिश्चितता को ध्यान में रखा जाना चाहिए। बेशक यह होने में मदद करने के लिए दान का स्वागत है।
    3। वहाँ से बाहर डेवलपर्स और संस्थान हो सकते हैं जो 2.x QGIS श्रृंखला के लिए नई सुविधाओं के वित्तपोषण कर रहे हैं और यह उनके काम को प्रभावित कर सकता है। इन परियोजनाओं की योजनाओं और बजट में शामिल, कुछ आवंटन, जो कि QGIS के 3.x प्लेटफॉर्म के लिए प्रवासन को संबोधित करते हैं।
    4। यदि QGIS टीम "कुल परिवर्तन" पर काम करती है, तो अपेक्षाकृत कम समय होगा, जिसके दौरान QGIS अस्थिर होगा और QGIS 3.0 के लिए चल रहे अपडेट के कारण लगातार बदल रहा है।
    4। यदि यह एक "विकासवादी" तरीके से विकसित होता है, तो एक जोखिम है कि 3.0 विकास में अधिक समय लग सकता है जब तक कि इस पर काम करने वाले डेवलपर्स का एक निष्ठावान समूह नहीं होता है और यह पलायन के लिए तैयार हो जाता है।

    प्रस्तावों

उपरोक्त सभी सूचनाओं के प्रकाश में, कार्रवाई की दो पंक्तियों में से एक का प्रस्ताव है:

1 प्रस्ताव:

एक अंतरिम 2.16 संस्करण रिलीज़ करें और फिर 3.0 संस्करण पर 8 महीनों की विकास विंडो के साथ प्राथमिकता के रूप में काम करना शुरू करें। 2.16 संस्करण में किए गए परिवर्तन 3.0 संस्करण के साथ संगत होना दिखेगा (देखें python3 / pytq5)।

2 प्रस्ताव:

QT3.0, पायथन 5 और PyQt3.0 पर एक लंबी अवधि वाली विंडो के साथ एक बार में 5 लॉन्च करें, और डेवलपर्स को अपने कार्य को 3.0 पर करने के लिए कहें। 2 के तैयार होने तक 3.0.x संस्करणों के साथ नियमित अंतराल पर जारी रखें।

वैकल्पिक प्रस्ताव

क्या आपके पास एक वैकल्पिक प्रस्ताव है? QGIS संभव विकल्पों के बारे में जानने में रुचि रखता है यदि आप प्रस्ताव सबमिट करना चाहते हैं, तो कृपया भेजें tim@qgis.org "QGIS 3.0 प्रस्ताव" विषय के साथ।

का पालन करना चाहिए QGIS ब्लॉग, जहां यह प्रकाशन बाहर आया था।

एक टिप्पणी छोड़ दो

आपका ईमेल पता प्रकाशित नहीं किया जाएगा।

यह साइट स्पैम को कम करने के लिए अकिस्मेट का उपयोग करती है। जानें कि आपका टिप्पणी डेटा कैसे संसाधित किया जाता है.