web sdk设计(二)

166 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情

上一章,我们讲了常规的websdk的设计思路。我们这次来看看,sdk设计的具体细节。

首先我们需要考量一下整个sdk的具体模块划分。首先就是我们需要暴露给外部的api,另外就是内部的实现细节。那么如果确定这部分该怎么写呢

我们首先要进行一下api的拆解。我们需要明确的是我们要实现一个什么样的目的,答案就是实现一个sdk,这个sdk包含前端需要的一切运行时的东西。

那么我们看看运行时都包含哪些东西?

  1. react等基础运行框架 这个就不用说了,非常底层,但是这部分的话我们具体交给哪一部分去做,是交给umi这种框架去接管,还是我们手动收敛一个进来。可以有umi的时候交给umi去托管,没有的时候我们也可以引一个进来,这些东西虽然重要,但是没什么变化,所以总的来说还好。
  2. 浏览器兼容polyfill等 这也是每个项目必不可少的一个功能,我们需要它来满足低版本浏览器能够试用我们的内容。这个可以内置到我们的包里
  3. 业务组件包 这部分也需要收敛,业务里有一些比较常用的业务包,这个也是能提效的一个手段
  4. 三方组件包 如antd等,这些都是我们b端系统不可获取的一部分,这个一定是要考虑到的,非常重要。另外它也包含很多其它的三方库,现代前端工程都基于三方库,所以不能少
  5. 打点
  6. 数据统计,和上面的打点一样,都是业务里非常常用的一些功能,如果缺少了可能造成问题无法排查。

剩下的我们下一章可继续探讨。