QGIS 3.0 - Hvernig, hvenær og hvað; það gefur í skyn

Margir eru að spyrja okkur:

Hvenær verður QGIS 3.0 sleppt?

Á síðasta ári (2015) byrjaði verkefnið að rannsaka hvenær og hvernig QGIS 3.0 var sleppt. Þeir lofuðu, samkvæmt færslu frá Anita Graser, sem þeir ætluðu að koma greinilega á framfæri við notendur og forritara áætlana sinna áður en þeir gáfu út QGIS 3.0. Þeir hafa nýlega reynt að afhjúpa nokkrar af sjónarmiðum varðandi útgáfu QGIS 3.0 og í lok færslunnar er tækifæri fyrir okkur að koma hugmyndum okkar á framfæri.

Af hverju 3.0?

QGis_LogoVenjulega er aðalútgáfa frátekin fyrir tíma þegar mikil breyting er gerð á forritaskilum hugbúnaðarins. Þetta brot er ekki léttvæg ákvörðun fyrir QGIS verkefnið þar sem við erum hundruð þúsunda notenda sem eru háðir QGIS, bæði til eigin nota og fyrir þjónustu sem veitt er þriðja aðila.

Stundum brjóta API er nauðsynlegt til að mæta uppfærslu á arkitektúrinu með betri aðferðum, nýjum bókasöfnum og leiðréttingum við ákvarðanir sem gerðar hafa verið áður.

Hverjar eru afleiðingar þess að brjóta API?

Ein af ástæðunum fyrir því að þetta brot á API í QGIS 3.0 er að það muni hafa mikil áhrif, sem gæti brotið hundruð þróaða viðbætur sem ekki lengur væri í samræmi við nýja API og höfundar þessara myndu verða að gera endurskoðun á þróun þeirra til að tryggja samhæfni við nýja API.

Umfang nauðsynlegra breytinga byggist að miklu leyti á:

  • Hversu mörg breyting á API hefur áhrif á núverandi virkni.
    Hve mörg stig höfundar tappi hafa notað hluta API sem þeir myndu breyta.
  • Hvað verða helstu breytingar fyrir 3.0?

Það eru fjögur lykilatriði sem þú ert að leita að breyta í 3.0:

 

Qt4 uppfærsla til QT5: Þetta er grunnsett bókasafna þar sem QGIS er byggt á efsta stigi, við erum að tala um CORE-hagnýtur stig vettvangsins. QT býður einnig upp á bókasöfn til að framkvæma minnisstjórnun, tengingaraðgerðir og grafíkstjórnun. Qt4 (sem QGIS byggir nú á) er ekki í þróun núna af þeim sem bera ábyrgð á Qt bókasafninu og gæti haft vandamál varðandi virkni á sumum kerfum (til dæmis OS X) og jafnvel auðveldað stjórnun tvöfaldra útgáfa (til dæmis Debian Testing og væntanleg Debian „Stretch“ útgáfa). Ferlið við að koma QGIS í QT5 hefur nú þegar mikilvæga framfarir (aðallega það sem Matthias Kuhn hefur gert) sem ásamt Marco Bernasocchi reykja á Android «QField» byggt alfarið á QT5. Hins vegar eru nokkrar takmarkanir við að opna nýja QT5 vegna áhrifa þess á QGIS - einkum með búnaði vefskoðara (aðallega notað í Composer og einnig sumum öðrum stöðum í QGIS).

Uppfæra PyQt4 til PyQt5: Þetta eru hlutfallslegar breytingar á Python tungumálinu fyrir Qt sem QGIS Python API er byggt á. Vaknar breyta QT5 C ++ bókasafn, er gert ráð fyrir að flytja til PyQt5 Python bókasafnið þannig að þeir geti nýtt sér ávinninginn af nýju API í Python QT5.
2.7: Uppfærsla Python 3 til Python Eins og er gengur allt á Python 2.7. Python 3 er nýjasta útgáfan af python og er mælt með því af þeim sem leiða það verkefni. Python 2 er aðeins ósamrýmanlegt Python 3 (næstum í réttu hlutfalli við ósamrýmanleika QGIS 2 og Qgis 3). Margir verktaki hafa gert Python Python 3 að mestu afturábak samhæft við Python 2, en afturábak samhæfni er ekki það frábært.
Að bæta QGIS API sjálft: Eitt af vandamálunum við að viðhalda samhæfni API á milli útgáfa er að þú verður að búa við hönnunarval þitt til langs tíma. Í QGIS er allt kapp lagt á að brjóta ekki forritaskil innan nokkurra minniháttar útgáfa. Að gefa út útgáfu af QGIS fyrir 3.0 með API sem er ekki samhæft við núverandi mun gefa tækifæri til að „þrífa húsið“ með því að laga það sem er í API sem við erum með að það er ágreiningur um. Þú getur séð bráðabirgðalista yfir breytingar sem lagðar voru fyrir 3.0 API.

Hvernig á að styðja við að breyta 3.0 API

Eins og áður hefur komið fram mun útgáfa 3.0 brotna við QGIS útgáfu 2.x og líkur eru á því að mörg viðbætur, núverandi forrit og annar kóði sem byggir á núverandi API brotni. Svo hvað er hægt að gera til að draga úr breytingunum? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias og aðrir helstu þróunaraðilar hafa verið að leita leiða til að draga úr fjölda API hléabreytinga en halda áfram að stuðla að QGIS merkjagrunni sem byggir á næstu kynslóð bókasafna og eigin innra API. Á síðasta fundi okkar í QGIS verkefnastýrihópnum þróuðum við ýmsa möguleika. Eftirfarandi tafla dregur saman það sem Matthias Kuhn náðaði ágætlega og að við höfum að hluta til reynt að umrita í þessari grein eftir því sem settar á bloggið þitt:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Útgáfudagur Lok febrúar 4 mánuðum síðar 2.14 Hringrás 8 mánaða?
Víxlar Uppfæra Python kóða QGIS algerlega til að vera Python 3 samhæft og PyQt5 samhæft (að hluta til fyrir lykilaðgerðir, td hugga, python kjarnaforrit osfrv.)
Qt4 Si

Vantar í Debian-teygju (vegna á ári)

(webkit fjarlægð)

Nr
Qt5 Nr

Vonir QWebView - ný skipti ekki á öllum kerfum. Einnig saknar QPainter Engine.

Si Si
PyQt4 Si Si Nr
PyQt5 Nr Si Si
Python 2 Si Si Nr
Python 3 Nr Si Si
API hreinsun Nr Nr Si
Wrappers
PyQt5 -> PyQt4
Veitir ~ 90% afturábak samhæfni
Nr Si Si
Almennt tvöfalt Qt4 Byggt Qt4 Byggt Qt5 Byggt
Fjármögnun forgangs Python umbúðir

Það eru tveir mikilvægir hlutir til að hafa í huga um tillögu Matias:

Í fyrsta áfangaVerkið er gert í röð til að ljúka 2.x stuðning QT5, PyQt5 nota Python 3.0, styðja Qt4, PyQt4 og Python 2.7. Þetta þýðir að allar breytingar sem gerðar voru í fyrsta áfanga yrðu í samræmi við fyrri 2.x útgáfur. Python aðgerðir verður felld verði kynnt þannig að gamla API PyQt4 getur samt verið notaður sérstaklega þegar tekið saman gegn QT5, PyQt5, Python 3.0. Þegar QGIS er notaður saman við Qt4, PyQt4 og Python 2.7 þá yrði engin niðurbrotssamræmi.
Í seinni áfanganumÞað myndi virka til að framleiða QGIS 3.0, kynna nýja API, alveg fjarlægja Python 2.7, þar á meðal stuðning fyrir Qt4 og PyQt4. Nýjungar í Python koma inn í fyrsta áfanga verður haldið, að teknu tilliti til allra Python kóða og þróun fyrir 2.x útgáfur af QGIS áfram að vinna á 3.x útgáfur af QGIS. Í þessum áfanga er einnig gert ráð fyrir að kynna breytingar á QGIS API sem geta brotið nokkrar viðbætur. Til að takast á þetta munum við bjóða upp á flutningsleiðbeiningar til að reyna að auðvelda flæðiferlið frá 2.x QGIS útgáfum til 3.x QGIS útgáfur.

Hugsanlegt

Það eru nokkrar brellur sem eiga að vera settar til að tryggja að flæði til QGIS 3.0 hljómar minna sársaukafullt.

  • 1. SÞað skal tekið fram að á meðan aðferðin sem sett er fram hér að ofan reynir að lágmarka vinnu við python forskrift í viðbótum, þá verður þetta ekki endilega 100%. Það verða líklegast tilvik þar sem kóða verður að kippa í lag og í öllum tilvikum að minnsta kosti verður líklega að endurskoða hann til að tryggja að hann haldi áfram að virka rétt.
    2. Það er engin formlega fjármögnuð fjármagn til að greiða verktaki sem leggja sjálfviljugan tíma í þetta fólksferli. Vegna þessa verður mjög erfitt að gefa nákvæma tímaramma um hversu langan tíma hver hluti ferlisins tekur. Þessa óvissu verður að taka með í reikninginn. Að sjálfsögðu er framlögum velkomið til að hjálpa til við að láta þetta gerast.
    3. Það geta verið verktaki og stofnanir þarna úti sem fjármagna nýja eiginleika fyrir QGIS 2.x seríurnar og þetta getur haft áhrif á starf þitt. Nauðsynlegt er að taka með í áætlanir og fjárveitingar þessara verkefna, einhverja úthlutun til að takast á við flutninginn á QGIS 3.x vettvang.
    4. Ef QGIS teymið vinnur að „heildarbreytingu“ verður tiltölulega stuttur tími þar sem QGIS verður óstöðugur og stöðugur breyting vegna yfirstandandi uppfærslna á QGIS 3.0.
    4. Ef þú þroskast á „þróunarkenndan hátt“ er hætt við að 3.0 þróun geti tekið lengri tíma nema að þú hafir dyggan hóp verktaka að vinna að því og gerir þig tilbúinn til að flytja.

    Tillögur

Í ljósi allra ofangreindra upplýsinga er lagt til af einum af tveimur aðgerðum:

1 Tillaga:

Gefa út bráðabirgðaútgáfu 2.16 og hefja síðan vinnu við útgáfu 3.0 í forgangi, með 8 mánaða þróunarglugga. Breytingar gerðar á útgáfu 2.16 munu reyna að vera í samræmi við útgáfu 3.0 (sjá python3 / pytq5).

2 Tillaga:

Lunging einu 3.0 með fleiri útbreiddur lengd glugga á QT5, Python 3.0 og PyQt5 og biðja forritara til að vinna verk sín í 3.0. Haltu áfram með 2.x útgáfum með reglulegu millibili þar til 3.0 er tilbúið.

Önnur tillögur

Ertu með aðra tillögu? QGIS hefur áhuga á að vita um mögulega kosti. Ef þú vilt leggja fram tillögu, vinsamlegast sendu á tim@qgis.org með efni "QGIS 3.0 Tillaga".

The QGIS blogg, þar sem þessi útgáfa kom út.

Skildu eftir svar

Netfangið þitt verður ekki birt.

Þessi síða notar Akismet til að draga úr ruslpósti. Lærðu hvernig athugasemdir þínar eru unnar.