QGIS 3.0 - Kā, kad un ko; nozīmē

Daudzi no mums ir jautā:

Kad būs atbrīvots QGIS 3.0?

Pagājušajā gadā (2015) projekta komanda sāka pētīt, kad un kā būtu jāatbrīvo QGIS 3.0. Viņi solīja, saskaņā ar ziņu no Anita Graser, ka pirms QGIS 3.0 palaišanas viņi skaidri paziņos saviem plāniem lietotājus un izstrādātājus. Nesen viņi ir mēģinājuši izteikt dažus apsvērumus par QGIS 3.0 ieviešanu, un pēc amata beigām mums ir iespēja prezentēt mūsu idejas.

Kāpēc 3.0?

QGis_LogoParasti galvenā versija ir rezervēta tiem laikiem, kad tiek veiktas lielas izmaiņas jūsu programmatūras API. Šis pārtraukums nav triviāls lēmums par QGIS projektu, jo mēs esam simtiem tūkstošu lietotāju, kuri ir atkarīgi no QGIS gan savām vajadzībām, gan trešo personu sniegtajiem pakalpojumiem.

Reizēm laužot API ir nepieciešama, lai pielāgotos atjaunināt arhitektūru ar uzlabotām, jaunas bibliotēkas un labojumiem lēmumiem pagātnē.

Kādas ir sekas pārkāpj API?

Viens no iemesliem, kāpēc šis API pārrāvums QGIS 3.0 ir tas, ka tam būs liela ietekme, kas varētu sabojāt simtiem izstrādātu spraudņu, kas vairs nebūs saderīgi ar jauno API, un to autoriem būtu jādara pārskats par to attīstību, lai nodrošinātu saderību ar jauno API.

Par izmaiņām, kas nepieciešami apjoms lielā mērā ir atkarīgs:

  • Daudzi API izmaiņas ietekmē pašreizējo funkcionalitāti.
    Cik punktus plugins autori ir izmantojuši daļu no API, kas varētu mainīt.
  • Kādas ir galvenās izmaiņas 3.0?

Ir četras galvenās jomas, kas meklē pārmaiņām 3.0:

Qt4 uz QT5 atjauninājumu: Šis ir pamata bibliotēku komplekts, kurā QGIS ir iebūvēts augstākajā līmenī, mēs runājam par platformas CORE funkcionālo līmeni. QT nodrošina arī bibliotēkas mūmiju pārvaldībai, savienojamības operācijām un grafikas pārvaldībai. Qt4 (uz kuras pamata pašlaik atrodas QGIS) šobrīd neattīsta par Qt bibliotēku atbildīgie, un tai varētu būt problēmas ar dažu platformu (piemēram, OS X) funkcionalitāti un pat atvieglot bināro versiju pārvaldību. (piemēram, Debian testēšana un nākamā Debian "Stretch" versija). QGIS pievienošanas procesam QT5 jau ir būtisks sasniegums (galvenokārt to ir izdarījis Matiass Kuhns), kas kopā ar Marco Bernasocchi smēķē Android ierīcē «QField», pilnībā balstoties uz QT5. Tomēr jaunā QT5 palaišanai ir daži ierobežojumi, jo tā ietekmē QGIS - it īpaši ar tīmekļa pārlūka logrīkiem (kurus galvenokārt izmanto komponistam un arī dažām citām vietām QGIS).

PyQt4 uz PyQt5 atjauninājumu: Tās ir relatīvās izmaiņas Ptona valodā Qt, uz kuru balstās QGIS Python API. Ir ierosināts mainīt QT5 C ++ bibliotēku, kā arī ir paredzēts pārvietot Python bibliotēku uz PyQt5, lai varētu izmantot jaunās QT5 API priekšrocības Python.
Atjaunināšana Python Python 2.7 3 uz: Pašlaik viss darbojas Python 2.7. Python 3 ir jaunākā Python versija, un to iesaka tie, kas vada šo projektu. Python 2 ir nedaudz nesaderīgs ar Python 3 (gandrīz proporcionāls QGIS 2 un Qgis 3 nesaderībai). Daudzi izstrādātāji ir padarījuši Python Python 3 lielā mērā saderīgu ar iepriekšējām Python 2 versijām, taču reverse saderība nav tik laba.
Uzlabojot QGIS ir sava API: Viena no problēmām, ar kurām uztur API saderību starp versijām, ir tāda, ka jums ir jādzīvo ar saviem dizaina risinājumiem ilgtermiņā. QGIS sistēmā tiek darīts viss, lai nesalīdzinātu API nelielu izlaidumu sērijā. Atbrīvojot QGIS versiju 3.0 ar API, kas nav saderīga ar pašreizējo, būs iespēja "tīrīt māju", nosakot lietojumprogrammas API, ar kuru mēs saskaramies ar neatbilstību. Jūs varat redzēt pagaidu sarakstu 3.0 ierosināja izmaiņas API.

Kā atbalstīt mainot 3.0 API

Kā jau minēts, versiju 3.0 pārtraukums ar QGIS versiju 2.x izraisīt, un pastāv iespēja, ka daudzi plugins, esošās lietojumprogrammas un citi kodi ir balstīti uz pašreizējo API bojājumus. Tātad, ko var darīt, lai mazinātu izmaiņas? Matiass Kuhn, Jürgen Fišers Nyall Dawson, Martin Dobias un citi lielākie izstrādātāji ir meklējis veidus, lai mazinātu skaitu API pārkāpj izmaiņām, vienlaikus virzās bāze kodu QGIS pamatā nākamās paaudzes bibliotēku un savu iekšējo API. Mūsu pēdējā tikšanās QGIS projekta Vadības komitejas ietvaros tika geofumó izmantojot dažādus iespējām. Tabulā apkopotas Matiass Kuhn summē maigi un daļēji ir mēģinājuši transliterēt šajā rakstā, saskaņā ar to, ko Viņi publicēja savā blogā:


QGIS 2.14 LTR
QGIS 2.16? QGIS 3.0
Izdošanas datums Beigas februāris 4 2.14 mēnešiem ¿Cycle 8 mēnešiem?
Rēķini Atjaunināšana kodols QGIS python kodu Python 3 būt atbilstošu un atbalsta PyQt5 (daļēju izpildi attiecībā uz galveno funkcionalitāti, piemēram, konsole, python galvenie plugins utt)
Qt4 Si

Novecojusi ir Debian Stretch (jāmaksā gadā)

(-webkit noņemts)

Qt5

Garām QWebView - jauns nomaiņa nevis uz visām platformām. Arī Garām QPainter Dzinējs.

Si Si
PyQt4 Si Si
PyQt5 Si Si
Python 2 Si Si
Python 3 Si Si
tīrīšanas API Si
Rituāli
PyQt5 -> PyQt4
~ 90% paredz atpakaļ saderību
Si Si
mainstream Binary Pamatojoties Qt4 Pamatojoties Qt4 Pamatojoties Qt5
Finansējums prioritāte Python ietinēji

Ir divas svarīgas lietas, kas jāatceras par priekšlikuma Matthias:

Pirmajā posmāDarbs tiek veikts sērijā pabeigt 2.x atbalsta QT5, PyQt5 izmantojot Python 3.0, atbalstot Qt4, PyQt4 un Python 2.7. Tas nozīmē, ka visas izmaiņas, kas veiktas pirmajā posmā būtu saderīgs ar iepriekšējām versijām 2.x. Python funkcijas tiks iekļauti tiks ieviesta, lai veco API PyQt4 joprojām var izmantot, jo īpaši, kad tie ir apkopoti pret QT5, PyQt5, Python 3.0. Izmantojot QGIS apkopota pret Qt4, PyQt4 un Python 2.7 nelūst saderību.
Otrajā posmāTā strādās, lai ražotu QGIS 3.0, ieviešot jaunu API, pilnībā noņemt Python 2.7, tostarp atbalstu Qt4 un PyQt4. Jaunas funkcijas python ienāk pirmais posms tiks saglabāta, ņemot vērā visus python kodu un attīstību attiecībā uz 2.x versijas QGIS turpināt strādāt pie 3.x versijām QGIS. Šis posms ir arī paredzēts ieviest izmaiņas QGIS API, kas var tikt bojātas dažas plugins. Lai risinātu šo sniegs vadlīnijas aa migrāciju, lai mēģinātu atvieglot migrāciju versijas 2.x QGIS 3.x ar QGIS versijas.

caveat emptor

Ir dažas viltības, kas jāuzdod, lai nodrošinātu, ka migrācija uz QGIS 3.0 skaņu mazāk sāpīga.

  • 1. Se Jāatzīmē, ka, lai fokuss ir izveidota, lai samazinātu darba apjomu par python skriptu plugins, tas ne vienmēr ir 100%. Tur būs visticamāk gadījumi, kad kods ir jākoriģē, un visos gadījumos vismaz, jūs, iespējams, ir jāpārskata, lai nodrošinātu, ka tā joprojām darbojas pareizi.
    2. Nav oficiāli izveidota finanšu resursus, lai samaksātu izstrādātājiem, kuri brīvprātīgi iegulda savu laiku, lai šo migrācijas procesu. Sakarā ar to, ka būs ļoti grūti sniegt precīzu laiku, cik ilgi tā veiks katru daļu no procesa. Būtu jāņem vērā šo nenoteiktību plānošanā. Protams ziedojumiem atveras, lai palīdzētu, lai tas notiktu.
    3. Var būt izstrādātājiem un iestādes, kas tur, kas finansējuma jaunas funkcijas 2.x QGIS sērijas, un tas var ietekmēt viņu darbu. Jāiekļauj plānos un budžetos šiem projektiem, daži piešķiršanu, lai novērstu migrāciju uz 3.x QGIS platformu.
    4. Ja QGIS komanda strādā ar "pilnīgu izmaiņu", būs salīdzinoši īss laiks, kurā QGIS būs nestabila un pastāvīgi mainās, jo QGIS 3.0 tiek atjaunināti.
    4 Ja tas attīstās "evolucionāri", pastāv risks, ka 3.0 izstrāde var aizņemt ilgāku laiku, ja vien uzticīga izstrādātāju grupa strādā pie šī jautājuma un sagatavo viņus gatavam migrēt.

    priekšlikumi

Ņemot vērā visu iepriekš minēto informāciju, tiek ierosināts viens no diviem darbības virzieniem:

1 priekšlikums:

2.16 atbrīvot versiju projektu un tad sākt darbu pie 3.0 versijas kā prioritāti, ar logu attīstības 8 mēnešiem. Izmaiņas veiktas versijā 2.16 cenšas būt saderīgs ar 3.0 versiju (skat python3 / pytq5).

2 priekšlikums:

Lunging reizi 3.0 ar daudz ilgāku ilguma loga QT5, Python 3.0 un PyQt5 un lūgt izstrādātājiem veikt savu darbu 3.0. Turpināt 2.x versijām ar parasto frekvenci līdz 3.0 ir gatava.

alternatīvi priekšlikumi

Vai jums ir alternatīvu priekšlikumu? QGIS rūpējas neko par iespējamām alternatīvām. Ja vēlaties iesniegt priekšlikumu, sūtiet Tim@qgis.org ar tematu "QGIS 3.0 priekšlikums".

Ja izpildiet QGIS blogNo kurienes nāca šī publikācija.

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

Šī vietne izmanto Akismet, lai samazinātu surogātpastu. Uzziniet, kā tiek apstrādāti jūsu komentāru dati.