一、API
API,英文全称Application Programming Interface,翻译为“应用程序编程接口”。是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
我们不妨把API的诞生过程用一个小故事展示出来:研发人员A开发了软件A,研发人员B正在研发软件B。有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数;你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!其中,API就是研发人员A说的那个函数。
【摘自】:https://www.zhihu.com/question/38594466
二、什么APX
应用编程体验: Application Programming Experience(APX)
好的API能提升应用程序编程体验,能激励开发人员主动使用它并积极于他人分享,从而形成一个良性循环。
好的API同时也有助于发展员工、客户和合作伙伴的生态系统,他们乐于帮助你进行API演化升级,实现互利。
那么,怎么判断API能提升应用程序编程体验,或者说一个好的应用程序编程体验,具体指的是什么?毕竟,技术不是虚妄,而是实实在在的呈现。所谓的API是应用程序接口,是一种能力,告诉客户可以为他提供什么样的服务,或者说应用程序决定对外公开那些数据和行为。那么,可以理解为应用程序编程体验是一种指导API设计的思想或原则。要设计好的API,我们需要考虑以下几个问题:
- 应该公开什么?
- 公开数据的最佳方式是什么?
- 如何调整和改进API?
三、API设计四种策略
- 螺栓策略 利用现有应用,在其基础上添加API层。
- 绿地策略 “API优先”,从零开始设计程序
可以在没有实现后端系统的情况下开发前、后端系统。 - 敏捷设计策略
敏捷可以在没有一套完整规范的情况下开始工作。当对系统有跟多的领域知识后可以随时调整和更改规范,通过N多次迭代后,得到一套完整的系统解决方案。敏捷策略只在API发布前有用。 - 外观策略
继续利用现有业务系统,并将这些系统打造成你喜欢和需要的功能或API,可以在保持现有系统的良好运转下进一步优化底层基础架构