API

简介:

API 是什么?


    API(Application Programming Interface)即应用程序接口。你可以认为 API 是一个软件组件或是一个 Web 服务与外界进行的交互的接口。而我们在这里要谈论的,是作为一家公司如何跟外界进行交互。从另一个角度来说,API 是一套协议,规定了我们与外界的沟通方式:如何发送请求和接收响应。


    让我们拿网站上常见的复选框(checkbox)作为例子。复选框的接口允许你选择或者取消选择它。

1
2
/check -- causes checkbox to be checked
/uncheck -- causes checkbox to be unchecked


    再举个例子,Digital Ocean(VPS 供应商)提供的一次性启动 10 个服务器的 API 可能长成这样:

1
/launchServers?numServers=10 -- starts running servers in the cloud.


    在这个例子中,launchServers 命令允许用户指定要启动的服务器的数量。绝大多数服务都支持这样的自定参数,一是更灵活,二是复用性好。要是启动 10 个服务器和 20 个服务器有两个不同的命令,那就太蠢了,因为它们本质上是一样的。


商业API又是什么?


    设计你的商业 API 时,可以从你的业务有哪些关键概念入手来考虑相关的命令,这样会比较方便。思考:你的用户们可以做哪些事情?


    现在的服务大多都运行在云上,通过 HTTP 协议与外界交互。这不是太直观,因为我们和用户看到的都是界面美观友好的 APP。但实际通过 HTTP 传输的是这些命令。它们非常重要,因为这些最底层和直接的接口最终决定了你的用户能够如何使用你的服务。通过这样的思考,我们才能透过人机界面理清业务的核心。


如何设计你的商业API?


    现在让我们把注意力集中到你的公司。开始创业时,你有一大堆事情要做:寻找和理解创始人与市场之间的契合,跟用户沟通,思考你们独有的见解和优势,市场策略,等等等等。除此以外,设计商业 API 也是你在早期就应该做的事情之一。


    花点时间研究 HTTP 协议吧(真的不难)!在开发你的 MVP(Minimum Viable Product,最简可行产品)之前,你就要把 API 设计好了。


    设计 API 可以帮助你理清自己的业务。你会在这个过程中决定 MVP 中会包含哪些东西,不包含哪些东西。你会给某些命令更高的优先级。最后,拿一张纸把设计好的 API 写下来,你就知道自己是提供了太多还是太少。


    尽可能地将你的 API 设计得简单和优雅。不要考虑应该添加什么,而是想想应该去掉什么。


    有了基础的 API 以后,跟客户和团队沟通起来就方便多了。这将为你接下来打造 MVP 提供坚实的基础。


    当你设计出令人满意的 API 之后,就去实现它吧。一个一个让原始 API 能通过 HTTP 被访问。没错,你现在还不需要花哨的界面。在实现的过程中,你会对自己的业务有更深的了解。


随着业务增长,升级你的 API


    随着你的业务进化和增长,你的 API 也需要作出改变。持续地更新和改善它。可以扩充它,但要 “矜持” 一点。最伟大的公司都有着简单的 API。


    想一下 Google,它提供了一个非常简单的接口,但内部的工作原理是无比复杂的。类似地,乔布斯总是驱动 Apple 公司来不断简化用户界面。Apple 的产品往往通过简单的界面来隐藏背后的工程复杂度和独创性。


    “你会希望你的业务越简单越好,隐藏在接口背后的服务越有价值越好。”


    在业务增长的过程中,一些子业务可能会演化出它们自己的 API。你可能会有公共接口和内部接口。这时将接口保持得简单而整洁就开始凸显价值了。不断鞭策自己去实现和使用简单的接口。


    “你的业务本身永远是你的 API 的第一个也是最大的用户。”


    通常伴随着业务增长,用户访问你的服务的方式也会越来越多。你可能同时有桌面版应用和移动端应用,短消息服务,机器人,iOS 和 安卓应用,等等。这些都是你的 API 的用户,也是你的业务的用户。


    我们生活在一个云服务和自动化的时代。每家互联网巨头,Google、Amazon、Facebook 等,都为他们的服务提供了 API。而在未来,所有的服务都将在一个图形界面以外拥有编程接口。随着人工智能和自动化逐渐进入我们的世界,越来越多的请求和访问会在这些云服务和 API 之间发生。如果你打算创业,为了准备如此激动人心的未来,你可以从思考和实现自己的 API 做起。


作者:优达学城(Udacity)
链接:https://www.zhihu.com/question/38594466/answer/228418422
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。













本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1971370,如需转载请自行联系原作者


相关文章
|
22天前
|
前端开发 程序员 API
什么是API?谈对API的理解
什么是API?谈对API的理解
25 1
|
6月前
|
XML API 数据库
API介绍
API介绍
85 1
|
7月前
|
安全 API
常用API
常用API接口分享
61 0
|
7月前
|
API
7.3 通过API枚举进程
首先实现枚举当前系统中所有进程信息,枚举该进程的核心点在于使用`CreateToolhelp32Snapshot()`函数,该函数用于创建系统进程和线程快照,它可以捕获当前系统中进程和线程相关的信息(如PID、线程数量、线程ID等),在对这些信息进行处理后,可以获得很多有用的数据,如当前系统中所有正在执行的进程的信息列表,以及每个进程各自的详细信息(如CPU、内存占用量等)。
37 1
|
9月前
|
存储 SQL 监控
浅谈API安全的应用
API安全性已日渐成为了网络应用方面的主要技术需求之一。开发人员需要进一步加大对于API业务模型、分析能力、技术蓝图、以及合规性与标准化方面的深入研究与开发。 通过自动化、多样化的API网络攻击,黑客不仅可以达到消耗系统资源、中断服务的目的,还可以通过逆向工程,掌握 API 应用、部署情况,并监听未加密数据传输,窃取企业数据。 安全架构设计有很多的安全设计原则,比如公开设计原则、权限最小化、开放最小化、默认不信任等。所以在API安全设计过程中也可借鉴参考这些安全性原则。
|
10月前
|
SQL 缓存 Java
|
10月前
|
机器学习/深度学习 Unix Linux
为什么需要API,什么是api
为什么需要API,什么是api
|
10月前
|
XML 存储 缓存
什么是 API?
什么是 API?
|
10月前
|
API 开发者
API是什么的,了解API
API是Application Programming Interface的缩写,用于描述一种用于不同软件组件之间相互通信和交互的标准方式。简单来说,API提供了一种可以让开发者利用现有的代码、工具和服务,将它们组合成新的应用程序或系统的方法。
162 0

热门文章

最新文章