一个“爆款”Android SDK肯定具备这三个条件

对于开发者来说,一款好的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的影响范围。

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2017-01-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

HTTP/2性能更好,但是安全性又如何呢?

根据W3Techs的调查数据显示,目前大约有11%的网站使用了新型的互联网通信协议–HTTP/2,而在一年之前,其占比只有2.3%。 没错,这个新的协议的确可以...

224100
来自专栏云计算D1net

云应用:混合云需要混合网络来支撑

在经过一番艰苦努力的之后,我最终调试解决了一个非常棘手的混合云网络问题。 虚拟私有云(VPC)提供了一个包含免费虚拟机(VM)使用时间的培训项目,学生可以跟随一...

30740
来自专栏企鹅号快讯

浅谈zookeeper性能的优缺点

zookeeper原本不是为高可用性设计的,但很多系统实际上是需要跨机房部署的。出于性价比的考虑我们通常会让多个机房同时工作,而不会搭建N倍的冗余。也就是说单个...

82670
来自专栏数据和云

(文中有惊喜)走进云时代的数据库

最近几年,随着云计算相关技术的发展,各种不同类型的云层出不穷,服务越来越多不同类型的企业业务,传统企业也渐渐开始探索上云的道路。在云上,作为业务最核心的数据库,...

13420
来自专栏JAVA烂猪皮

微服务写的最全的一篇文章

今年有人提出了2018年微服务将疯狂至死,可见微服务的争论从未停止过。在这我将自己对微服务的理解整理了一下,希望对大家有所帮助。

44220
来自专栏域名资讯

老域名新用的优缺点分析

其实大多数购买老域名来做新站的时候,大多数都是灰色项目,但也有不少的正规站点在利用老域名操作,但是如何说完全没有把控好老域名来做新站,那可能会有...

30250
来自专栏开源项目

用大白话聊聊分布式系统

一提起“分布式系统”,大家的第一感觉就是好高大上啊,深不可测,看各类大牛关于分布式系统的演讲或者书籍,也大多是一脸懵逼。本文期望用浅显易懂的大白话来就什么是分布...

49790
来自专栏zhisheng

大型网站架构演化历程

大型网站的挑战主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手。大型网站架构主要就是解...

1.3K360
来自专栏知晓程序

「大众点评点餐」小程序开发经验 07:发布与推广

李超,美团点评前端开发工程,2 年工作经验,主要负责「点评点餐」web 版、「点评点餐」微信小程序开发。

14630
来自专栏韩伟的专栏

如何提高程序员的生产率(上)

一、硬件资源 1) 办公环境 ? 大部分开发团队都不把座椅家具视为一个非常重要的问题。拥有宽敞的桌面的环境,可以在桌上放置更多的东西:本子、笔、杯子、书本、打...

44560

扫码关注云+社区

领取腾讯云代金券