1.SDK开发和APP开发区别
app开发面向:大众用户,主要考虑流畅性、稳定性、功能性、体验性。
sdk开发面向:开发者【有一定代码能力】,要考虑调用方便、维护方便、嵌入成本低。
2.要求
1.调用方便
2.代码可读性高
3.易于单元测试
4.鉴权,local+remote
3.设计思路
1.解耦,抽离、独立各个业务模块
2.分层,降低维护难度
3.组件化
4.具体细节
1.API接口
1.private和public分隔开,严格使用public方法,不需要让外界知道的不能用public
2.调整API接口时,优先选择增加新方法,而不是在原来方法修改;实现相同功能的新方法,要尽量兼容原始方法,如果废弃接口则使用@deprecated标识
2.资源+类
防止冲突,所有类和资源文件都要加一个特定前缀
3.高性能
减少内存占用、减少内存抖动【对象池模式】、减少电量消耗、减少流量消耗【合并请求、json压缩】、减少线程阻塞【异步】
4.接入文档详细清楚
5.减少体积【压缩资源等】、减少方法个数
说到SDK开发,有两个概念组件化和插件化
区别:组件化在运行时不具备动态添加和修改组件的功能,但是插件化是可以的
网友评论