头图

SAP UI5 的 兼容性规则 Compatibility Rules

JerryWang_汪子熙

兼容性规则官网链接
以下部分描述了 SAP 在主要(major)、次要(minor)和补丁(patch)版本中可以更改的内容。 在使用 SAPUI5 或为 SAPUI5 开发应用程序、功能或控件时,请始终考虑这些规则。

作为应用开发人员,避免在 SAP UI5 代码中直接操作 CSS,例如:

domRef.className = "someCSSClass";

切勿使用或覆盖不属于 API 参考的“私有”函数。 私有函数通常(但不总是)以前面的“_”为前缀。 始终仔细检查 API 参考,那里没有列出私有函数。

API Evolution

除非另有说明,本节中的“API”一词指的是“公共 API”,意思是函数、类、命名空间、控件及其声明的属性、聚合等。

公共 API 的唯一定义是 API 参考即 API Reference,它包含在 SAPUI5 演示工具包中。 未提及的功能不是 API 的一部分。

以下规则适用于引入新 API 或对现有 API 进行不兼容的更改:

主要版本 (x.yy.zz 中的 x):新的主要版本可以引入新的 API 或对现有 API 进行不兼容的更改。

次要版本 (x.yy.zz 中的 yy):新的次要版本可以引入新的 API,但不得包含对任何 API 不兼容的更改。

补丁发布 (x.yy.zz中的 zz):新补丁版本仅包含对现有实现的修复,但通常不包含新功能或不兼容的 API 更改。

Compatible Changes

对现有 API 的以下更改是兼容的,并且可以随时完成:

(1) 添加新的库、控件、类、属性、函数或命名空间

(2) 概括属性,即在继承层次结构中向上移动属性

(3) 向枚举类型添加新值; 这意味着在处理枚举属性时,始终准备接受新值,例如,在对枚举值做出反应时实现“默认”或“其他”路径。

Incompatible Changes

以下内容不是公共 API 的一部分,也就是说它们可能会在补丁和次要版本中发生变化:

  • 开源库(参见第三方开源库)
  • 日志消息

以下对现有 API 的更改不兼容,但可以在新的主要版本中完成:

  • 重命名 API(库、命名空间、函数、属性、控件、事件等)
  • 删除对参数的支持
  • 删除对配置条目的支持
  • 降低 API 的可见性; 这不会破坏 JavaScript 应用程序,但会改变契约
  • 删除或重新排序 API 签名中的参数
  • 减少可接受的值范围,例如,函数的参数
  • 扩大返回值(或属性)的值范围。 例外:枚举
  • 在模块之间移动 JavaScript 工件(命名空间、函数、类)
  • 用前置条件检查替换断言
  • 在继承层次结构中向下移动属性(等等)
  • 更改枚举值的名称
  • 更改默认值(属性、函数参数)
  • 重命名或删除文件

Deprecation

如果可能且适当,我们会将旧工件标记为已弃用并创建新工件,而不是进行不兼容的更改。 相应 API 文档中的弃用注释,可能还有实现中的日志条目,解释了工件被弃用的原因和时间,并包含有关如何在不使用弃用功能的情况下实现相同结果的提示。

Third-Party Open Source Libraries

SAPUI5 包含并使用多个第三方开源库,例如 jQuery。 这些库也可由应用程序和/或自定义控件库使用,但本文档中描述的 SAPUI5 兼容性规则不适用于这些第三方库。

如果要使用 SAPUI5 中包含的第三方开源库,请注意以下限制:

SAP 决定提供所用库的哪些版本和模块。

即使在补丁版本中,SAP 也可以升级到所用库的更高版本。

如果我们更改为库的新默认版本,我们会记录可能对 SAPUI5 应用程序产生影响的发现(例如,请参阅从低于 1.20.0 的 SAPUI5 版本升级)。 确保在必要时调整您的代码!

出于安全等重要原因,SAPUI5 可以随时停止提供库。

第三方库按“原样”提供。 SAP 不执行或提供扩展、改编和支持。

阅读 229

Jerry Wang的SAP技术专栏
SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使

Jerry 2007年从电子科技大学计算机专业硕士毕业后进入SAP成都研究院工作至今, SAP社区导师,SAP中国技术...

781 声望
1k 粉丝
0 条评论

Jerry 2007年从电子科技大学计算机专业硕士毕业后进入SAP成都研究院工作至今, SAP社区导师,SAP中国技术...

781 声望
1k 粉丝
文章目录
宣传栏