API项目中 官方客户端不再是可有可无的

简介:

在API项目中,有官方支持的客户端才能给API社区传达积极的信息。

没有官方支持客户的API就像是没有方向盘的汽车。可能是辆好车,但是却哪儿也去不了。

当然可以做一个方向盘,但这会是一项耗时的工作而且还会有风险。集成“方向盘”这件事情制造商当然比你更在行了。

虽然承认这一点有点尴尬,但我也曾经是不愿替自己的API项目开发官方客户端的。我们会说:“我们不能所有事情都支持。手上积压的无需学习一门全新语言的工作就已经够多了。”虽然这样的心态不算坏,但却有点误导人。

最重要的是,API不仅仅只是关乎代码了,还与社区有关。开发者之所以“团结在自己喜爱的API周围”,是因为开发API的公司尊重他们的价值,并且跟社区一起让API变得更好。

如果在Java API客户端上认真尝试,并且把它开源出来让更聪明的人改进它的话,那就不会给其他Java开发者造成伤害。

没有官方支持客户端的API就像无源之水,会让API变得很糟糕。预期你的消费者从零开始集成你的API,你所传达出来的讯息是,你的API并不是组织优先要考虑的。官方开源的API客户端表明你的API有更高水平的支持,同时也鼓励你和消费者之间进行开放协作和讨论。

PHP,COBOL,Ruby还是C#?

不幸的是,我们都知道光“有”官方API客户端并没有实质性的作用。有很多事情需要考虑和筹谋,最重要的是该支持多少种语言。

确切的回答要取决于API本身和组织的能力,但最常见的三种要支持的语言是Ruby、PHP和Node.js(尽管Go、Python和Java也非常流行)。

你还应该随时掌握社区的动态。尽管第三方客户端未必需要得到“官方支持”,但无疑可以得到你的组织打上“官方推荐”的标签。这是跟社区互动的一种很好的方式,而且并不需要你承担太多东西。

开源你的API客户端

因为你要用若干不同语言开发多个开源项目,所以知道每一种语言开发和部署的最佳实践至关重要。

比方说,虽然在开发和维护PHP库方面你可能是位大师,但你可能还得重温一下RubyGems或者Node Package Manager这样的服务。开源API项目意味着遵循最佳实践不是可有可无的,因为你是把自己面向社区大部分人开放,要接受他们挑剔的目光。很多情况下,这是很有价值的事情,但如果只是半成品就拿出来说Python库做好了,这样是蒙不了人的。

开源你的API客户端是一件很值得赞叹的事,但你永远都应该确保社区遵循一定的规则。GitHub对执行贡献者指南上有出色的支持,还有一个出色的内置问题跟踪器,但是你的成功之路是无法自动化的。

你的API项目至少应该有一个README文件,里面应该概括了有关的每一条重要信息。考虑以下问题:

如何进行单元测试?

是不是在利用持续集成/持续交付工具,如果是,贡献者如何才能利用这些工具?

项目的授权模式是什么样的?

这些都是很重要的事情,如果处理得好,就可以把一个开源项目引向成功。这一成就反过来也会导致你的官方API客户端的成功。

最后,你的官方API客户端的开发和管理应该是有趣的、能打造社区体验的。尽管这类努力增加了你的团队对API的投入,但你们的付出在消费者和贡献者眼里是有目共睹的。

本文转自d1net(转载)

目录
相关文章
|
28天前
|
前端开发 JavaScript API
基于React的简易REST API客户端设计与实现
基于React的简易REST API客户端设计与实现
21 3
|
2月前
|
数据可视化 API 开发者
通俗易懂:一步步教你 Flask 项目自动生成 API 文档
Flasgger,作为一款强大的 Flask 扩展,自动从 Flask 应用中提取并生成 OpenAPI 规范文档,配备 SwaggerUI,为开发者提供了一条快捷通道,让 API 的文档编制和交互式测试变得简单易行。Flasgger 的设计原则是简化开发流程,通过与 Flask 框架的无缝整合,让开发者可以更专注于应用逻辑的构建。
|
3月前
|
JavaScript API
【vue实战项目】通用管理系统:api封装、404页
【vue实战项目】通用管理系统:api封装、404页
37 3
|
2月前
|
数据采集 监控 测试技术
如何为数据采集项目选择合适的API
摘要: 在数据采集项目中,选择合适的API对于实现高效、可靠的数据集成至关重要。本文为技术人员和技术经理提供了一个综合指南,以便评估和选择满足特定业务需求的API。 引言: 在数字化转型的浪潮中,企业依靠数据驱动决策变得越来越重要。有效的数据采集策略可以提供深入的洞见,并推动业务增长。API作为连接不同服务和数据的桥梁,在此过程中扮演着关键角色。
|
5月前
|
Java API Maven
淘东电商项目(05) - Swagger及网关统一管理API
淘东电商项目(05) - Swagger及网关统一管理API
72 0
|
3月前
|
小程序 API 数据安全/隐私保护
github短视频去除水印项目Douyin_TikTok_Download_API介绍
当下正值短视频盛行的时代。在我们浏览短视频的同时,经常能发现一些精美的图片、引人入胜的文案以及吸引眼球的视频,想要将它们保存到本地。然而,保存下来的图片或视频通常伴随着不太愉悦的水印,这显著降低了使用体验。因此,我时常思考是否存在途径能够下载一些无水印的图片。虽然有许多小程序等可以保存无水印的图片或视频,但它们往往伴随着一些令人不悦的广告或付费等。今天,在浏览 GitHub 时偶然发现了一个开源项目,名为“Douyin_TikTok_Download_API”,它能够满足我们的需求。在本文中,我将详细介绍这个项目,并分享如何进行部署和使用。
155 1
github短视频去除水印项目Douyin_TikTok_Download_API介绍
|
3月前
|
前端开发 API Docker
web前端开发项目走proxy代理后端接口,构建发布到生产等环境后,如何修改api接口
web前端开发项目走proxy代理后端接口,构建发布到生产等环境后,如何修改api接口
42 0
|
2天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
8 3
|
6天前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
24 11
|
1月前
|
JSON Java API
Springboot项目中如何设计一个规范的统一的Restful API 响应框架?
Springboot项目中如何设计一个规范的统一的Restful API 响应框架?
23 1