QGIS 3.0 - Cumu, quandu è chì; implica

Parechje persone:

Quandu QGIS 3.0 serà liberatu?

L'annu passatu (2015) u gruppu di u prughjettu hà iniziatu per studià quandu è quandu QGIS 3.0 hè statu liberatu. Demu prumittu, sicondu un postu da Anita Graser, chì puderà esse trascorsi chjaramente in l'utilizatori è i sviluppatori di i so piani prima di inizià u QGIS 3.0. I ricordi anu pruvatu à esposerà parechji cuncetti per un prugettu di QGIS 3.0 è à a fine di u postu ci hè una pussibilità per noi di prisentà e nostre idee.

Perchè 3.0?

QGis_LogoNormalmente una versione maiò hè riservata per i tempi quandu un cambiamentu cambiatu hè fatta à l'API di u vostru software. Questa scuperta ùn hè micca una decisione triviala per u prughjettu di u QGIS da chì noi parechji cintatari di millaie d'utilizatori chì parte di u QGIS, per u so propiu usu è per u serviziu furnitu à terzu.

Appena spessu l'API hè necessariu per accodà l'aghjurnamentu di l'architettura cù avviamenti improvedu, e novi librettu è correczione à e decisioni fatte in u passatu.

Chì ci sò e cunsiquenzi di scuppiari l'API?

Unu poita issu ruttura di u API in QGIS 3.0 hè chì si hà da avè un granni affettu, chì pudia entra na cintinara di i plugins sviluppati chi avissi cchiù esse compatible cù u novu API è di sti l 'autura, sò à fà una rivista di i so sviluppi per assicurà a compatibilità cù a nova API.

L'estensione di i cambiamenti necessari depune à una grande parte di:

  • Quante cambiamenti à l'API affundate a funziunalità attuale.
    À quanti punti l'autori di u plugin anu fattu parte di l'API chì cambienu.
  • Chì ci seranu i principali per a 3.0?

Ci sò quattru duminii chjave chì vo circate di cambià in 3.0:

Actualizazione Qt4 per QT5: Questu hè u settu di basa di e bibliuteche in u quale QGIS hè custruitu in u livellu superiore, parlemu di u livellu CORE-funziunale di a piattaforma. U QT furnisce ancu e bibliutere per a gestione di mummia, operazioni di cunnessione è gestione di grafici. U Qt4 (nantu à quale QGIS hè attualmente sviluppatu) ùn hè attualmente sviluppatu da quelli rispunsevuli di a libreria Qt è pò avè prublemi in quantu à u funziunamentu cù qualchì piattaforma (per esempiu, OS X) è ancu facilità a gestione di e versioni binari. (per esempiu Test di Debian è a prossima versione di Debian "Stretch"). U prucessu di portà QGIS à QT5 hà digià un avanzamentu impurtante (principalmente ciò chì Matthias Kuhn hà fattu) chì inseme cù Marco Bernasocchi fuma in l'Android «QField» basatu interamente nant'à QT5. Tuttavia, ci sò qualchì limitazione in u lanciamentu di u novu QT5 per via di u so impattu in QGIS - in particulare cù widgets di u navigatore web (principarmenti usati in u Compositore è ancu alcuni altri posti in QGIS).

Actualizazione PyQt4 à PyQt5: Quessi sò i cambiamenti relattivi à a lingua di pitone per Qt nantu à quale hè a basa di l'API QGIS Python. Nasci canciari biblioteca u QT5 C ++, hè sicuru dinù di trasfiriri a biblioteca python & PyQt5 cusì chì si pò dispone di u prufitta di u novu API in pitone QT5.
2.7: Aghjurnà Python 3 à Python Avà, tutte ciò chì ghjorni allora nantu à Python 2.7. Python 3 hè a ultima versione di pitone è hè cunsigliata da quelli chì dirigenu u prugettu. Python 2 hè un incongruitate incorruptible cù Python 3 (à un quantu casi proporcional à l'incompatibile entre QGIS 2 è Qgis 3). Parechji sviluppazioni sò furmatu Python Python 3 largamente compatible cù e versione di Python 2, ma a cumpatibilità inversa ùn hè micca cusì bellu.
Ammaistrà l'Appie QGIS stessu: Un di i prublemi cù i quali mantene una compatibilità di l'API tra e versioni hè chì devi vivere cù e vostre opzioni di cuncepimentu per un lungu tempu. In QGIS, ogni sforzu hè fattu per micca scuppi l'API in una serie di versioni minori. Rilasciare una versione QGIS per 3.0 cù una API chì ùn hè micca compatibile cù l'attuale vi darà un'opportunità di "pulì a casa" da a riparazione di cose in l'API chì simu cù chì ci hè mancanza di conformità. Pudete vede un elencu proviziunale di i Cambiamenti propositi per l'API 3.0.

Cumu sustene a cambià a 3.0 API

As digià citatu, a versione 3.0 una ruttura cù versione QGIS 2.x causari è ci hè a pussibilità chì parechji i plugins, appiicazioni esistenti e altri codici sò fundate nantu à a ruttura API realità. Cusì ciò chì pò esse fattu per mitigate i cambiamenti? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias è altri grandi sviluppori sò state cerca di vie à helluaturum u numeru di cambiamenti API jornu, mentri ancora avanzavanu versu u codice QGIS basi esse basata nantu à u prossimu generazione di Biblioteche e so API internu. In a nostra ultima reunione di u Cunsigliu Direzzione di u Progettu QGIS hè stata geofumata per mezu di diversi possibili. I verbi seguenti riassumi Matthias Kuhn mintuvati strata e parte aghju pruvatu à, transliterate in issu articulu sicondu ciò chì aghjustatu u vostru blogu:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Data di Data Fina di ferraghju 4 mesi dopu 2.14 Cycle 8 Months?
Noti Aghjurnamentu di prufonde codice QGIS python & pitone 3 à esse carer è sustegnu PyQt5 (matematiche parziale di chiavi stimulus funziunalitati, per esempiu, i plugins prufonde python & etc.)
Qt4 Si

Deprecatu in Debian Stretch (due in un annu)

(sitechit remové)

Innò
Qt5 Innò

Misses QWebView - novu sustituciu micca in tutti i plataformi. Inverisci ancu u QPainter Engine.

Si Si
PyQt4 Si Si Innò
PyQt5 Innò Si Si
pitone 2 Si Si Innò
pitone 3 Innò Si Si
API Cleanup Innò Innò Si
Wrappers
PyQt5 -> PyQt4
Provende ~ 90% Compatibilità a retrocedimentu
Innò Si Si
Principale Binarju Qt4 Basatu Qt4 Basatu Qt5 Basatu
Prima di finanzià Python wrappers

Ci hè dui cose impurtanti per guardà à mente nantu à a proposizione di Matias:

In a prima faseU travagliu hè fatta in u seria à compie 2.x sustegnu QT5, PyQt5 cù pitone 3.0, favurendu Qt4, PyQt4 è pitone 2.7. Quessu hè chì i cambiamenti realizati in a prima fase sò cumpatibili cù versione di 2.x. funziunalità pitone sarà ncurpurata hà èssiri misu tantu chi lu vecchiu API PyQt4 pò sempre esse usatu soprattuttu quandu cumpilatu contr'à QT5, PyQt5, pitone 3.0. Quandu utilizava QGIS compilatu contra Qt4, PyQt4 è Python 2.7, ùn esiste micca cumpatibilità di disgraziatu.
In a seconda fase, travaglià per pruduce QGIS 3.0, introdutte a nova API, cumpurtamentu eliminà Python 2.7, cumprendi ingaghjamentu per Qt4 è PyQt4. New features, in python & intrendu in lu prima fasa serà firmatu, presa in contu tutte e lu codice python & è sviluppi di versioni 2.x di QGIS cuntinuà à travaglià nant'à u versioni 3.x di QGIS. In questa fasi hè stasera di fà scopra i cambiamenti à l'API QGIS chì pò spuntà qualchì plugin. Per affruntà questu, avemu aduprà una guida di migrazzioni per pruvà à facilità à u migrativu di a versione 2.x QGIS versioni di 3.x QGIS.

Caveat emptor

Ci hè un coppiu di trucelli chì devenu esse stati postu per assicurà chì a migrazione à u QGIS 3.0 sona più poci dolorosa.

  • 1. SSemu devi esse nutatu chì, quandu l'accostu predeterminatu hè intinditu per minimizzà a quantità di u travagliu in python scripting in i plugins, questu ùn sarà micca in un 100%. Ci hè più prubabilmente casu induve u codice hè esse agitu è ​​in tutti i casi, almenu, averemu bisognu di esse rivista per assicurà chì segue a funzionà degne.
    2. Ùn ci hè micca un finanzamentu finanzatu formallyu pagatu à i sviluppatori chì volontà invistisce u so tempu in u prucessu migratoriu. Per via di questu, sarà assai difficiulmente d'accetta un schedellu exactu nantu à quantu longu cada parte di u prucessu hà da piglià. Questa incertezza deve esse cunsiderata in a pianificazione. Doni donni di cursu sò benvenuti per aiutà à fà sta succeta.
    3. Ci ponu esse sustinevuli è e stituzione à quellu chì sò finanzià funzioni novi per a serie QGIS 2.x è questu puderanu affettà u so travagliu. In i piani è u ublettu di sti prughjetti, alcunu assignazione per indirizzà a migrazione à a distribuzione 3.x di QGIS hà da esse include.
    4. Se u squadra di QGIS travaglia un "cambiu cumpletu", sarà un tempu relativamente breve per cui QGIS sarà instabile è cambia continuamente per via di l'aggiornamenti in continuu à QGIS 3.0.
    4 S'ellu si sviluppa in modu "evolutivu", ci hè u risicu chì u sviluppu 3.0 pò durà più di u menu chì ùn ci hè un gruppu fedele di sviluppatori chì travaglianu nantu à questu è di fà li pronti à migrà.

    Suggerimenti

A luce di tutte l'infurmazioni prima, una pruduzzione unu di e duie rienzione di l'azzioni:

Proposition 1:

Trascenda una versione 2.16 pruvisoria è da principià a publicazione di a versione 3.0 com una priorità, cù una finestra di cuncessione di 8 mesi. I cambiamenti realizati in a versione 2.16 anu da esse cumpatibili cù a versione 3.0 (vede python3 / pytq5).

Proposition 2:

Launch 3.0 à volta cù una finestra più longu in QT5, Python 3.0 è PyQt5, è dumandate à i desarrollatori per fà u so travagliu in 3.0. Continuate cù versioni 2.x in intervalli regulari finu à chì 3.0 hè prestu.

Proposti alternattivi

Avete una propositu alternativa? U QGIS hè interessu à sapè di e possu alternativu. Se vulete mandà una proposizione, mandate à manda tim@qgis.org cù u sughjettu "Proposta QGIS 3.0".

U U blog di QGIS, induve hè sta publicazione.

Lascia una risposta

U vostru indirizzu email ùn esse publicatu.

Stu situ utilizeghja Akismet per reducisce u puzzicheghju. Sapete ciò chì i dati di i vostri dati è processatu.