About API
作业中的思考题
- API 是什么,解决什么问题?
- API 一般接收什么输入,返回什么数据?
- 互联网上有哪些类型的 API ?他们为什么要把 API 开放出来?
Overview from wikipedia
What is API
在编程语境下,API指设计应用软件所需要的一套子程序的定义、协议和工具;在更广泛的语境下,是指软件系统不同组成部分之间的约定。
API提供了编程所需要的砖块,程序员将这些砖块组合起来。API可以用于web-based system, OS, 数据系统,电脑硬件,活着软件library.
API规范多种多样,一般会包括以下几部分的规范:常规(routines)、数据结构、对象类、变量和远程调用。
Purpose of API
使编程更容易。不不要了解底层实现,仅通过对象或行为(objects or actions)便可以实现功能。
Uses
Libraries and Frameworks 库与框架
API与软件库的关系:API描述及规定结果(specifaction),库是这些规则的底层实现。一个API可能会有多种实现的库,如果这些库采用相同的程序接口。正是API与底层实现的分离,我们才能用使用一种语言编程,同时使用另一种语言编写的库。
Web APIs
对Web开发凯说,API一般是指HTTP请求,以及返回的数据结构(XML or JSON)
开放政策 Release Policies
API是科技公司互相合作的最重要的方式。有三种开放政策:
- Private 仅供公司内部使用。
- Partner 仅开放给特定的商业合作伙伴。
- Public 比如微软和苹果开放API,其他人可以编写其平台上使用的软件。
API Providers
Apigee API Consoles [API Store from Baidu] (http://apistore.baidu.com/)
~EOD