QGIS 3.0 - Kumaha, nalika jeung naha; hartosna

Seueur urang angger:

Iraha QGIS 3.0 baris dileupaskeun?

Taun ka tukang (2015) tim proyék mimiti nalungtik padahal sareng kumaha anu dileupaskeun QGIS 3.0. Aranjeunna jangji, numutkeun kana pos ti Anita Graser, éta maranéhanana écés nepikeun ka pamaké sareng pamekar rencana anu sateuacan diluncurkeun QGIS 3.0. Nu anyar aranjeunna diusahakeun ngalaan sababaraha pertimbangan pikeun peluncuran QGIS 3.0 sarta di ahir pos aya aya kasempetan kanggo urang nampilkeun ideu.

Naha 3.0?

QGis_LogoBiasana versi utama ditangtayungan kanggo waktos anu nganggo parobahan gedé kana API sareng sofwer anjeun. Putus ieu sanés kaputusan pati penting pikeun proyék-proyék QGIS saprak kami ratusan rébu pamaké anu gumantung kana QGIS, boh pikeun pamakéan sorangan sareng jasa anu disadiakeun ka pihak katilu.

Ti jaman ka sarematan API ieu perlu nampilkeun pangénggalan arsitéktur kalayan perbaikan pendekatan, perpustakaan anyar sareng koréksi pikeun kaputusan anu parantos dihijikeun.

Naon konsekuensi megatkeun API?

Salah sahiji alesan kunaon pegatna ieu API di QGIS 3.0 meh bakal gaduh dampak anu hébat, anu tiasa leolak ratusan plugins dikembangkeun anu henteu panjang cocog sareng API anyar sareng pangarang ieu kedah ngalakukeun review ngeunaan kamajuan -na pikeun mastikeun kasaluyuan sareng API anyar.

Kaayaan perobahan nu diperyogikeun gumantung kana saimbang-gedéan:

  • Sakumaha seueur parobahan API ieu mangaruhan pungsionalitas ayeuna.
    Dina sabaraha titik pangarang plugin parantos dianggo bagéan API anu parantos diganti deui.
  • Naon anu perobahan utama kanggo 3.0?

Aya opat wewengkon konci anu anjeun badé robah di 3.0:

Apdet Qt4 ka QT5: Ieu mangrupikeun himpunan dasar perpustakaan dimana QGIS diwangun dina tingkat luhur, urang bahas perkawis tingkat CORE-fungsional dina platform. QT ogé nyayogikeun perpustakaan pikeun manajemén mummy, operasi konektipitas sareng manajemén grafis. Qt4 (anu dumasar kana QGIS) ayeuna henteu dikembangkeun ku anu tanggung jawab pikeun perpustakaan Qt sareng tiasa ngagaduhan masalah dina hal fungsionalitas sareng sababaraha platform (sapertos OSX). (contona Uji Debian sareng versi salajengna Debian "Stretch"). Proses nggawa QGIS ka QT5 parantos gaduh narabas anu penting (utamina anu parantos dilaksanakeun Matthias Kuhn) anu ngahiji sareng haseup Marco Bernasocchi dina Android «QField» dumasar kana QT5. Nanging, aya sababaraha watesan dina ngaluncurkeun QT5 anyar kusabab pangaruhna kana QGIS - utamina dina widget wéb browser (umumna dianggo dina Komposer sareng ogé sababaraha tempat sanés dina QGIS).

Apdet PyQt4 kana PyQt5: Di handap ieu mangrupakeun parobahan relatif kana basa Python pikeun Qt numana API QGIS Python dumasar. Hal ieu diajengkeun perpustakaan QT5 C ++, ogé diharepkeun pikeun mindahkeun perpustakaan Python kana PyQt5 supados mangpaat API QT5 anyar di Python tiasa dimangpaatkeun.
Ngamutahirkeun Python 2.7 ka Python 3: Ayeuna sadaya jalan dina Python 2.7. Python 3 mangrupakeun versi panganyarna ngeunaan python sarta disarankeun anu henteu anu ngabalukarkeun proyék éta. Python 2 rada sauyunan jeung Python 3 (dina ukuran ampir sabanding jeung sauyunan anu bakal aya antara QGIS 2 sareng Qgis 3). Loba pamekar parantos dijieun Python Python 3 sakitu legana cocog sareng versi samemehna ti Python 2, tapi kasaluyuan sabalikna henteu sakumaha saé.
Pamutahiran API QGIS sorangan: Salah sahiji masalah sareng ngajaga kasaluyuan API antara versi nyaéta yén anjeun kedah hirup sareng pilihan desain anjeun salami lami. Dina QGIS, unggal usaha dilakukeun henteu ngarobih API dina sababaraha sékrési minor. Muka konci versi QGIS pikeun 3.0 sareng hiji API anu henteu cocog sareng anu ayeuna bakal masihan anjeun kasempetan pikeun "ngabersihan bumi" ku ngalereskeun hal-hal na dina API anu kami jalankeun sareng aya konpormasi. Anjeun tiasa ningali daptar samentawis tina Parobahan nu diajukeun pikeun API 3.0.

Kumaha carana ngarobih parobahan tina 3.0 API

Sakumaha didadarkeun di, versi 3.0 bakal ngarecah sareng versi QGIS sareng 2.x sareng aya kamungkinan anu loba plugins, aplikasi anu aya sareng Konci anu sejen dumasar kana API ayeuna rusak. Janten, naon anu kedah dilakukeun pikeun mitigasi perobahan? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias sareng pamekar anu sanés sapertos miluan anu milarian cara miligkeun ganduan parobahan API narabas bari terus neraskeun kode basa QGIS dumasar kana generasi saterusna perpustakaan sareng API internal sorangan Salila pasamoan pamungkas kami Panitia Panitia Panitia QGIS, geofumed ngaliwatan rupa kemungkinan. Tabel di handap nyimpulkeun naon kasimpulan kasimatkeun Matthias Kuhn sareng yén kami parantos diusahakeun sabagian kana transliterasi dina artikel ieu nurutkeun naon dipasang dina blog-Na:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Tanggal dileupaskeun Ahir Pébruari Bulan 4 engké 2.14 Siklus bulan 8?
catetan Ngamutahirkeun kode python inti QGIS janten Python 3 cocog sareng PyQt5 cocog (palaksanaan parsial pikeun fungsionalitas konci misalna konsol, python core plugins jrrd)
Qt4 Si

Deprecated dina Debian Stretch (akibat sataun)

(webkit dihapus)

nuhun teu
Qt5 teu

Misses QWebView - ngagantian anyar henteu dina sadaya platform. Ogé sono QPainter Engine.

Si Si
PyQt4 Si Si teu
PyQt5 teu Si Si
Python 2 Si Si teu
Python 3 teu Si Si
Cleanup API teu teu Si
Wrappers
PyQt5 -> PyQt4
Nyadiakeun ~ 90% mundur kasaluyuan
teu Si Si
Main binér Dumasar Qt4 Dumasar Qt4 Dumasar Qt5
Prioritas waragad Python wrappers

Aya dua hal penting nu badé milari kana proposal Matías:

Dina fase kahiji, pagawéan dipigawé dina serial 2.x pikeun ngabéréskeun pangrojong pikeun QT5, PyQt5, migunakeun Python 3.0, ngarojong Qt4, PyQt4 sareng Python 2.7. Ieu ngakibatkeun yen sakabeh perobahan anu dijieun dina mimiti tahap bakal cocog sareng versi 2.x saméméhna. Fitur Python bakal diwanohkeun supados API PyQt4 heubeul masih tiasa dianggo lolobana nalika ngarékam QT5, PyQt5, Python 3.0. Nalika nganggo QGIS disusun ngalawan Qt4, PyQt4 na Python 2.7 pasti moal bakal kasaluyuan pegatna.
Dina fase kadua, urang bakal dianggo pikeun ngahasilkeun QGIS 3.0, ngawanohkeun API anyar éta, Python 2.7 bakal ngaleungitkeun sacara lengkep, kaasup pangrojong pikeun Qt4 sareng PyQt4. Fungsionalitas Python anyar anu diwanohkeun dina léngkah kahiji bakal dipiara, dia nunjukkeun yén sadaya kode python sarta pamekaran vérsi 2.x tina QGIS baris terus digawé dina versi 3.x tina QGIS. Dina tahap ieu diperkirakeun ngawanohkeun parobahan QGIS API anu tiasa mendakan sababaraha plugins. Pikeun ngerjakeun ieu, urang bakal ngadamel pituduh hijrah pikeun nyobaan mempermudah prosés migrasi vérsi 2.x QGIS kana versi 3.x QGIS.

Caveat emptor

Aya sababaraha tip anu kedah diperhatoskeun pikeun mastikeun yén migrasi ka QGIS 3.0 disada kirang nyeri.

  • 1. S.Ieu kudu dicatet yén bari pendekatan didadarkeun di luhur nyoba ngaleutikan jumlah gawé anu aya di scripting ngeunaan python dina plugins, ieu moal merta bakal aya dina 100%. Aya kamungkinan bakal aya kajadian dimana kode kudu disaluyukeun sareng salasuh kasus di sadaya kamungkinan eta kedah dirobah dina urutan pikeun mastikeun yén hal éta bakal leres leres.
    2. Aya sumberdaya finansial anu didirikeun sacara resmi pikeun mayar pamekar anu sacara sukarela investasian waktos maranéhanana pikeun prosés migrasi ieu. Kusabab ieu, eta bakal hésé pisan masihan katerangan anu pasti sabaraha waktos unggal bagian tina prosés anu ditayana. Kateupastian ieu kedah dileupaskeun dina rarancang. Tangtosna wilujeng sumping ka sumbangan dibuka pikeun mantuan ieu lumangsung.
    3. Meureun aya pamekar sareng lembaga kaluar didinya anu ngarencanakeun fitur-fitur anyar kanggo serial 2.x QGIS sareng hal ieu tiasa mangaruhan pagawéan. Kami kedah diantarana dina rencana sareng budget tina proyék ieu, sabagian alokasi pikeun nungkulan hijrah ka platform 3.x of QGIS.
    4 Upami tim QGIS berpungsi dina "total parobihan", bakal aya waktos anu cekap salami dimana QGIS bakal stabil sareng terus-terusan robih kusabab parobihan anu lumangsung ka QGIS 3.0.
    4 Upami éta berkembang dina cara "évolusionér", aya résiko anu pangwangunan 3.0 tiasa langkung lami kecuali aya grup satia pamekar anu ngerjakeun ieu sareng nyayogikeun aranjeunna siap migrasi.

    Usulan

Dina cahya sadaya inpormasi di luhur, aya salah sahiji tina dua jalur aksi anu diusulkeun:

Usul 1:

Ngaleupaskeun versi 2.16 saheulaanan lajeng ngawitan dianggo kana versi 3.0 salaku prioritas, kalayan jandéla ngembangkeun bulan 8. Parobihan anu dijieun dina versi 2.16 bakal cocog sareng versi 3.0 (tingali python3 / pytq5).

Usul 2:

Jalankeun sakaligus ka 3.0 kalayan jandela anu leuwih ngalegaan dina QT5, Python 3.0 na PyQt5, sareng ngajak pamekar anu dianggo kana 3.0. Terus ka versi 2.x ku frékuénsi anu biasa dugi 3.0 geus siap.

Usulan alternatif

Dupi anjeun ngagaduhan proposal? QGIS resep kabetot ngeunaan alternatipna kamungkinan. Upami anjeun badé naroskeun proposal, mangga kirimkeun ka tim@qgis.org kalayan judulna "Proposal QGIS 3.0".

Real perlu dilegakeun nuturkeun QGIS blog, Dimana ieu publikasi ieu asalna.

Ngantunkeun balesan

email alamat anjeun moal diterbitkeun.

Situs migunakeun Akismet pikeun ngurangan spam. Diajar kumaha data anu diolah pikeun komentar Anjeun.