SDK发布报告—保障SDK的质量与稳定性

简介: SDK发布报告的透明化,能够有效为产品方提供发布策略、为客户提供SDK升级指导,极大保障SDK的质量与稳定性。

前言

4 月 11 日,阿里云智能集团 CEO 张勇在阿里云峰会上表示,让算力更普惠,而关于“普”提到的三个关键词中有两个是:提升开发者自服务、降低开发门槛。

阿里云 SDK 的历史发展也一直围绕着这两个关键词走过了许多个阶段,阿里云 SDK 趋于面向开发者更加透明与低成本的方向持续演进,而现如今 SDK 也迈入了对客更透明的新阶段。今天给开发者们介绍一个具有 SDK 里程碑意义的新功能 - SDK 发布报告>>点击SDK发布报告,了解更多详情1681192185177-ad137647-18eb-4d96-8957-be1297ade74e.png

SDK 开发者总是会有以下问题:

新版本 SDK 是否值得升级?

升级 SDK 新版本,代码该怎么调整?

升级 SDK 需不需要升级除了该产品SDK之外的库?

怎样进行版本依赖才不会导致依赖冲突?

担心升级版 SDK 的稳定性和安全性?

......

SDK 发布报告正是为了解决这些问题而诞生!


产品功能

SDK 发布报告大致分为几个部分:标题与 Badge、SDK 依赖核心库变更、OpenAPI 原子变更、生成器变更、Endpoint 变更、Deprecated 接口检测、SDK 测试报告


标题与 Badge

发布报告通过几个格式的 Badge,在文档标题表明该版本 SDK 的检测结果,例如:D1C5EBF4-7F9C-4c7d-B0C2-D0712CDD0BB2.png

目前所有 Badge 的含义如下:

1.API变更兼容性:

ave1a-ed3t5.png

API 变更是兼容的

aucvn-u68r0.png

API 存在不兼容变更

2.SDK变更兼容性:

as2pv-mgkpt.png

SDK 变更是兼容的

a1dqc-ydvqh.png

SDK 存在不兼容变更

3.SDK核心库变更兼容性:

auxoz-73c3t.png

SDK 核心库变更是兼容的

aown6-4rbhb.png

SDK 核心库存在不兼容变更

4.SDK API参考指南:

a4j19-jaruq.png

SDK 支持 API 参考指南

af1x8-1aroi.png

SDK 不支持 API 参考指南

5.SDK Endpoint规则映射:

acr92-qc7ca.png

SDK 支持 Endpoint 自动映射

a7iu8-gpvvp.png

SDK 不支持 Endpoint 自动映射


SDK 依赖核心库的变更

核心库是阿里云 SDK 的基础库之一,包含了一些通用功能和基础类,例如 HTTP 请求、签名、字符串处理、编解码等。无论是哪个语言、哪个云产品的 SDK,都需要引用核心库来实现通用的基础功能,而随着 SDK 的迭代升级,依赖库也可能存在变更升级。依赖库更是官方 SDK 最核心的部分,使用官方 SDK 极大的提高了开发者调用阿里云 OpenAPI 的效率,降低了非常多不必要的自开发工作。

1680596339715-5ff8f677-3c65-45cb-9fb3-43465f3b05a8.png


OpenAPI 原子能力变更

OpenAPI 的变更必须伴随 SDK 发布支持,否则新发布的 OpenAPI 变更在旧版 SDK 内是不可用的;OpenAPI 变更主要包括:新增 OpenAPI、请求与返回参数变更等变更类型和变更内容是由我们针对两个版本 SDK 对应的 API 元数据快照计算得出,兼容性的判断也有一套完整的规则。

BC9B8024-F639-4A9D-ADF2-C246BF66F701.png


SDK 生成器变更检测

生成器是不同语言SDK生产的统一出口,同时也负责SDK发布时的版本、变更日志、兼容性等信息写入发布报告。生成器的特性更新某种程度上代表SDK通用功能的升级迭代。

2E774AF4-D5CF-4A67-A5BF-03FF603B14EB.png


Endpoint 变更检测

Endpoint 是请求接口服务的网络域名随着云产品的服务部署地的变更与拓展,Endpoint会有对应的新增与变更。这部分信息的缺失甚至导致某些Region的请求失效。

159D186A-E7E0-4415-8855-9F17208C41B0.png


Deprecated 接口检测

SDK 发布报告中会对弃用(Deprecated)接口进行汇总,声明新增哪些弃用接口,以及声明弃用接口的替代接口,助力开发者对弃用接口的代码调用进行升级与迁移。


SDK 测试报告

除了知晓 SDK 新版本的变更内容,开发者对 SDK 可用性声明也最为关心。SDK 发布报告中提供了完整的 SDK 测试报告,内容包括测试覆盖率和测试通过率,会详细列出有哪些 OpenAPI 做了测试,哪些 OpenAPI 没有测试。

342A2984-D4CE-4369-BB55-8212FD3105BD.png

总结

目前九成以上的阿里云 OpenAPI 开发者都使用了我们的官方 SDK 集成云业务。随着产品能力的演进,无论是 OpenAPI 变更还是 SDK 自身基础能力的变更升级都是在所难免的,SDK 作为开发者与云产品交互的桥梁,稳定性无疑是最受关注的方面,而 SDK 发布报告的诞生解决了各版本 SDK 更新内容的不透明性,提升了开发者升级变更阶段的稳定性与安全性。

相关文章
|
6月前
|
测试技术 API 开发工具
|
6月前
|
JavaScript Java Maven
云效产品使用常见问题之android sdk 构建出aar后,上传到私有maven仓库失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
安全 开发工具 Android开发
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
1870 0
|
3月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
82 0
|
12天前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
39 1
|
22天前
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
41 7
|
3月前
|
开发工具 Android开发
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
166 4
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
|
3月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
301 4
|
3月前
|
开发工具 Android开发
Flutter: Android SDK not found at this location,Android Studio not found at xxx
Flutter: Android SDK not found at this location,Android Studio not found at xxx
157 2
|
3月前
|
开发工具 Android开发
[Android Studio]please select android sdk
[Android Studio]please select android sdk
62 1