本文介绍内容为阿里云 OpenAPI 开发者门户中的升级版 SDK 和原版 SDK 的区别。
对比项 | 原版 SDK(V1) | 升级版 SDK(V2) |
生成方案 | 基于模板生成,各编程语言之间采用不同的模板方案,各个语言之间功能完备程度不一致,使用体验不一。 | 基于 DSL 语言 Darabonba 方案生成。新方案通过 DSL 语言进行统一的中间表达,并进行了语法校验,使用体验一致。 |
语言支持 | 大部分云产品的老版本 SDK 无法支持超过3门以上的主流语言。 | 支持主流 8 门语言的 SDK 生成。 |
语言扩展 | 模板化生成,扩展难度太高,老版本 SDK 很难扩展新语言。 | 新语言生成器只需接入 DSL 语言的 AST 即可完成扩展,未来还会新增更多的语言。 |
SDK 示例 | 各语言间的代码示例不一致,不能保证代码的正确性。 | 各语言间的代码在逻辑行为上保持一致,通过中间语言来统一生成,具有校验能力,有效保证示例代码的准确性。 |
SDK 场景化示例 | 多语言场景化示例编写困难,极少有产品提供,覆盖语言数极少。 | 通过 DSL 一次编写就能生成多语言的 SDK 场景化示例,可以协助开发者极大的简化 SDK 使用的理解成本,参见SDK 示例中心。 |
总结
升级版 SDK(V2)较原版(V1)支持的语言更多,支持更复杂的 OpenAPI 使用场景,支持异步调用和同步调用,解决了原版 SDK 的部分历史遗留问题,使用起来更加灵活与强大。推荐新用户直接使用升级版 SDK(V2),老用户也欢迎尽快迁移到 V2 版本上,升级迁移过程中有任何问题欢迎加钉群咨询,群号:31875811(OpenAPI 开发者门户 - 值班服务群2群)。