Skip to content

Motivation

Lee Yeh edited this page Jul 9, 2020 · 2 revisions
  1. 在 LeanCloud 我们现在有三个 SDK(storage、realtime、play),他们都支持多个平台。只要其中一个平台的 API 有更新,我们就得升级三个 SDK 并更新版本号,这是机械重复的工作。我们之前抽象了 https://github.com/leancloud/weapp-polyfill 来在三个 SDK 之间共享一部分代码,但是 SDK 对 polyfill 依然是依赖关系,「升级」的重复工作仍然存在。
  2. 我们支持的平台越多,这种与特性平台相关的升级就会越来频繁,很快我们的 SDK 就会更新到 v3.103.4。更糟糕的是如果某个平台 API 发生了对我们有影响的 breaking change,我们的 SDK 也需要升大版本(比如 React Native deprecate 了内置的 AsyncStorage)。这些升级会导致 SDK 真正有意义的更新信息在版本号里得不到体现。
  3. 我们没有精力去维护所有市面上的平台,所以我们需要把 adapters 这一层协议标准化并公开出来让用户能方便的自行去实现 platform-adapters,这个标准化的结果就是 @leancloud/adapter-types。
Clone this wiki locally