qgis

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'elli avianu da trasmette chjaramente i so piani à l'utilizatori è à i sviluppatori prima di lancià QGIS 3.0. Recentemente anu pruvatu à palisà alcune di e cunsiderazioni per una versione QGIS 3.0 è à a fine di u postu ci hè l'occasione per noi di presentà e nostre idee.

Perchè 3.0?

QGis_LogoTipicamente una versione maiò hè riservata per i tempi quandu un grande cambiamentu hè fattu in l'API di u vostru software. Questa pausa ùn hè micca una decisione banale per u prugettu QGIS postu chì simu centinaie di millaie d'utilizatori chì dipendenu di QGIS, sia per u nostru usu propiu sia per i servizii furniti à terzi.

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 settore di basa di biblioteche chì QGIS hè custruitu nantu à u livellu superiore, parlemu di u livellu CORE-funziunale di a piattaforma. QT furnisce ancu biblioteche per fà gestione di memoria, operazioni di cunnessione è gestione grafica. Qt4 (chì QGIS hè attualmente basatu) ùn hè micca sviluppatu da i mantenitori di a libreria Qt è puderia avè prublemi di funziunalità cù alcune piattaforme (per esempiu OS X) è ancu rende più faciule a gestione di versioni binari (per esempiu Debian Testing è a prossima versione Debian). "Stretch"). U prucessu di portà QGIS à QT5 hà digià un avanzu impurtante (principalmente ciò chì Matthias Kuhn hà fattu) chì, inseme cù Marco Bernasocchi, fuma nantu à l'Android "QField" basatu interamente in QT5. Tuttavia, ci sò alcune limitazioni per ottene u novu QT5 in funziunamentu per via di u so impattu nantu à QGIS - in particulare cù i widgets di u navigatore web (principalmente utilizati in Composer è ancu uni pochi 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 Attualmente tuttu funziona in Python 2.7. Python 3 hè l'ultima versione di python è hè cunsigliatu da quelli chì dirigenu stu prughjettu. Python 2 hè un pocu incompatibile cù Python 3 (quasi proporzionale à l'incumpatibilità trà QGIS 2 è Qgis 3). Parechji sviluppatori anu fattu Python Python 3 largamente retrocompatibile cù Python 2, ma a cumpatibilità retroattiva ùn hè micca cusì grande.
Ammaistrà l'Appie QGIS stessu: Unu di i prublemi cù u mantenimentu di a cumpatibilità API trà e versioni hè chì duvete campà cù e vostre scelte di disignu per a longa durata. Ogni sforzu hè fattu in QGIS per ùn rompe l'API in una seria di versioni minori. A liberazione di una versione QGIS per 3.0 cù una API chì ùn hè micca supportata attualmente, ci darà l'uppurtunità di "pulizziari a casa" correggendu e cose in l'API chì ùn simu micca conformi. Pudete vede una lista pruvisoria di Cambiamenti propositi per l'API 3.0.

Cumu sustene a cambià a 3.0 API

Cum'è digià menzionatu, a versione 3.0 romperà cù a versione 2.x di QGIS è ci hè una possibilità chì parechji plugins, applicazioni esistenti è altri codici basati annantu à l'API attuale si rompenu. Allora chì si pò fà per mitigà i cambiamenti? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias, è altri sviluppatori principali anu cercatu modi per mitigà u numeru di cambiamenti di pausa API mentre continuanu à fà avanzà a basa di codice QGIS basata annantu à a prossima generazione di biblioteche è a so propria API interna. Durante a nostra ultima riunione di u Cumitatu di Direzzione di u Prughjettu QGIS hè stata geofumata per mezu di varie possibilità. A tavula chì seguita riassume ciò chì Matthias Kuhn ha riassunto graziosamente è chì avemu in parte pruvatu à traslitterà in questu articulu secondu 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. SCi hè da nutà chì mentre l'approcciu stabilitu sopra cerca di minimizà a quantità di travagliu nantu à scripting di pitone in plugins, questu ùn serà micca necessariamente 100%. Probabilmente ci seranu casi induve u codice deve esse modificatu è in tutti i casi, almenu, duverà prubabilmente esse rivedutu per assicurassi chì continui à funziunà currettamente.
    2. Ùn ci hè nisuna risorsa finanziaria furmalmente furmata per pagà i sviluppatori chì investenu voluntariamente u so tempu per stu prucessu di migrazione. Per via di questu, serà assai difficiule dà rigali di tempu esatti per quantu tempu durerà ogni parte di u prucessu. Questa incertezza deve esse presa in contu in a pianificazione. Benintesa i donazioni sò benvenuti per aiutà à fà cusì.
    3. Ci ponu esse sviluppatori è istituzioni chì finanzanu e nuove funzionalità per a serie QGIS 2.x è questu pò influenzà u vostru travagliu. Hè necessariu inserisce in i piani è i bilanci di sti prughjetti, una certa attribuzione per affrontà a migrazione versu a piattaforma QGIS 3.x.
    4. Se u squadra QGIS travaglia nantu à un "cambiamentu tutale", ci sarà un tempu relativamente cortu durante u quale QGIS serà inestabile è cambiante constantemente per via di l'aghjurnamenti in corso à QGIS 3.0.
    4. Sè vo sviluppate in un modu 'evulutivu', vi curriri lu risicu chì u sviluppu 3.0 pò piglià più di più, salvu ùn avete un gruppu fideli di sviluppori chì travaglianu nantu à questu è uttene prontu à u portu.

    Suggerimenti

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

Proposition 1:

Rilasciate una versione interim 2.16 è poi cuminciate à travaglià nantu à a versione 3.0 cum'è priorità, cù una finestra di sviluppu di 8 mesi. I cambiamenti fatti in a versione 2.16 circaranu à 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 pruposta alternativa? QGIS hè interessatu à cunnosce l'alternative pussibuli. Se vulete mandà una pruposta, per piacè mandà à tim@qgis.org cù u sughjettu "Proposta QGIS 3.0".

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

Golgi Alvarez

Scrittore, ricercatore, specialista in Modelli di Gestione di u Territoriu. Hà participatu à a cuncepimentu è l'implementazione di mudelli cum'è: Sistema Naziunale di Amministrazione di Proprietà SINAP in Honduras, Mudellu di Gestione di Municipalità Conjunte in Honduras, Modellu Integratu di Gestione di Catastru - Registru in Nicaragua, Sistema di Amministrazione di u Territoriu SAT in Colombia . Editore di u blog di cunniscenza Geofumadas dapoi u 2007 è creatore di l'Accademia AulAGEO chì include più di 100 corsi nantu à temi GIS - CAD - BIM - Digital Twins.

Artìculi Related

Lascià un cumentu

U vostru indirizzu email ùn esse publicatu. campi, nicissarii sò marcati cù *

Vedi Also
chiudi
Torna à u buttone di prima