关于 API

1.git

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工做机制的细节。编程

 

2.后端

简单来讲就是函数。
好比你写了一个库,
里面有不少函数,
若是别人要使用你这个库,
可是并不知道每一个函数内部是怎么实现的。
使用的人也就只是知道这个函数的入口参数和返回值或者这个函数是作什么的。
对于用户来讲 ,
你的这些函数就是API。
API(Application Programming Interface应用程序编程接口) 是一些预先定义好的函数,
目的是提供应用程序以及开发人员基于某软件或硬件得以访问一组例程的能力。


做者:爱要不留余力
连接:https://www.zhihu.com/question/38594466/answer/147066011
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
 
3.

给你举个特别容易理解的例子服务器

有一天,轮子哥写了一个专门抓取知乎小黄文的AI,而他天天都会查阅小黄文列表而且点赞。刚好你也是小黄文爱好者,那么轮子哥的帐号对你来讲就是API接口,你要作的惟一事情就是关注轮子哥帐号,天天只须要查阅轮子哥的动态就能看到小黄文,可是不用关心轮子哥究竟是用什么方法找到这么多小黄文的。函数



做者:彭天浩
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
 
4.
 

通俗的讲API 就是先后端间的联通。假象你去一家餐厅,桌子上有一份菜单,厨房能为你提供菜单上的菜式。那么咱们还缺乏一个能和后厨联系的人,因此服务员MM就是去告诉后厨你选的菜,再将菜带回到你的桌子上。MM带着你的request去告诉system,而后将response 带回给你。post

来看一个API案例,airline system ,你订机票,你将你的航程提交,会访问网站的database,来看你选择的日期,座位是不是可选。但若是你不是在他的网站上订机票,你是在一个汇总不一样的航班信息的online travel service 上,那么这个service 调用了 前面airline system 的API 。这个接口就像上面例子的服务员MM,带着你的要求去airline system 上 收集信息 ,而后带回到online travel service 上 。因此你就把它想象成你的服务员MM在先后端间交付数据,建立联系。网站



做者:我要干掉太阳
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
 
5.
 
做者:优达学城(Udacity)

我最近跟一位 Techstars 的创业家聊天时,问了她一个问题:“大家公司的 API 是什么?” 这听起来是个挺奇怪的问题,但其实并非。 google

每家创业公司都有一个面向外界接口。有些接口很是简单,好比说 Google,你只要输入关键词搜索就好;有些接口复杂一些,好比在 Amazon 上买东西,你能够浏览商品、搜索商品、添加商品到购物车、下订单、请求退款,等等。人工智能

 即便你不是工程师或是产品经理,思考你的公司会向外界提供什么 API 也是颇有帮助的。这可以使你对本身的业务是什么以及为何有更加清晰的认识。spa

 API 思惟帮助你保持最简和清晰。

 API 是什么?

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

  

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

 

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

 

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

 

/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)编译,翻译:章凌豪,原文参考自

相关文章
相关标签/搜索