QGIS 3.0 - 如何,何时以及如何; 手段

我们很多人都在问:

QGIS 3.0何时发布?

去年(2015),项目组开始调查QGIS 3.0何时何地被发布。 他们承诺,根据一个职位 安妮塔·格雷泽在启动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还提供了用于木乃伊管理,连接操作和图形管理的库。 Qt库的负责人目前尚未开发Qt4(当前基于QGIS的Qt5),并且在某些平台(例如OS X)的功能方面可能存在问题,甚至可以简化二进制版本的管理。 (例如Debian Testing和Debian的下一版本“ Stretch”)。 将QGIS引入QT5的过程已经有了重要突破(主要是Matthias Kuhn所做的),与Marco Bernasocchi一起在完全基于QT5的Android《 QField》上进行了开发。 但是,由于新的QTXNUMX对QGIS的影响,因此在启动新的QTXNUMX时存在一些限制-尤其是与Web浏览器窗口小部件(主要在Composer和QGIS中的其他地方使用)一起使用时。

PyQt4到PyQt5更新: 这些是QGIS Python API所基于的Qt的Python语言的相对变化。 提出改变QT5 C ++的库,还希望将python库移动到PyQt5,以便可以利用Python中新的QT5 API的优点。
更新的Python Python的2.7 3到: 目前一切都运行在Python 2.7上。 Python 3是最新版本的python,由那些领导该项目的人推荐。 Python 2与Python 3略有不兼容(在一定程度上与QGIS 2和Qgis 3之间的不兼容性成正比)。 许多开发人员使Python Python 3与早期版本的Python 2大部分兼容,但是反向兼容性并不如此。
提高QGIS自己的API: 维护版本之间API兼容性的一个问题是,您必须长期使用您的设计选项。 在QGIS中,我们尽一切努力不在一系列次要版本中破坏API。 QGIS发布一个版本3.0与不支持的API与目前有机会“清理门户”通过我们在那里与不合格的API在固定的东西。 你可以看到一个临时列表 3.0建议修改API.

如何支持更改3.0 API

如前所述,该版本与3.0 QGIS版本休息2.x引起,并且存在很多的插件,现有的应用程序和其他代码基于当前的API破损的可能性。 那么,什么可以做,以减轻变化? 马赛厄斯·库恩,尤尔根·费希尔,尼亚尔·道森,马丁·多比亚斯等各大开发商一直在寻找方法来减轻API重大更改的数量,同时还在推进基本代码QGIS基于下一代图书馆和自己的内部API。 在我们最后一次见面QGIS项目指导委员会通过各种可能性geofumó。 下表总结了马赛厄斯·库恩轻轻地总结和部分试图根据本文音译什么 他们发表在自己的博客:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
fecha的lanzamiento 二月底 4 2.14个月 ¿周期8个月?
笔记 核心QGIS Python代码的Python 3,来更新兼容,并支持PyQt5(关键功能如控制台部分实现,蟒蛇核心插件等)
Qt4 Si

不推荐使用Debian中伸展(由于在一年中)

(-webkit移除)

没有
Qt5 没有

小姐QWebView - 新的替换并非在所有平台上。 还差QPainter的引擎。

Si Si
PyQt4 Si Si 没有
PyQt5 没有 Si Si
Python的2 Si Si 没有
Python的3 没有 Si Si
清理API 没有 没有 Si
包装
PyQt5 - > PyQt4
〜90%提供向后兼容性
没有 Si Si
主流二进制 基于Qt4 基于Qt4 基于Qt5
投资重点 Python包装

还有需要注意的建议马蒂亚斯两个重要的事情:

在第一阶段这项工作是在系列来完成的2.x支持QT5,PyQt5使用Python 3.0,支持Qt4,PyQt4和Python 2.7。 这意味着,在第一阶段的所有更改会与早期版本兼容2.x。 Python的功能将被纳入将被引入,使旧的API PyQt4仍可特别是当对QT5,PyQt5,巨蟒3.0编译使用。 通过使用针对Qt4,PyQt4和Python 2.7编译QGIS不会破坏兼容性。
在第二阶段它的工作产生QGIS 3.0,引入新的API,完全删除了Python 2.7,包括Qt4和PyQt4支持。 在Python中的新功能进入第一阶段将维持,考虑到所有的Python代码和发展的QGIS的2.x版本继续在QGIS的3.x版本。 这个阶段也有望出台QGIS API,可能会影响一些插件的变化。 为了解决这个问题将提供指导AA迁移,试图促进版本的2.x QGIS 3.x QGIS版本的迁移。

买者自负

有一些技巧,以被要求确保迁移到QGIS 3.0听起来不那么痛苦。

  • 1。 小号Ë应注意的是,虽然重点是建立以尽量减少对Python脚本插件的工作量,这不一定是100%。 将有其中的代码最有可能的情况下进行调整,并至少在所有的情况下,你可能为了进行修改,以确保其继续正常运行。
    2。 有没有正式设立的财务资源来支付开发商谁自愿投入时间这个迁移过程。 正因为如此,这将是非常困难的给予确切的时间会多久过程的每一个组成部分。 它应该考虑到规划的这种不确定性。 当然捐赠欢迎打开,以帮助实现这一目标。
    3。 有可能是开发商和机构,在那里,正在资助新功能2.x QGIS系列,这会影响他们的工作。 被列入计划,这些项目的预算,一些分配,以解决移民到3.x QGIS平台。
    4。 如果QGIS团队进行“全面更改”,那么由于QGIS 3.0的持续更新,QGIS将不稳定且不断变化的时间相对较短。
    4 如果以“进化的”方式进行开发,则存在3.0开发可能需要更长的时间的风险,除非有一群忠实的开发人员致力于此工作并准备好进行迁移。

    建议

在所有上述信息光,行动的两个过程之一提出:

1建议:

2.16发布一个版本草案,然后开始工作的3.0版本作为优先事项,窗口发展8个月。 在版本2.16所做的更改。寻求3.0版本兼容(见python3 / pytq5)。

2建议:

冲刺一次与QT3.0,Python的5和PyQt3.0更加延长持续时间窗口5并要求开发商做他们的工作3.0。 继续2.x版本,以与通常的频率,直到3.0已准备就绪。

替代方案

你有没有替代方案? 一个QGIS关心的可能替代任何东西。 如果你想提交一份建议,请发送 tim@qgis.org 主题为“QGIS 3.0 Proposal”。

应遵循 QGIS博客,从哪里来本出版物。

发表评论

您的电子邮件地址将不会被发表。

本网站使用Akismet来减少垃圾邮件。 了解您的评论数据是如何处理的.