首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SDK设计心得之接口设计

由于SDK的特殊性,所以对于SDK的开发来说,一开始对于SDK的一些通用的整体的元素的设计至关重要。因为SDK(尤其很多平台SDK,使用的应用成百上千)一个及其细微的调整都会影响很多开发者的版本周期。...因此前期的设计显得尤为重要。关于这部分内容,我会分两篇来介绍,这篇重点介绍具体接口的设计。另一篇SDK设计心得之架构和资源将重点介绍SDK的架构和一些资源的使用方式。...关于接口设计 设计原则 接口名称、参数名称要足够清晰 一个牛逼的接口名称可以替代无数的注释 一个接口只做一件事 一个接口只做一件事。...本来是根据第一个原则设计了两个信、达也算雅的接口来实现。但是由于这部分内容接入比较复杂,加上又都是异步接口,所以接入成本确实比较高,然后有人反映能不能优化一下。...每个SDK不可能都是完全独立的一部分,尤其是为业务服务的SDK,很可能都还会和周边SDK有一些交集。

6.2K90
您找到你想要的搜索结果了吗?
是的
没有找到

SDK设计心得之架构和资源

由于SDK的特殊性,所以对于SDK的开发来说,一开始对于SDK的一些通用的整体的元素的设计至关重要。因为SDK(尤其很多平台SDK,使用的应用成百上千)一个及其细微的调整都会影响很多开发者的版本周期。...因此前期的设计显得尤为重要。关于这部分内容,我会分两篇来介绍,这篇重点介绍SDK的架构和一些资源的使用方式。另另一篇SDK设计心得之接口设计将重点介绍具体接口的设计。...关于SDK目录层级 一般SDK的层级取决于SDK的复杂程度。...后来随着SDK的发展,需求的不断增加,SDK的内容也逐渐增加。加入资源和JNI文件以后,只使用两层结构就出现了比较多的问题。于是MSDK的结构变成了三层。...目前最新的SDK开始支持Android Studio,因此我们的SDK的包又做了调整。除了上面的内容,还会提供一个SDK的aar给游戏。

3.4K40

如何设计编写一个 SDK

SDK 面向的是开发者,开发更偏向于功能方面,注重功能的开发实现。不妨来看看 FinClip 移动端工程师整理的如何编写一个 SDK,还是很有参考价值。 一、什么是 SDK?...SDK 全称 Software Development Kit,广义上的 SDK 是为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的开发工具的集合(在 iOS 项目中,SDK 也被称为库...二、SDK 设计的基本原则 一款好用且设计充分的 SDK 必须要遵循以下 4 条基本原则,即: SDK 安全,稳定 统一的开发规范 Library 小而精 不依赖第三方 SDK 安全,稳定:考虑到 SDK...精是指功能要专注,比如极光推送,就是专注推送相关的功能; 不依赖第三方 SDK:这个也很好理解,SDK 中如果又依赖其他第三方 SDK, 不仅会导致 SDK 的体积变大,也会影响接入方集成 SDK 的相关成本...接口设计 既然是做一个推送新闻的接口,那就必须要分为客户端和推送端,即 Client#onReceiveMessage 和 GPush#pushMessage。

99750

如何优雅的设计一个SDK

简而言之,SDK是统称,而JDK只是Java的集成开发工具,是SDK的子集。 接下来,我们就着手了解一下SDK的真正作用,是如何使用的,又如何优雅的设计一个SDK。...3 优雅的设计一个SDK Go语言SDK设计流程一般可以分为以下几个步骤: 需求分析:在开始设计SDK之前,首先需要明确SDK的需求和目标。 接口设计:在明确需求后,开始设计SDK的接口。...接口设计应该简洁明了,提供清晰的输入和输出,并遵循一致的命名规范和设计原则。 代码实现:根据接口设计,开始编写SDK的代码。在编写代码时,要遵循Go语言的最佳实践,确保代码的可读性、可维护性和性能。...版本发布与迭代:完成代码实现、测试和文档编写后,可以进行SDK的版本发布。遵循语义版本控制规范,确保版本的兼容性和稳定性。 下面我们就以一个HTTP服务为例设计一个简单的SDK。...除此之外,由于时间关系,本文中的这个SDK案例设计的确实过于简单,希望大家在真实的生产项目中不要照搬模仿,在这里提供几个比较好的SDK设计: aws-sdk-go tencentcloud-sdk-go

68040

一个 Hybrid SDK 设计与实现

Hybrid 、Native、前端各自的工作是什么 Hybrid 交互接口如何设计 Hybrid 的 Header 如何设计 Hybrid 的如何设计目录结构以及增量机制如何实现 资源缓存策略,白屏问题...... ◆ Native 与前端分工 在做 Hybird 架构设计之前我们需要分清 Native 与前端的界限。...◆ 交互设计 Hybrid 架构设计的第一要考虑的问题就是如何设计前端与 Native 的交互,如果这块设计不好会对后续的开发、前端框架的维护造成深远影响。并且这种影响是不可逆、积重难返。...比如 H5 如何跳转到一个 Native 页面,H5 如何新开 Webview 并做动画跳转到另一个 H5 页面 ◆ 账号信息设计 账号系统是重要且无法避免的,Native 需要设计良好安全的身份验证机制...◆ 格式约定 交互的第一步是设计数据格式。

1.1K10

分布式多级缓存SDK设计的思考

分布式多级缓存SDK设计的思考 之前实习期间编写过一个简单的多级缓存SDK,后面了解到一些其他的开源产品,如J2Cache,京东的JdHotKey,有赞的多级缓存SDK实现,所以本文想来总结一下我对多级缓存...SDK设计的考量和开发心得。...参考的相关开源实现链接: 有赞透明多级缓存解决方案(TMC) J2Cache hotkey 实战干货 | 分布式多级缓存设计方案 ---- 背景 编写这个SDK起因于部门各个服务缓存使用上的不统一,有些没有使用缓存...整个缓存SDK的架构还是非常简单的,下面我将针对各处细节进行说明。...---- 小结 这里有一点没提到,就是关于京东的JdHotKey和有赞的TMC,他们的缓存SDK设计思路更多是为了解决热点key探测与即时缓存到LocalCache,因此他们整体的架构设计就和文本不太一样了

42651

设计SDK?看这个基础教程攻略!

SDK 面向的是开发者,开发更偏向于功能方面,注重功能的开发实现。在今天的文章中,FinClip的工程师和我们一起来聊聊设计 SDK 的那些小技巧。 一、什么是 SDK?...SDK 全称 Software Development Kit,广义上的 SDK 是为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的开发工具的集合(在 iOS 项目中,SDK 也被称为库...二、SDK 设计的基本原则 一款好用且设计充分的 SDK 必须要遵循以下 4 条基本原则,即: SDK 安全,稳定 统一的开发规范 Library 小而精 不依赖第三方 SDK 安全,稳定:考虑到 SDK...精是指功能要专注,比如极光推送,就是专注推送相关的功能; 不依赖第三方 SDK:这个也很好理解,SDK 中如果又依赖其他第三方 SDK, 不仅会导致 SDK 的体积变大,也会影响接入方集成 SDK 的相关成本...接口设计 既然是做一个推送新闻的接口,那就必须要分为客户端和推送端,即 Client#onReceiveMessage 和 GPush#pushMessage。

89750

美摄短视频SDK,如何才能设计一款优秀的短视频SDK

——显然不够,下面我们看看,如何才能设计一款优秀的短视频SDK?...二、SDK一定要开放 使用第三方的SDK,最怕的是像个黑盒,过于封闭,想配置的参数无法配置,需要的状态也没有回调,直接导致产品经理给出的UI和交互方案无法实现。...SDK如何做到更好的性能呢?其实就一条:充分地利用GPU,尽一切可能减少CPU消耗,对于短视频SDK的开发而已,具体来说有哪些值得关注的点呢?...四、UI和SDK逻辑要彻底的分离 优秀的SDK,一定要尽可能避免把UI的界面和逻辑包含进去,不然SDK的使用者,很难满足产品经理的UI和交互设计要求,做出差异化的效果。...六、小结 总而言之,设计一款优秀并且口碑好的短视频SDK,并不是简简单单堆积一些功能就够了,其背后还是要花费不少心血的。

1.1K30

SDK设计与封装:从基础概念入门到架构设计落地笔记

在前端项目,各类地图应用都提供js-sdk给开发者使用。 SDK设计理念 如何设计SDK,其实更多取决于你的场景,或者SDK最终的用途。...具体来讲就是两个原则: 最小可用性原则,即用最少的代码,如无必要勿增实体 最少依赖原则,即最低限度的外部依赖,如无必要勿增依赖 SDK 设计的四项基本原则 一款好用且设计充分的 SDK 必须要遵循以下...SDK架构设计 一般从0设计一款SDK,总体上可以分为5个步骤: 基础架构的设计 开放API接口设计 业务功能框架设计与开发 基础核心库设计与开发 打包与发布 基础架构设计 一个好的架构可主要从可读性...JS-SDK实现实操过程 下面我们将通过剖析 岳鹰前端监控SDK设计过程,来看看上述的设计原则是如何应用到实际的开发过程中的。...的边界以及各部分的职责,结合前端监控的特性,我们可以开始设计SDK的整体框架了。

1K30

如何站在使用者的角度来设计SDK-微信公众号开发SDK(消息处理)设计之抛砖引玉

在积累这些库的过程中走过不少弯路,今天分享给大家(借助微信公众平台开发的消息处理模块的SDK(一下简称微信消息sdk)做个设计思路剖析)笔者的一些思路的,私以为一个sdk需要具备如下的3条基本素质。...站在使用者的角度考虑设计! 易维护( 对修改关闭,对扩展开放 -不要波及与扩展无关的任何代码)! 勿做过多的假设!...各位看官如有不同意见和建议欢迎指正,下面就拿微信消息sdk(相关的接口文档请戳这里)针对这3条基本素质一一解释。 1.站在使用者的角度考虑设计 一直很喜欢一句话“不要因为走的太远而忘记为何而出发”。...我们写SDK是为了什么呢?...要开始干活了,心里默念对修改关闭对扩展开放,,, 对微信消息sdk设计我是这样分解的: 解析xml字符串为实体对象; 根据实体对象分发到对应的消息处理程序; 执行消息处理程序,获取响应消息; 这3部分逻辑其实就是上面的伪代码

1.2K90

TRTC Web SDK新架构设计解析(GMTC逐字稿)

目前腾讯云团队正在开发的 TRTC Web SDK 新架构。...在 2021 年 GMTC 全球大前端技术大会【深圳站】中,来自腾讯云的高级工程师李宇翔,重点分享了新架构中运用了哪些设计思想和技巧,来提高程序的性能和代码的可维护性。...新老架构对比 从下图中可以明显发现,新旧方案 SDK 使用的主要技术是有一些差异的: 从架构层面来看,WebRTC SDK的架构如下图所示: 可以看到Client、LocalStream、RemoteStream...这里的设计原则是尽量减少线程间通讯,避免主线程与 Worker 之间通讯过于频繁增大开销。...为此,Worker 端需要更为复杂的设计,包含了大部分耦合度较高的主要逻辑: 优雅管理生命周期 生命周期是指一件事情从开始到终结的完整周期,例如进房到退房、发布到取消发布、订阅到结束订阅等。

88110

SDK之我理解的SDK

上面这是百度百科对SDK的定义。...代码复用这是软件开发和设计中一个很重要的原则。尤其是像SDK这种很多地方都是完全一致的逻辑。...还别不信,现实开发中还真的有遇到没有版本概念的SDK,当时的震惊无法用语言形容啊。关于版本之前也专门写文档说过,具体的可以参考:SDK开发经验之版本和SDK设计心得之版本号。...另一个就是做SDK的品牌数据,逢人就吹你怎么怎么牛逼,怎么吹,就靠这个。 SDK开发遇到的一些问题 关于SDK开发中遇到的问题,说实话实在太多了,多的无法说完!!!!...SDK使用者之间的相互交流 SDK的开发者更多的关注于SDK的开发,使用者更多的关注于SDK的使用。尤其是对于游戏开发,使用相同的引擎的游戏开发肯定比SDK的开发更了解一些开发中的问题怎么解决。

2.5K111
领券