QGIS 3.0 - како, кога и што; имплицира

Многумина се прашуваат:

Кога ќе се ослободи QGIS 3.0?

Минатата година (2015) проектниот тим почна да истражува кога и како требаше да биде пуштен QGIS 3.0. Тие ветија, според еден пост од Анита Грасе, дека тие јасно ќе им ги пренесат на корисниците и програмерите на нивните планови пред да започне QGIS 3.0. Неодамна тие се обиделе да изложат некои од размислувањата за лансирање на QGIS 3.0 и на крајот на работното место постои можност за нас да ги претставиме нашите идеи.

Зошто 3.0?

QGis_LogoОбично голема верзија е резервирана за времиња кога е направена голема промена на API на вашиот софтвер. Оваа пауза не е тривијална одлука за QGIS проектот, бидејќи сме стотици илјади корисници кои зависат од QGIS, како за нивна сопствена употреба, така и за услуги што им се обезбедуваат на трети лица.

Повремено кршењето на API е неопходно за да се прилагоди на надградбата на архитектурата со подобрени пристапи, нови библиотеки и корекции на одлуките донесени во минатото.

Кои се последиците од кршењето на API?

Една од причините зошто ова кршење на API во QGIS 3.0 е дека тоа ќе има големо влијание, како што може да се скрши развиените стотици додатоци, кои повеќе нема да биде компатибилен со новиот API и авторите на овие треба да направите преглед на нивните случувања за да се обезбеди компатибилност со новиот API.

Степенот на потребните промени во голема мера зависи од:

  • Колку промени на API влијаат на тековната функционалност.
    Во колку поени авторите на приклучоците користат делови од API-то што ќе го променат.
  • Кои ќе бидат главните промени за 3.0?

Постојат четири клучни области што сакате да ги промените во 3.0:

Qt4 ажурирање на QT5: Ова е основниот пакет на библиотеки во кои QGIS е изграден на највисоко ниво, зборуваме за CORE-функционалното ниво на платформата. QT исто така обезбедува библиотеки за управување со мумии, операции за поврзување и управување со графики. Qt4 (на кој моментално се наоѓа QGIS) во моментов не се развива од одговорните за библиотеката Qt и може да има проблеми во однос на функционалноста со некои платформи (на пример, OS X), па дури и да го олесни управувањето со бинарни верзии (на пример, Дебиан тестирање и следната верзија на Дебиан "Рашири"). Процесот на донесување на QGIS на QT5 веќе има важен пробив (главно тоа што го направи Матијас Кун) што заедно со Марко Бернаночи пушат на Android «QField», базиран целосно на QT5. Сепак, постојат некои ограничувања при лансирањето на новиот QT5 заради неговото влијание врз QGIS - особено со графичките контроли на веб-прелистувачи (главно користени во Композиторот и некои други места во QGIS).

Ажурирај PyQt4 во PyQt5: Овие промени се однесуваат на јазикот Пајтон за Qt во API на QGIS Пајтон се базира. Се јавува промена на QT5 C ++ библиотеката, исто така, се очекува да се префрли на PyQt5 Пајтон библиотека, така што тие можат да ги искористат предностите на нови API во Python QT5.
2.7: Ажурирање на Python 3 во Пајтон Во моментов сè работи на Python 2.7. Python 3 е најновата верзија на python и се препорачува од оние кои го водат тој проект. Пајтон е малку некомпатибилна со 2 3 Python (во речиси пропорционална на некомпатибилност помеѓу QGIS ќе 2 3 и QGIS мерка). Многу програмери го направија Python Python 3 во голема мера компатибилен со претходните верзии на Python 2, но обратната компатибилност не е толку добра.
Подобрување на QGIS API себе: Еден од проблемите со одржување на компатибилноста на API помеѓу верзиите е тоа што треба да живеете со вашите опции за дизајн долго време. Во QGIS се прават сите напори да не се сруши API во низа мали изданија. Отклучувањето на QGIS-верзијата за 3.0 со API што не е компатибилно со струјата, ќе даде можност да се "исчисти куќата" со фиксирање на нештата во API во коишто се наоѓаме со неконтролирање. Може да видите привремен список на предложените промени за 3.0 API.

Како да ја поддржите промената на 3.0 API

Како што веќе рековме, верзијата 3.0 пауза со QGIS верзија 2.x предизвика и постои можност дека многу додатоци, постоечките апликации и други кодови се врз основа на сегашните оштетување API. Значи, што може да се направи за да се ублажат промените? Матијас Кун, Јирген Фишер, Nyall Досон, Мартин Dobias и други големи програмери се во потрага по начини за намалување на бројот на API кршење промени додека сеуште унапредување кодот QGIS основа се базира на следната генерација на библиотеките и нивните интерни API. За време на нашиот последен состанок на Управниот комитет на QGIS проектот беше геофому преку неколку можности. Следната табела го сумира она што Матиас Кун љубезно ги сумираше и за што делумно се обидовме да го транслитерираме во оваа статија според она што објавено на вашиот блог:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Датум на издавање Крај на февруари 4 месеци подоцна 2.14 Циклус 8 месеци?
Сметки Ажурирајте го Python кодот од јадрото QGIS како Python 3 компатибилен и компатибилен со PyQt5 (делумна имплементација за клучните функционалности, на пр. Конзола, python core додатоци итн.)
Qt4 Si

Заостанато во дебелиот раст (поради една година)

(отстранети webkit)

Да Не
Qt5 Не

Пропушта QWebView - нова замена не на сите платформи. Исто така го пропушта QPainter Engine.

Si Si
PyQt4 Si Si Не
PyQt5 Не Si Si
Пајтон 2 Si Si Не
Пајтон 3 Не Si Si
Чистење API Не Не Si
Омоти
PyQt5 -> PyQt4
Обезбедува ~ 90% Назад Компатибилност
Не Si Si
Меинстрим Бинарни Врз основа Qt4 Врз основа Qt4 Врз основа Qt5
Приоритет за финансирање Патонски омоти

Постојат две важни работи кои треба да се имаат предвид во врска со предлогот на Матијас:

Во првата фазаРаботата се врши во серијата да заврши 2.x поддршка QT5, PyQt5 користење Пајтон 3.0, поддршка Qt4, PyQt4 и Python 2.7. Ова значи дека сите промени направени во првата фаза ќе бидат компатибилни со претходните верзии на 2.x. Пајтон карактеристики ќе бидат вклучени ќе бидат воведени, така што старите API PyQt4 се уште може да се користи особено кога состави против QT5, PyQt5, python 3.0. Кога го користите QGIS компајлиран против Qt4, PyQt4 и Python 2.7, нема да има компатибилност со дефект.
Во втората фазаТоа ќе работат за да се произведе QGIS 3.0, воведување на нови API, целосно отстранување на Python 2.7, вклучувајќи поддршка за Qt4 и PyQt4. Нови можности во Пајтон да влезат во првата фаза ќе се одржува, земајќи ги предвид сите код Пајтон и случувања за 2.x верзии на QGIS продолжи да работи на верзија на QGIS 3.x. Во оваа фаза, исто така, се очекува да внесете промени во QGIS API што може да ги скрши некои приклучоци. За да одговориме на ова, ќе обезбедиме водич за миграција за да се обидеме да го олесниме процесот на миграција од 2.x QGIS верзиите до верзии 3.x QGIS.

Имиња на закани

Постојат неколку трикови кои треба да се постават за да се обезбеди дека миграцијата кон QGIS 3.0 звучи помалку болно.

  • 1. SТреба да се напомене дека, иако приодот што е наведен погоре е наменет за минимизирање на висината на работата во питон-скриптирањето во приклучоците, ова не мора да биде во 100%. Најверојатно ќе има случаи кога кодот мора да се прилагоди и во сите случаи, најверојатно, ќе треба да се прегледаат со цел да се осигура дека таа продолжува правилно да функционира.
    2. Не постои формално воспоставен финансиски ресурс за плаќање на програмери кои доброволно го инвестираат своето време во овој процес на миграција. Поради ова, ќе биде многу тешко да се дадат точни временски рамки за тоа колку долго ќе потрае секој дел од процесот. Оваа неизвесност мора да се земе предвид при планирањето. Се разбира, донациите се добредојдени да помогнат да се случи ова.
    3. Може да има програмери и институции таму кои финансираат нови функции за серијата 2.x QGIS и ова може да влијае на нивната работа. Во плановите и буџетите на овие проекти, мора да бидат вклучени и некои алокација за решавање на миграцијата кон 3.x платформата на QGIS.
    4 Ако тимот на QGIS работи на „целосна промена“, ќе има релативно кратко време за време на кое QGIS ќе биде нестабилно и постојано се менува заради тековните ажурирања на QGIS 3.0.
    4 Ако се развие на „еволутивен“ начин, постои ризик дека развојот на 3.0 може да потрае подолго, освен ако не постои верна група на развивачи кои работат на ова и ги подготвуваат да мигрираат.

    Предлози

Во светло на сите горенаведени информации, се предлага една од двете насоки:

1 Предлог:

Овозможи привремена верзија на 2.16, а потоа да почне да работи на верзијата 3.0 како приоритет, со прозорец за развој на 8 месеци. Промените направени во верзијата 2.16 ќе изгледаат компатибилни со верзијата 3.0 (види python3 / pytq5).

2 Предлог:

Поставете 3.0 одеднаш со подолг прозорец на QT5, Python 3.0 и PyQt5, и побарајте од програмерите да ја завршат својата работа на 3.0. Продолжете со верзии на 2.x во редовни интервали додека 3.0 не е подготвен.

Алтернативни предлози

Дали имате алтернативен предлог? QGIS е заинтересиран за познавање на можните алтернативи. Ако сакате да поднесете предлог, ве молиме пратете tim@qgis.org со предметот „Предлог QGIS 3.0“.

На QGIS блог, каде што излезе оваа публикација.

Остави одговор

Вашата е-маил адреса нема да бидат објавени.

Оваа страница користи Akismet за намалување на спам. Дознајте како се обработуваат податоците од вашиот коментар.