最近公司在开发平台的iOS和Android的SDK,总结了一些经验。


接口简洁和自描述

  • 简洁:接口的简单和功能的复杂是相冲突的,找到平衡,或是通过非主接口进行功能扩展
  • 自描述:对于有经验的开发者,一套简洁并具有自描述的接口名称已经是一份足够的文档

尽量避免使用第三方库

  • 问题1: 开发者可能需要自行配置第三方库
  • 问题2: 使用SDK的App中使用了同一个库但不同版本的情况,也会带来更多问题或工作量
  • 问题3: 可能造成SDK体积的增大,导致App的体积增大
  • 用or不用: 根据重新开发的成本进行评估,如果确实需要用,参见下一点

说明文档

  • 保持简单清晰,在线版和SDK包(如果有)离线版共存
  • 跟随SDK及时更新,注明更新时间及对应版本号,若新版改动较大,需要保持老版文档及入口
  • 如果使用了第三方库,需要包含详尽的使用步骤、注意事项以及问题解决方法

提供Demo

  • 保证Demo可用并随SDK或开发工具的更新保持同步更新
  • Demo中应包含完整的SDK功能示例

提供调试信息开关及问题反馈通道

  • 方便开发者定位、解决和反馈问题
  • 使用Email进行问题反馈是个不错的选择

如果可能,同时提供带界面和不带界面的使用接口

  • 带界面的接口能让开发者最快速的集成SDK
  • 不带界面的接口提供给需要自定义界面的开发者使用

暂时写这些,以后继续补充完善。