QGIS 3.0 - Cara, kapan lan apa; nyebabake

Akeh kita mikir:

Kapan QGIS 3.0 bakal dirilis?

Taun kepungkur (2015) tim proyek wiwit neliti nalika lan carane QGIS 3.0 bakal dirilis. Padha prajanji, miturut kirim saka Anita Graser, sing bakal jelas ngirimake menyang pangguna lan pangembang rencana sadurunge ngetokake QGIS 3.0. Bubar padha nyoba kanggo ngetokke sawetara pertimbangan kanggo peluncuran QGIS 3.0 lan ing mburi posting ana kesempatan kanggo kita saiki gagasan kita.

Apa 3.0?

QGis_LogoBiasane versi utama ditrapake kanggo kaping nalika owah-owahan gedhe digawe kanggo API saka piranti lunak. Pecah iki ora minangka keputusan kaputusan kanggo proyek QGIS awit kita ana atusan ewu pangguna sing gumantung marang QGIS, loro-lorone nganggo dhewe lan kanggo layanan sing disedhiyakake marang pihak katelu.

Saka wektu kanggo wektu ngobong API perlu kanggo nampung update arsitektur kanthi perbaikan dawa, perpustakaan anyar lan koreksi kanggo pancasan sing digawe ing jaman kepungkur.

Apa akibat saka mecah API?

Salah sijine alasan kanggo ngatasi API ing QGIS 3.0 yaiku bakal duwe dampak gedhe, sing bisa ngilangi atusan plugins sing dikembangake sing bakal ora kompatibel karo API anyar lan penulis iki kudu review saka perkembangane kanggo mesthekake kompatibilitas karo API anyar.

Luwih saka owah-owahan sing diperlokake gumantung banget menyang:

  • Carane akeh owah-owahan API mengaruhi fungsi sing saiki.
    Ing pirang-pirang titik penulis plugin wis nggunakake bagian API sing bakal padha ganti.
  • Apa sing bakal dadi owah-owahan utama kanggo 3.0?

Ana papat area utama sing pengin diganti ing 3.0:

Nganyari Qt4 menyang QT5: Iki minangka pustaka dhasar perpustakaan QGIS dibangun ing tingkat ndhuwur, kita ngomong babagan level fungsi CORE ing platform. QT uga nyedhiyakake perpustakaan kanggo manajemen mummy, operasi konektivitas lan manajemen grafis. Qt4 (sing saiki QGIS adhedhasar) saiki ora dikembangake dening sing tanggung jawab kanggo perpustakaan Qt lan bisa duwe masalah babagan segi fungsionalitas karo sawetara platform (umpamane, OS X) lan malah nggampangake manajemen versi binar (contone Uji Debian lan versi Debian "Stretch") sabanjure. Proses nggawa QGIS menyang QT5 wis duwe terobosan penting (utamane sing ditindakake Matthias Kuhn) sing bebarengan karo asap Marco Bernasocchi ing Android «QField» adhedhasar QT5. Nanging, ana sawetara watesan kanggo ngluncurake QT5 anyar amarga pengaruhe ing QGIS - utamane karo widget browser web (umume digunakake ing Komposer lan uga sawetara papan liya ing QGIS).

Update PyQt4 kanggo PyQt5: Iki minangka owah-owahan relatif marang basa Python kanggo Qt sing basis QGIS Python API. Bab iki diajokna kanggo ngganti perpustakaan QT5 C ++, uga wis diparani kanggo mindhah perpustakaan Python menyang PyQt5 supaya keuntungan saka API QT5 anyar ing Python bisa dimanfaatake.
Nganyari Python 2.7 kanggo Python 3: Saiki kabeh dianggo ing Python 2.7. Python 3 minangka versi paling anyar saka python lan dianjurake dening wong-wong sing mimpin proyek kasebut. Python rada kompatibel karo 2 3 Python (ing meh ceceg menyang Diprakirakaké antarane QGIS bakal 2 lan 3 Qgis langkah). Akeh gawe wis rampung python Python 3 umumé kompatibel karo versi sadurungé saka Python 2, nanging kompatibilitas mundur ora apik.
Peningkatan API QGIS dhewe: Salah sawijining masalah sing njaga kompatibilitas API antarane versi yaiku sampeyan kudu manggon karo opsi desain kanggo jangka panjang. Ing QGIS, saben gaweyan ora digawe kanggo ngilangi API sajrone rilis cilik. Ngundhuh versi QGIS kanggo 3.0 kanthi API sing ora kompatibel karo saiki bakal menehi kesempatan kanggo "ngresiki omah" kanthi ndandani apa-apa ing API sing kita karo sing ana nonconformity. Sampeyan bisa ndeleng dhaptar sementara Owahan sing diusulake kanggo API 3.0.

Carane ndhukung owah-owahan API 3.0

Minangka wis kasebut, versi 3.0 break karo versi QGIS 2.x nimbulaké lan ana kamungkinan sing akeh Plugins, aplikasi sing wis ana lan kode sing adhedhasar API breakage saiki. Dadi, apa sing bisa kanggo ngatasi owah-owahan? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias lan gawe utama wis looking for cara kanggo ngurangi nomer API bejat owahan taksih kode basa QGIS adhedhasar generasi sabanjure perpustakaan lan API internal dhewe. Sak Komite Steering QGIS Project rapat pungkasan kita iki geofumó liwat macem-macem kemungkinan. Tabel ing ngisor iki ngringkes apa Matthias Kuhn nyimpulaken alon-alon lan sebagéyan wis nyoba kanggo transliterate ing artikel iki miturut apa dikirim ing blog:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Tanggal rilis Akhir Februari 4 wulan salajengipun 2.14 8 siklus sasi?
Cathetan Nganyari kode python inti QGIS dadi kompatibel Python 3 lan PyQt5 (implementasi sebagean kanggo fungsi utas eg konsol, plugin inti python dll)
Qt4 Si

Ora ana owah-owahan ing Debian Stretch (amarga ing taun)

(webkit dibusak)

Ya Ora Ana
Qt5 Ora Ana

Bingung QWebView - panggantos anyar ora ing kabeh platform. Uga mbingake QPainter Engine.

Si Si
PyQt4 Si Si Ora Ana
PyQt5 Ora Ana Si Si
Python 2 Si Si Ora Ana
Python 3 Ora Ana Si Si
API Mbusak Ora Ana Ora Ana Si
Wrappers
PyQt5 -> PyQt4
Nyedhiyakake ~ 90 Compatibility Backward
Ora Ana Si Si
Binary mainstream Qt4 Based Qt4 Based Qt5 Based
Prioritas pendanaan Pembungkus Python

Ana rong perkara penting kanggo mbudidaya babagan proposal Matías:

Ing tahap kapisan, karya kasebut rampung ing seri 2.x kanggo ngrampungake dhukungan kanggo QT5, PyQt5, nggunakake Python 3.0, ndhukung Qt4, PyQt4 lan Python 2.7. Iki nyebabake yen kabeh owahan sing digawe ing tahap pertama bakal cocog karo versi 2.x sadurungé. Ciri-ciri Python akan dikenalkan supaya API PyQt4 yang lama masih bisa digunakan terutama saat kompilasi terhadap QT5, PyQt5, Python 3.0. Nalika nggunakake QGIS kanggo nglumpukake Qt4, PyQt4 lan Python 2.7 ora bakal ana kompatibilitas kerusakan.
Ing tahap kaping kalih, kita bakal bisa ngasilake QGIS 3.0, ngenalake API anyar, Python 2.7 bakal rampung ngilangi, kalebu dukungan kanggo Qt4 lan PyQt4. Fungsi fungsionalitas python sing anyar sing diwenehake ing tahap kapisan bakal dikelola, miturut kabeh kode lan perkembangan python kanggo versi 2.x QGIS bakal terus digunakake ing versi QGIS 3.x. Ing tahap iki uga bakal samesthine kanggo ngenalaken owah-owahan ing API QGIS sing bisa ngilangi sawetara plugin. Kanggo ngatasi masalah iki, kita bakal nyedhiyani pandhuan migrasi kanggo nyoba kanggo nggampangake proses migrasi saka 2.x versi QGIS menyang versi 3.x QGIS.

Caveat emptor

Ana sawetara trik sing kudu dipertimbangkan kanggo njamin yen migrasi menyang QGIS 3.0 muni ora angel.

  • 1. SPerlu digatekake yen pendekatan sing didhekake ing ndhuwur nyoba ngurangi jumlah karya sing ana ing skrip babagan python ing plugin, iki ora kudu ana ing 100%. Ana kemungkinan bakal kasus ngendi kode kudu disetel lan ing kabeh kasus paling mesthine kudu direvisi kanggo mesthekake yen tetep bisa dienggo kanthi bener.
    2. Ora ana sumber finansial sing didegaké kanthi resmi kanggo mbayar pangembang sing kanthi sukarela nandur modhal kanggo proses migrasi iki. Amarga iki, bakal angel banget kanggo menehi tundhuk tepat saben wektu saben bagean proses bakal njupuk. Ketidakpastian iki kudu ditrapake ing perencanaan. Mesthi wae sambutan kanggo sumbangan dibukak kanggo mbantu nggawe iki.
    3. Ana uga pangembang lan lembaga metu ana sing mbiyantu fitur anyar kanggo seri QGIS 2.x lan bisa nyebabake karya kasebut. Kita kudu nyakup rencana lan anggaran proyèk-proyèk iki, sawetara alokasi kanggo nangani migrasi menyang platform 3.x saka QGIS.
    4. Yen tim QGIS nggarap "owah-owahan total", bakal ana wektu sing relatif singkat nalika QGIS bakal ora stabil lan saya owah-owahan amergo pembaruan sing aktif kanggo QGIS 3.0.
    4 Yen berkembang kanthi cara "evolusi", ana risiko pangembangan 3.0 luwih suwe kajaba ana sawijining pemaju sing setya nggarap iki lan nggawe dheweke siap pindhah.

    Usulan

Ing salebetipun ngemot informasi ing nginggil, salah satunggal saking kalih tindakan ingkang dipun usul:

Proposal 1:

Ngundhuh versi 2.16 sementara banjur wiwit digunakake ing versi 3.0 minangka prioritas, kanthi jendela pangembangan wulan 8. Owah-owahan sing digawe ing versi 2.16 bakal kompatibel karo versi 3.0 (pirsani python3 / pytq5).

Proposal 2:

Bukak sapisan menyang 3.0 kanthi jendhela sing luwih lengkap ing QT5, Python 3.0 lan PyQt5, lan takon pangembang kanggo ngerjakake tugas ing 3.0. Terusake karo versi 2.x kanthi frekuensi biasa nganti 3.0 siap.

Usulan alternatif

Apa sampeyan duwe proposal alternatif? QGIS kasengsem ngerteni kemungkinan alternatif. Yen sampeyan pengin ngirim proposal, kirim menyang tim@qgis.org karo subyek "Proposal QGIS 3.0".

Iku trep kanggo ngetutake Blog QGIS, ing ngendi iki publikasi.

Ninggalake balesan

Panjenengan alamat email ora bisa diterbitake.

Situs iki nggunakake Akismet kanggo ngurangi spam. Sinau babagan data komentar sampeyan diproses.