对于开发者来说,一款好的SDK会让你事半功倍,减少开发时间的同时,又免去了复杂的维护工作;作为厂商,为了赢得更多开发者支持,打造一款——“爆款SDK”自然是必不可少的,BestSDK认为一个爆款SDK肯定具备这三个条件。
一、SDK稳定性保障
SDK以及相关核心业务的稳定性也是至关重要,主要需要关注以下几点:
1、安全机制;
2、线程管理;
3、用户界面友好性;
4、内存使用情况;
5、CPU占用情况。
二、轻便且易扩展的 API
接入API一定要简单!要简单!要简单!重要的事情说三遍!对于SDK的客户端开发,虽然你可以任性地在不同版本随意的优化入参以及调用方式并且不会招致什么大问题。但是这对于接入SDK的开发来说,绝对是噩梦一般的存在。理想的SDK接入过程一定是非常“顺滑”的,哪怕不开文档只看接口,也能顺利接入,这才是一个设计良好的SDK。反之当SDK接入、更新的成本超过甚至逼近开发直接对接的成本时,这个SDK其实是失败的,而且也失去了应有的意义。
SDK也是一个产品,但是又有其特殊性:API一般说来要有一定的持久性和稳定性,因此需要在设计初期考虑到产品后期的业务发展趋势,提前留好接口的相关业务扩展参数。
三、简单快速的配置部署
保证已接入应用适配问题的关键在于两点:一个是极简集成、一个是分层设计。极简集成顾名思义就是把SDK做薄,只做最基本的业务参数传递和通道建立;分层设计则将SDK和业务核心模块区分了开来,这样可以让核心业务不受SDK版本的限制。
采用这样的架构模式,业务方只需要在引入SDK jar包后加入短短几行代码,就可以把支付功能托付给支付核心模块来做,在不改变API的情况下,底层业务的更新可以直接供上层使用,无须再次接入新的SDK。
最后就是SDK的版本控制,个人觉得最好的版本状态是有三条分支:稳定版、开发版以及定制版。稳定版用于大面积的推广;开发版用于一些急于使用新功能的应用试用。稳定版本和开发版本的存在是为了提高SDK的版本质量,同时结合版本发布的一些策略,降低SDK版本质量对使用者的影响以及SDK的bug的影响范围。