API是什么

avatar
开发者 @网易

API就是接口,就是通道,负责一个程序和其他软件的沟通,本质是预先定义的函数。譬如我们去办事,窗口就类似一个API,如果对于某一件不简单的事情,这个窗口能做到让我们“最多跑一次”,“只盖一枚章”,这个API就是不错的。(当然,API不太一样,适用接口隔离原则,即使用多个隔离的接口,如用户注册与用户登录分别写两个接口,可以提高程序设计灵活性。) 但我们知道,现实中“最多跑一次”还很困难,需要有关部门把内部各种流程、数据通道梳理清楚,让这个窗口很容易拿到各种数据帮助我们。所以说,设计很好的API,也是不容易的。 这里还有一个来自设计人员的解读,更注重强调API包含计算和逻辑判断:假设物流中“货物”是数据,存放货物的“总仓库”是数据库,“店铺”是我们的网站、App。页面上显示的内容、数字,以及用户的操作请求和结果都是需要不停搬运的“货物”——数据,则负责调配分配打包的中转站就是API,店铺小哥直接从中转站取货就好。 由上,API的作用也就很清楚: - 对于软件提供商来说,留出API,让别的应用程序来调用,形成生态,软件才能发挥最大的价值,才能更有生命力。(同时别人也看不见代码,不伤害商业机密。) 对于应用开发者来说,有了开放的API,就可以直接调用多家公司做好的功能来做自己的应用,不需要所有的事情都自己操刀,节省精力。 云计算、共享经济时代,API就是技术服务商为客户提供服务的方法。例如,网易云基于十多年IM技术积累打造的通信与视频服务,开发者通过集成客户端 SDK 和云端 Open API,即可快速实现强大的通信与视频功能。