前言
我们经常会在求职网上看到需要某 SDK、API 的串接经验,我们应该也要做相关功课,才能理解这些 B2B(公司对公司) 的逻辑与技术。
首先:
-
SDK 通常是指会下载下来的开发工具,不管是只有开发阶段会用到的工具,又或是直接放进专案里跟着 build 成产品的都算。
-
API 则是程序接口,不管是网路上,例如向某 server 发出查询资料的请求,又或是离线的呼叫上面提到的 SDK 的功能都是 API。
串接的模式与逻辑
这里举例常见的串接方式:
- OAuth:这是一般使用者也经常看到的,进入一个服务後,我们会可能会面临注册该服务的账号密码,又或是 Google、FB、Apple 登入,而後者这种第三方的平台来协助登入的方式就是 OAuth。假设我们就是这个服务,想要使用者可以用刚才提到的第三方登入,我们就要去第三方平台注册应用程序,并且登记我们需要哪些数据与访问权限。
- token:假设要取得翻译 API 的功能,我们就要向提供此 API 的单位申请指定权限、额度、方案的 token,这个 token 可以想象是一把钥匙,而这把钥匙是唯一的,我们拿着这把钥匙去打翻译 API,该单位透过这个 token 认得是哪一个开发者来请求翻译,这样才能记录使用的额度,然後回传翻译结果给开发人员。
要怎麽练习
这世界上有提供 SDK 的公司太多了,我们必须有目的性的串接:
- 先想好要去的产业,找这些产业的公司的职缺中提过的 SDK。
- 这些公司可能也有自己的 SDK /API。
- 直接使用这些公司的 APP,看他们串接了什麽功能。
思路范例:
- 某音乐 App 有音乐辨识,这功能很大,也有些公司专门做这个,就可以尝试搜寻音乐辨识的 SDK。
- 某文件扫描 App 有翻译功能,可是翻译的语言包这麽大不可能放进 App 里面,这应该是有 API 可以直接送原文去某个服务,再把得到的结果显示出来。
- 某购物 App 接了很多种登入方式以及金流,直接搜寻那些串接的公司加上 SDK 或 API。
- 多人语音突然流行,这不是件简单的事情,应该有工具可以使用。
- 好多 App 里面都有广告,而且广告的内容还一样且都有符合我的个人化推荐,这肯定是串接了能掌握大量资讯的广告 SDK,不可能小 App 能自己接这样的广告业务。
- 某资讯整合平台也整合了政府、基础建设的及时资讯,应该有释出 API 能串接。
- 外送平台的车手位子能及时显示在地图上,但他们又没有有钱到能拥有自己的图资,这应该有能够高度客制化的 SDK 能串接。
结语
如果是麻瓜,可能很难理解这种模组化的想法,可以先从把这个 App 内有的功能都列出来,厘清不同功能的职责,也可以先从知道的 SDK、API 开始串接,就能慢慢理解这些逻辑。