QGIS 3.0 - Hvernig, hvenær og hvað; felur í sér

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, að þeir myndu greinilega flytja til notenda og forritara áætlanir sínar áður en þeir byrjuðu QGIS 3.0. Nýlega hafa þeir reynt að afhjúpa nokkrar af þeim ástæðum sem settar eru fram í QGIS 3.0 og í lok póstsins er tækifæri til að kynna hugmyndir okkar.

Af hverju 3.0?

QGis_LogoVenjulega er stærri útgáfan frátekin tímum þegar stór breyting er gerð á API hugbúnaðarins. Þetta brot er ekki léttvæg ákvörðun fyrir QGIS verkefnið sem við erum hundruð þúsunda notenda sem treysta á QGIS, bæði til eigin nota og fyrir þjónustu við þ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 grunn safnið af bókasöfnum þar sem QGIS er byggt í efsta þrepi, við tölum um CORE-hagnýtur stig pallsins. QT veitir einnig bókasöfn fyrir mömmustjórnun, tengingaraðgerðir og grafíkstjórnun. Qt4 (sem QGIS byggir á nú) er ekki þróað af þeim sem bera ábyrgð á Qt bókasafninu og gæti haft vandamál hvað varðar virkni á sumum kerfum (til dæmis OS X) og jafnvel auðveldað stjórnun tvöfaldra útgáfa (til dæmis Debian Testing og næsta útgáfa af Debian „Stretch“). Ferlið við að koma QGIS í QT5 hefur þegar mikilvæg bylting (aðallega það sem Matthias Kuhn hefur gert) sem ásamt Marco Bernasocchi reykja á Android «QField» sem byggir alfarið á QT5. Hins vegar eru nokkrar takmarkanir á því að ráðast í nýja QT5 vegna áhrifa þess á QGIS - sérstaklega með búnaði vafra (aðallega notaður í Tónskáldinu og einnig á nokkrum öð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 Nú stendur allt á Python 2.7. Python 3 er nýjasta útgáfa af Python og er mælt með þeim sem leiða þetta verkefni. Python er örlítið ósamrýmanlegt 2 3 Python (í nánast í réttu hlutfalli við ósamræmi er milli QGIS mun 2 og 3 Qgis measure). Margir forritarar hafa gert Python Python 3 að mestu samhæft við fyrri útgáfur Python 2, en hið gagnstæða samhæfni er ekki eins gott.
Að bæta QGIS API sjálft: Eitt af þeim vandamálum sem viðhalda API-eindrægni milli útgáfu er að þú verður að lifa með hönnunarmöguleikum þínum til lengri tíma litið. Í QGIS er gert ráð fyrir að ekki brjótast API í röð minniháttar útgáfu. Ef þú losar QGIS útgáfu fyrir 3.0 með API sem er ekki samhæft við núverandi mun gefa þér tækifæri til að "hreinsa húsið" með því að ákveða hluti í API sem við erum með sem er misræmi. Þú getur séð bráðabirgða lista yfir breytingar sem lagðar voru fyrir 3.0 API.

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

Eins og þegar nefnt, útgáfu 3.0 brjótast með QGIS útgáfu 2.x valdið og það er möguleiki á að margir tappi, núverandi forrit og önnur númer eru byggðar á núverandi API broti. Svo hvað er hægt að gera til að draga úr breytingum? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias og annarra helstu verktaki hafa verið að leita leiða til að draga úr fjölda API brjóta breytingar en samt efla stöð númer QGIS byggjast á næstu kynslóð af bókasöfnum og innra API þeirra. Á síðasta fundi QGIS Project stjórnarnefndar okkar geofumó með ýmsum möguleikum. Taflan sem Matthias Kuhn kjarni varlega og að hluta hafa reynt að umrita í þessari grein í samræmi við það 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ð ætti að hafa í huga að meðan aðferðin sem sett er fram hér að framan er ætlað að lágmarka magn vinnu í python forskriftarþarfir í viðbótum þá mun þetta ekki endilega vera í 100%. Það mun líklegast vera tilfelli þar sem kóðinn þarf að breyta og í öllum tilvikum að minnsta kosti verður það líklega að vera endurskoðað til að tryggja að það virki áfram að virka rétt.
    2. Það er engin formlega stofnað fjármagn til að greiða verktaki sem sjálfviljugur fjárfesti tíma sinn í þessu flæðiferli. Vegna þessa mun það verða mjög erfitt að gefa nákvæma tímalínur um hversu lengi hver hluti ferlisins muni taka. Þessa óvissu verður að taka tillit til í áætlanagerð. Auðvitað eru gjafir velkomnir til að gera þetta gerst.
    3. Það kann að vera verktaki og stofnanir þarna úti sem fjármagna nýja möguleika fyrir 2.x QGIS röðina og þetta getur haft áhrif á störf sín. Í áætlunum og fjárhagsáætlunum þessara verkefna verður að vera hluti úthlutunar til að takast á við flutninginn á 3.x vettvang QGIS.
    4. Ef QGIS-liðið vinnur að "heildarbreytingu" verður það tiltölulega stuttur tími þar sem QGIS verður óstöðugt og stöðugt að breytast vegna áframhaldandi uppfærslu á QGIS 3.0.
    4 Ef það þróast á „þróunarsinnaðan hátt“ er hættan á að 3.0 þróun geti tekið lengri tíma nema til sé trúr hópur verktaki sem vinnur að þessu og gera þá klára til að flytja.

    Tillögur

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

1 Tillaga:

Slepptu bráðabirgða 2.16 útgáfu og farðu síðan að vinna að 3.0 útgáfunni sem forgang, með þróunarglugga 8 mánaða. Breytingar sem gerðar eru í 2.16 útgáfu munu líta út fyrir að vera í samræmi við 3.0 útgáfuna (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 hugsanlegar kostir. Ef þú vilt leggja fram tillögu skaltu senda tim@qgis.org með efni "QGIS 3.0 Tillaga".

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

Skildu eftir athugasemd

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.