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

SDK设计心得之接口设计

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

6.4K90

前端JS-SDK那些事

一个应用的JS-SDK大概可以分为以下三种 Web的API集合(类似微信官方的js-sdk工具) 分析与统计工具(类似百度统计的js-sdk工具) 嵌入式类如Widget 2.如何设计 通过开发一个...900… 钉钉: ding-doc.dingtalk.com/doc#/dev/we… 云之家: open.yunzhijia.com/openplatfor… 2.2 设计模式 常见的JS设计模式主要有以下几种...SDK使用不同的第三方JS-SDK进行注册的,如:钉钉,企业微信,云之家等。那么这三类工具就是对应的类簇。...在抽象工厂中,它其实是由几种子类型组成的,当创建SDK类实例时候,它先判断一下应该用哪个子类,然后创建该子类的实例返回给你 image.png //工厂设计模式 function SDKFactory...v=1.0.0 使用文件夹命名: http://xxx.com/v1.0.0/sdk.js 使用主机名或者子域名 http://v1.xxx.com/sdk.js 该项目使用的是使用文件夹命名的方式

4.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    顶级开源项目 Sentry 20.x JS-SDK 设计艺术(理念与设计原则篇)

    SDK Source Maps详解 Sentry(v20.x) JavaScript SDK 故障排除 Sentry(v20.x) JavaScript SDK 1分钟上手性能监控 Sentry(v20...x) JavaScript SDK Enriching Events(丰富事件信息) Sentry(v20.x) JavaScript SDK Data Management(问题分组篇) 理念与设计原则...它应该帮助内部和外部开发人员了解 SDK设计动机以及为什么我们以某些方式做出决定。 依赖成本 依赖是有成本的,而且成本很高。...我们使用的每一个依赖都增加了 SDK 的体积,并增加了更多的许可、维护和安全问题。我们知道依赖关系对于支持集成是必要的,但是对于 SDK 的基本功能来说,绝对不需要依赖关系。...如果我们的 SDK 破坏了客户,那么即使客户在一个过时的平台上运行我们的 SDK,我们也失败了。

    46720

    微信JS-SDK的使用

    微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。...通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。...微信JS-SDK使用步骤如下: 步骤一:绑定域名 登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。...步骤四:通过config接口注入权限验证配置 所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用...t=jsapisign 在以上地址中填写jsapi_ticket、noncestr、timestamp和url,生成签名 步骤五:引入JS-SDK成功后的回调函数,所有的JS-SDK方法都放到这个里面。

    16.8K10

    顶级开源项目 Sentry 20.x JS-SDK 设计艺术(Unified API篇)

    SDK 开发 顶级开源项目 Sentry 20.x JS-SDK 设计艺术(理念与设计原则篇) 顶级开源项目 Sentry 20.x JS-SDK 设计艺术(开发基础篇) 顶级开源项目 Sentry...20.x JS-SDK 设计艺术(概述篇) 系列 Snuba:Sentry 新的搜索基础设施(基于 ClickHouse 之上) Sentry 10 K8S 云原生架构探索,Vue App 1 分钟快速接入...在设计 SDK 时,我们可以添加一些新的功能,而不是单纯的事件报告(transactions,APM等)。...设计具有相同 client 实例的 SDK,我们既可以通过依赖项注入等在运行时环境中自然工作,也可以使用隐式上下文分派给已经存在的 clients 和 scopes,以挂接到大多数环境中。...该包不直接依赖于 SDK,相反,如果没有安装 SDK,它应该使每个操作都成为 noop。这样一个包的目的是允许 random 库记录面包屑和设置上下文数据,同时不依赖 SDK

    1.1K20

    SDK设计心得之架构和资源

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

    3.5K40

    如何设计编写一个 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。

    1.3K50

    如何打造一款标准的 JS SDK

    本文通过岳鹰前端监控SDK的实际案例,介绍如何基于JavaScript来开发SDK,并分享一些设计原则以及实现技巧。...JS SDK也无外于此,不过鉴于JS语言本身的特性,基于Ta封装的SDK更多常见于UI组件库、统计分析、web服务接口封装、前端稳定性和性能监控等场景。...岳鹰前端监控SDK[1]即属于前端稳定性和性能监控这一领域范畴的SDK设计原则 如何设计SDK,其实更多取决于你的场景,或者SDK最终的用途。...进一步阐述,即我们打造的SDK要符合以下的要求。 满足功能需求 SDK一般都是偏于面向某个领域,所以,同时在设计和实现的时候明确职责和边界很重要,同时还应该足够精简,专注领域内的业务。...如何实现 下面我们将通过剖析岳鹰前端监控SDK设计过程,来看看上述的设计原则是如何应用到实际的开发过程中的。

    1.3K20

    Sentry-JS-SDK-Browser 官方示例最佳实践

    SDK 开发 顶级开源项目 Sentry 20.x JS-SDK 设计艺术(理念与设计原则篇) 顶级开源项目 Sentry 20.x JS-SDK 设计艺术(开发基础篇) 顶级开源项目 Sentry...20.x JS-SDK 设计艺术(概述篇) 系列 Snuba:Sentry 新的搜索基础设施(基于 ClickHouse 之上) Sentry 10 K8S 云原生架构探索,Vue App 1 分钟快速接入...x) JavaScript SDK 配置详解 Sentry(v20.x) JavaScript SDK 手动捕获事件基本用法 Sentry(v20.x) JavaScript SDK Source Maps...Enriching Events(丰富事件信息) Sentry(v20.x) JavaScript SDK Data Management(问题分组篇) 顶级开源项目 Sentry 20.x JS-SDK...设计艺术(Unified API篇) @sentry/browser Sentry-Javascript Official Sentry SDKs for JavaScript https://github.com

    1.5K20
    领券