QGIS 3.0 - Кантип, качан жана эмне; бул билдирет

Биз жөнүндө сурап жатышат:

Качан QGIS 3.0 бошотуп берет?

Өткөн жылы (2015) Долбоордун командасы качан жана QGIS 3.0 эркиндикке кантип иликтөө иштерин баштаган. Алар бир билдирүүгө ылайык, убадаланган Анита Graser, алар QGIS 3.0 чыгарганга чейин колдонуучуларга жана иштеп чыгуучуларга пландарын так жеткире турган болушту. Жакында алар QGIS 3.0 чыгарылышына байланыштуу айрым ойлорду ачыкка чыгарууга аракет кылышты жана билдирүүнүн аягында биздин идеяларыбызды сунуштоого мүмкүнчүлүк бар.

Эмне үчүн 3.0?

QGis_LogoАдатта, негизги версия сиздин программанын API-сине чоң өзгөртүү киргизилген учурга сакталат. Бул тыныгуу QGIS долбоору үчүн анчалык деле маанилүү эмес, анткени биз QGISке көз каранды болгон жүз миңдеген колдонуучуларбыз, өзүлөрүбүздүн жана үчүнчү жактарга көрсөткөн кызматтарыбыз үчүн.

Кээде API Мурда кабыл алынган чечимдерди өркүндөтүү мамилелер, жаңы китепканалар жана толуктоо менен архитектурасына тактоо эске алуу зарыл бузуп.

API бузуп кесепети кандай болот?

Мунун бир себеби QGIS 3.0 жылы API бул бузуу эмне үчүн мындан ары жаңы API шайкеш боло турган өнүккөн плагиндер жүздөгөн буза турган чоң таасир берет жана бул жазуучулар эмне деп жатат анын иштеп обзор жаңы API менен шайкеш камсыз кылуу.

зарыл болгон өзгөртүүлөрдү канчалык даражада көз каранды:

  • Көптөгөн API өзгөрүүлөр учурдагы иш- таасирин тийгизет.
    Канча упайлар плагиндер Жазуучулар өзгөртө турган API бөлүктөрүн колдонушкан.
  • 3.0 негизги өзгөрүүлөр кандай?

3.0 өзгөртүү издеп төрт негизги багыт бар:

 

QT4 жаъыртуунун үчүн Qt5: Бул QGIS жогорку деңгээлде курулган китепканалардын негизги топтому, биз платформанын CORE-функционалдык деңгээли жөнүндө сөз кылабыз. QT ошондой эле эс тутумду башкаруу, туташуу операциялары жана графикалык башкарууну жүргүзүү үчүн китепканаларды камсыз кылат. Qt4 (учурда QGIS негизделген) Qt китепканасы үчүн жооптуу адамдар тарабынан иштелип чыккан эмес жана кээ бир платформалар (мисалы, OS X) менен иштөө жагынан көйгөйлөргө туш болушу мүмкүн, ал тургай экилик нускаларды башкарууну жеңилдетиши мүмкүн (мисалы, Debian Testing жана жакында боло турган Debian "Stretch" версиясы). QGISти QT5ке келтирүү процесси буга чейин Марко Бернасокки менен биргеликте QT5ке негизделген Android «QField» системасында түтүн булаткан маанилүү илгерилөөгө ээ (негизинен Маттиас Кун жасаган). Бирок жаңы QT5ти QGISке тийгизген таасири үчүн айрым чектөөлөр бар - айрыкча веб-браузердин виджеттери менен (негизинен Composerде жана ошондой эле QGISтин кээ бир башка жерлеринде колдонулат).

PyQt4 PyQt5 жаъыртуунун үчүн: Бул өзгөртүүлөр QGIS Python API менен кокус үчүн Python тилине байланышкан негизделген. QT5 C ++ китепкана өзгөртүү келип, алар Python QT5-жылы жаңы API пайда алууга болот деген да PyQt5 жазганды китепканасына өткөрүп күтүлүүдө.
Берүүдөн Python Python 2.7 3 үчүн: Учурда баары Python 2.7де иштейт. Python 3 - бул python'дун эң акыркы версиясы жана ошол долбоорду жетектегендер тарабынан сунушталат. Python 2 Python 3 менен бир аз дал келбейт (QGIS 2 менен Qgis 3тин дал келбестигине дээрлик пропорционалдуу). Көптөгөн иштеп чыгуучулар Python 3 питонун негизинен Python 2 менен шайкеш кылышкан, бирок арткы шайкештик анчалык деле чоң эмес.
QGIS өз API жакшыртуу: Версиялардын ортосунда API шайкештигин сактоодогу көйгөйлөрдүн бири - дизайн тандооңуз менен узак мөөнөткө чейин жашашыңыз керек. QGISте кичинекей релиздердин катарында APIди бузбоого бардык аракеттер көрүлөт. API менен QGISтин 3.0 версиясын учурдагыдай эмес API менен чыгаруу, APIдеги биз шайкеш келбеген нерселерди оңдоо менен "үйдү тазалоого" мүмкүнчүлүк берет. Сиздин убактылуу тизмесин көрө аласыз 3.0 API өзгөртүүлөрдү сунуш.

3.0 API өзгөртүүгө кантип колдоо керек

Жогоруда айтылгандай, 3.0 версиясы QGIS 2.x версиясын бузат жана учурдагы API негизделген көптөгөн плагиндер, колдонмолор жана башка коддор бузулуп калышы мүмкүн. Ошентип, өзгөрүүлөрдү азайтуу үчүн эмне кылса болот? Маттиас Кун, Юрген Фишер, Найалл Доусон, Мартин Добиас жана башка мыкты иштеп чыгуучулар QGIS код базасын кийинки муундагы китепканаларга жана өзүнүн ички API-сине таянуу менен API тыныгуусун азайтуунун жолдорун издешти. QGIS Долбоорунун Жетектөөчү Комитетинин акыркы отурумунда биз ар кандай мүмкүнчүлүктөрдү пайдаландык. Төмөнкү таблицада Маттиас Кун эмне деп боорукердик менен кыскача баяндаган жана биз бул макалада жарым-жартылай эмнеге ылайык транслитерациялоого аракет кылганбыз. Алар өзүнүн блогунда басылып чыккан:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Чыгарган Date Жылдын акырына карата абал боюнча 4 2.14 ай ¿Cycle 8 ай?
жазуулар PyQt3 негизги QGIS Python коду Python 5 ичинен ылайык жана колдоо үчүн өзгөртүү (негизги өзгөчөлүгү мисалы консолуна үчүн жарым-жартылай ишке ашырууга, жазганды негизги плагиндер ж.б.)
Qt4 Si

Debian Стреч-жылы чыккан (бир жыл ичинде улам)

(-webkit алынып салынды)

Ооба Жок
Qt5 Жок

Misses QWebView - бардык аянтчалардын эмес, жаңы алмаштыруу. Ошондой эле QPainter Engine мүдүрүлөт.

Si Si
PyQt4 Si Si Жок
PyQt5 Жок Si Si
Python 2 Si Si Жок
Python 3 Жок Si Si
тазалоо API Жок Жок Si
Wrappers
PyQt5 -> PyQt4
~ 90% артка шайкеш келишин камсыз кылат
Жок Si Si
негизги бинардык негизинде Qt4 негизинде Qt4 негизинде Qt5
каржылоо артыкчылыктуу Python Wrappers

сунуш Матийге тууралуу эмнени белгилей кетүү керек, эки маанилүү нерсе бар:

Биринчи этаптаиш 2.x колдоо QT5 аягына чейин чыгаруу үчүн бир катар жасалат, PyQt5 Qt3.0, PyQt4 жана Python 4 колдоо, Python 2.7 колдонуу. Бул алгачкы баскычта жасалган өзгөрүүлөрдүн баары мурунку котормолордо 2.x менен туура экенин көрсөтөт. Python өзгөчөлүктөр киргизилет эски API PyQt4 дагы QT5, PyQt5, Python 3.0 каршы түзүлгөн өзгөчө колдонсо болот деп киргизилет. Qt4, PyQt4 жана Python 2.7 каршы түзүлгөн QGIS менен шайкеш сынмак эмес By.
Экинчи этаптаБул QGIS 3.0, жаңы API киргизүү, толугу менен Qt2.7 жана PyQt4 колдоо, анын ичинде, Python 4 алып өндүрүү үчүн иштейт. биринчи этабына өтүп дун жаңы өзгөчөлүктөрү сакталып, QGIS боюнча 2.x котормолордо бардык Python кодун жана окуяларды эске алуу менен QGIS боюнча 3.x түрү боюнча ишти мындан ары да болот. Бул этап, ошондой эле кээ бир плагиндерди бузууга мүмкүн QGIS API өзгөртүү киргизүү күтүлүүдө. Бул 2.x QGIS 3.x QGIS котормолорун котормолордо жер которушун көмөк аракет нускоочу парня көчүүсүн камсыз кылат чечүү үчүн.

Caveat Emptor

QGIS 3.0 үчүн орун аз оор үн камсыз кылуу үчүн сурап турган бир нече ыкмалары бар.

  • 1. SБелгилей кетүүчү нерсе, жогоруда айтылган ыкма плагиндердеги питон скрипттери боюнча иштин көлөмүн минималдаштырууга аракет кылса дагы, бул сөзсүз 100% түзбөйт. Кодду жаңыртууга туура келген учурлар болушу мүмкүн, жок дегенде, анын иштешин улантышына ынануу үчүн аны кайра карап чыгуу керек болот.
    2. Ушул миграциялык процессте өз убактысын өз ыктыяры менен жумшаган иштеп чыгуучуларга эмгек акы төлөө үчүн расмий түрдө түзүлгөн каржы булагы жок. Ушундан улам, процесстин ар бир бөлүгү канча убакытка созуларын так убакыт алкагын берүү өтө кыйынга турат. Бул белгисиздик пландаштырууда эске алынышы керек. Албетте, кайрымдуулук каражаттары бул нерсени ишке ашырууга жардам беришет.
    3. QGIS 2.x сериясына жаңы мүмкүнчүлүктөрдү каржылап жаткан иштеп чыгуучулар жана мекемелер болушу мүмкүн жана бул сиздин ишиңизге таасир этиши мүмкүн. Бул долбоорлордун пландарына жана бюджеттерине QGIS 3.x платформасына көчүү үчүн белгилүү бир каражатты кошуу керек.
    4. Эгерде QGIS командасы "толук өзгөрүүлөрдүн" үстүндө иштесе, анда QGIS 3.0 жаңыртылып жаткандыгына байланыштуу QGIS туруксуз жана туруктуу өзгөрүлүп турган салыштырмалуу кыска убакыт болот.
    4. Эгер сиз "эволюциялык" жол менен өнүксөңүз, анда сизде иштеп чыгуучулардын ишенимдүү тобу иштеп, көчүп барууга даярданбасаңыз, 3.0 иштеп чыгуу узак убакытты талап кылышы мүмкүн.

    сунуштар

Жогорудагы маалыматтардын негизинде иш-аракет кылып, эки сабактарынын бири сунушталат:

1 сунуш:

Убактылуу 2.16 версиясын чыгарып, андан кийин 3.0 версиясы боюнча жумушту приоритеттүү түрдө баштаңыз, иштеп чыгуу терезеси 8 ай. 2.16 версиясына киргизилген өзгөртүүлөр 3.0 версиясына шайкеш келет (python3 / pytq5 караңыз).

2 сунуш:

Lunging жолу QT3.0, Python 5 жана PyQt3.0 боюнча бир кыйла узак мөөнөтү терезесинде 5 жана 3.0 өз ишин аткарууга иштеп көр. 2 даяр чейин кадимки жыштыгы менен 3.0.x котормолордо улантуу.

башка сунуштар

Сизде альтернативдүү сунуш барбы? QGIS мүмкүн болгон альтернативалар жөнүндө билүүгө кызыкдар. Эгерде сиз сунуш киргизүүнү кааласаңыз, сураныч жөнөтүңүз tim@qgis.org тема менен "QGIS 3.0 сунуш."

аткарышы керек QGIS блогКайдан Бул китеп келди.

Жооп жаз

Сиздин электрондук почта дареги жарыяланбайт.

Бул сайт спам азайтуу Akismet колдонот. Сиздин сын-пикирлер үчүн иштелип жатканын билүү.