QGIS 3.0 - Kaip, kada ir ką; tai reiškia

Daugelis klausia savęs:

Kada bus paleistas QGIS 3.0?

Praėjusiais metais (2015) projekto komanda pradėjo tirti, kada ir kaip turėtų būti išleistas QGIS 3.0. Jie pažadėjo, kaip rašoma iš Anita Graser, kad prieš pradėdami QGIS 3.0 jie aiškiai perduotų savo planus naudotojams ir kūrėjams. Neseniai jie bandė pateikti kai kuriuos QGIS 3.0 paleidimo svarstymus, o pasibaigus pranešimui mums yra galimybė pristatyti mūsų idėjas.

Kodėl 3.0?

QGis_LogoPaprastai pagrindinė versija yra rezervuota tiems atvejams, kai labai pakeičiama jūsų programinės įrangos API. Ši pertrauka nėra trivialus sprendimas QGIS projektui, nes mes esame šimtai tūkstančių vartotojų, kurie priklauso nuo QGIS tiek savo reikmėms, tiek paslaugoms, teikiamoms trečiosioms šalims.

Kartais API trikdymas yra būtinas, siekiant pritaikyti architektūros atnaujinimą, patobulintus metodus, naujas bibliotekas ir taisymus, padarytus praeityje.

Kokios yra API pažeidimo pasekmės?

Viena iš priežasčių, kodėl ši iš qgis 3.0 API pažeidimas yra tai, kad jis turės didelį poveikį, kuris galėtų nutraukti šimtus išsivysčiusių įskiepių, kad nebebūtų suderinama su nauja API ir šių autoriai daryti jų pokyčių apžvalga, siekiant užtikrinti suderinamumą su nauja API.

Būtinų pakeitimų mastas daugiausia priklauso nuo:

  • Kiek API pakeitimų įtakoja dabartinę funkciją.
    Kiek taškų, autoriaus įskiepiai naudojo tam tikras API dalis, kurias jie pakeis.
  • Kokie bus pagrindiniai 3.0 pakeitimai?

3.0 keičia keturias pagrindines sritis:

Qt4 atnaujinimas iki QT5: Tai yra pagrindinis bibliotekų rinkinys, kuriame QGIS yra įmontuotas aukščiausiame lygyje, mes kalbame apie pagrindinį platformos funkcinį lygį. QT taip pat teikia mumijų valdymo, ryšio operacijų ir grafikos valdymo bibliotekas. „Qt4“ (kuria šiuo metu remiasi „QGIS“) šiuo metu nekurs atsakingi už „Qt“ biblioteką ir gali turėti problemų dėl kai kurių platformų (pvz., OS X) funkcionalumo ir netgi palengvinti dvejetainių versijų valdymą. (pavyzdžiui, „Debian“ testavimas ir kita „Debian“ versija „Stretch“). „QGIS“ pateikimo į „QT5“ procesas jau yra svarbus lūžis (daugiausia to, ką padarė Matthias Kuhnas), kad kartu su Marco Bernasocchi rūko „Android“ „QField“, pagrįstas tik QT5. Tačiau yra keletas apribojimų paleidžiant naująjį QT5 dėl jo įtakos QGIS - ypač naudojant interneto naršyklės valdiklius (daugiausia naudojamus kompozitoriaus ir kai kuriose kitose QGIS vietose).

Atnaujinkite PyQt4 prie PyQt5: Tai yra santykiniai Qt "Python" kalbos pakeitimai, kuriais grindžiama "QGIS Python" API. Kyla pakeisti QT5 C ++ biblioteka, taip pat tikimasi perkelti į PyQt5 python bibliotekoje, kad jie galėtų pasinaudoti naujojo API Python QT5 naudą.
2.7: Python 3 atnaujinimas Python Šiuo metu viskas veikia "Python 2.7". "Python 3" yra naujausia "python" versija, kurią rekomenduoja tie, kurie vadovauja tiems projektams. "Python 2" yra šiek tiek nesuderinamas su "Python 3" (kiek beveik proporcingas QGIS 2 ir Qgis 3 nesuderinamumui). Daugelis kūrėjų padarė "Python Python 3" daugeliu atvejų suderinamą su ankstesnėmis "Python 2" versijomis, tačiau atvirkštinis suderinamumas nėra toks geras.
Pati QGIS API patobulinimas: Viena iš problemų, su kuriomis palaikoma API suderinamumas tarp versijų, yra ta, kad jūs turite gyventi su savo dizaino galimybėmis ilgą laiką. QGIS sistemoje dedamos visos pastangos nepažeisti API per keletą nedidelių versijų. „3.0“ versijos „QGIS“ išleidimas naudojant API, nesuderinamą su dabartine, suteiks galimybę „išvalyti namą“, nustatydami dalykus API, su kuriais mes nesame neatitikti. Jūs galite pamatyti laikiną sąrašą Pakeitimai, pateikti 3.0 API.

Kaip palaikyti 3.0 API keitimą

Kaip jau minėta, versiją 3.0 pertrauka su qgis versija 2.x priežastis ir yra galimybė, kad daugelis įskiepių, esami programų ir kitų kodus remiantis dabartinės API lūžimo. Taigi, ką galima padaryti norint sušvelninti pokyčius? Matthias Kuhn Jürgen Fischer Nyall Dawson Martin DOBIAS ir kitų pagrindinių kūrėjai jau ieško būdų, kaip sušvelninti API kad pakeitimų, o dar plečiant bazę kodas qgis būti grindžiama naujos kartos bibliotekų ir jų pačių vidaus API. Per mūsų paskutinį projekto "QGIS" iniciatyvinio komiteto posėdį geofumó buvo per keletą galimybių. Toliau pateiktoje lentelėje apibendrinti, ką Matthias Kuhn švelniai apibendrino ir iš dalies bandė transliteracija šiame straipsnyje, pagal ką Paskelbtas jūsų tinklaraštyje:


QGIS 2.14 LTR
QGIS 2.16? QGIS 3.0
Išleidimo data Vasario pabaiga Po 4 mėnesių po 2.14 Ciklas 8 mėnesius?
Pastabos Atnaujinkite "QGIS" pagrindinio "Python" kodą, kuris yra suderinamas su "Python 3" ir suderinamas su "PyQt5" (dalinis pagrindinių funkcijų įgyvendinimas, pvz., "Console", "python core plugins" ir tt).
Qt4 Si

Nebenaudojamas "Debian Stretch" (po vienerių metų)

(Webkit pašalintas)

taip Ne
Qt5 Ne

Trūksta QWebView - naujas pakeitimas ne visose platformose. Taip pat praleisti QPainter Engine.

Si Si
PyQt4 Si Si Ne
PyQt5 Ne Si Si
python 2 Si Si Ne
python 3 Ne Si Si
API valymas Ne Ne Si
Vynuogynai
PyQt5 -> PyQt4
Suteikia ~ 90% atgalinio suderinamumo
Ne Si Si
Pagrindinis dvejetainis Remiantis Qt4 Remiantis Qt4 Remiantis Qt5
Finansavimo prioritetas "Python" įvyniojimo mašinos

Yra du svarbūs dalykai, dėl kurių turėtumėte nepamiršti apie "Matias" pasiūlymą:

Pirmajame etapeDarbas daroma serijos baigti 2.x paramos QT5, PyQt5 naudojant Python 3.0, remti Qt4, PyQt4 ir Python 2.7. Tai reiškia, kad visi pakeitimai, padaryti pirmame etape, būtų suderinami su ankstesnėmis versijomis 2.x. Python funkcijos bus įtrauktos bus pristatyta taip, kad senas API PyQt4 vis dar gali būti naudojamas ypač kai rengiami prieš QT5, PyQt5, Python 3.0. Naudojant qgis, parengtus nuo Qt4, PyQt4 ir Python 2.7 nebūtų sulaužyti suderinamumą.
Antrame etapeBūtų dirbti gaminti qgis 3.0, pristatydamas naują API visiškai pašalinti Python 2.7, įskaitant paramą Qt4 ir PyQt4. Naujos funkcijos python persijungimo į pirmąjį etapą bus išlaikytas, atsižvelgiant į visą python kodą ir pokyčiams 2.x versijų qgis tęsti darbą, susijusį su 3.x versijų qgis. Šiame etape taip pat tikimasi įvesti QGIS API pakeitimus, kurie gali sulaužyti kai kuriuos papildinius. Norėdami išspręsti šią problemą bus numatyti gaires, aa migracijos bandyti palengvinti versijų migracijos 2.x qgis 3.x qgis versijas.

Įspėjamasis emptorius

Yra keletas gudrybių, kuriuos reikėtų įdiegti, siekiant užtikrinti, kad perėjimas prie QGIS 3.0 skamba mažiau skausmingai.

  • 1. SE reikia pažymėti, kad nors Focus įsteigtas siekiant sumažinti darbo python skriptų įskiepių sumą, tai nebūtinai 100%. Yra greičiausiai atvejų, kai kodas turi būti koreguojama ir visais atvejais bent jau tikriausiai turi būti peržiūrėtos, siekiant užtikrinti, kad ji ir toliau veikia tinkamai.
    2. Nėra formaliai nustatytų finansinių išteklių, kad būtų galima sumokėti kūrėjams, kurie savanoriškai investuoja savo laiką į šį migracijos procesą. Dėl to labai sunku tiksliai nustatyti, kiek laiko kiekviena proceso dalis imsis. Į šį netikrumą reikia atsižvelgti planuojant. Žinoma, dovanos gali padėti tai padaryti.
    3. Ten gali būti kūrėjai ir institucijos, kurie finansuoja naujas 2.x QGIS serijos funkcijas, ir tai gali paveikti jų darbą. Įtraukti į šių projektų planus ir biudžetus kai kuriuos asignavimus, skirtus perėjimui prie QGIS "3.x" platformos.
    4. Jei „QGIS“ komanda dirba su „visišku pakeitimu“, bus gana trumpas laikas, per kurį QGIS bus nestabili ir nuolat keičiasi dėl nuolatinių „QGIS 3.0“ atnaujinimų.
    4 Jei jis vystysis „evoliuciniu“ būdu, yra rizika, kad 3.0 kūrimas gali užtrukti ilgiau, nebent yra ištikima kūrėjų grupė, kuri dirbtų prie to ir ruoštųsi migruoti.

    Pasiūlymai

Atsižvelgiant į visą pirmiau pateiktą informaciją siūloma viena iš dviejų veiksmų krypčių:

1 pasiūlymas:

Išleisk preliminarią 2.16 versiją ir tada pradėkite dirbti su 3.0 versija kaip prioritetą, o 8 mėnesio plėtra. Pakeitimai, padaryti 2.16 versijoje, atrodo suderinami su 3.0 versija (žr. Python3 / pytq5).

2 pasiūlymas:

Lunging kartą 3.0 su daugiau pratęsimo langą QT5, Python 3.0 ir PyQt5 ir paklausti kūrėjams padaryti savo darbą 3.0. Tęskite 2.x versijas reguliariais laiko tarpais, kol 3.0 bus paruoštas.

Alternatyvūs pasiūlymai

Ar turite alternatyvų pasiūlymą? QGIS yra suinteresuotos žinoti galimas alternatyvas. Jei norite pateikti pasiūlymą, atsiųskite Tim@qgis.org su tema „QGIS 3.0 pasiūlymas“.

The QGIS tinklaraštis, Kur paskelbtas šis leidinys.

Palikite atsakymą

Jūsų elektroninio pašto adresas nebus skelbiamas.

Ši svetainė naudoja "Akismet", kad sumažintų šlamštą. Sužinokite, kaip apdorojami jūsų komentarų duomenys.