您是否曾经想知道计算机上的程序与您访问的网站之间是如何“对话"的?要了解这一点,我们首先必须深入研究API或应用程序编程接口的怪异和奇妙的世界。
什么是API?
“ API"一词经常出现在计算机中,科学领域。但是这是什么意思?好吧,确切地说,它指的是一种工具或库,可以帮助开发人员编写与其他软件接口的代码。这些工具的范围很广,从允许Windows和OS X应用程序使用基础操作系统的各个方面的低级工具,到为手机上的应用程序供电的工具。简而言之,它定义了一种计算机程序与另一计算机程序进行通信的方式。
但是API并不是天生的有趣。这些工具的应用才是真正重要的。这就是API使网络变得很棒,如何开放政府,增加消费者选择的方式。
商业中的API
您可能会认为技术领域天生就被限制了不希望对比赛有所帮助。但是你会错的。确实,许多大型技术公司(例如Twitter,LinkedIn和Facebook)甚至允许第三方和竞争对手使用其服务。
是的,有真正令人信服的商业原因使竞争对手发布API。 ,然后允许任何人使用它。关于Facebook和Twitter,我们看到第三方如何通过自己的代码来丰富这些服务。 Klout就是一个很好的例子,它使开发人员可以衡量他们的社会影响力,在他们感兴趣的领域中找到有影响力的人,并安排推文和Facebook发布。
拥有API还可以使用户创建适用于现有移动和桌面计算平台的替代应用程序,例如这些替代Android的Facebook应用程序。)
拥有API还可以使用户和公司操纵现有产品来满足自己的利益。过去,我们已经涵盖了一些令人难以置信的示例,包括挪威初创公司Appear.in发布的API,该API允许用户将自己的HTML5驱动的视频会议应用程序集成到他们的博客,网站和应用程序中。
浏览器中的API
HTML5规范定义了现代浏览体验的外观–快速,交互且使用最少的插件。尽管对标准的支持还远远没有完成,并且在浏览器之间仍然不一致,但是仍然提供了令人惊奇的功能。
我们过去已经详细讨论了HTML5,但是它永远不会损害回顾一下。 HTML5规范中的最新功能使使用Canvas轻松创建丰富,详细的游戏和动画变得容易;网站无需使用Cookie即可将数据存储在用户的计算机上;并让网站确定您的位置,甚至确定计算机上的电池状态。
要了解HTML5的功能,请查看这5种基于浏览器的HTML5游戏。我最喜欢的是美丽(令人上瘾的)HexGL。
您可能不知道的是,从最真实的意义上讲,HTML5的这些单独组件在很大程度上被认为是API。为何如此?好吧,首先,像所有API一样,有一个已发布且经过精心设计的标准,用于说明浏览器的这种功能如何工作以及开发人员如何使用它。
类似于Appear.in API,Facebook或Instagram API,开发人员使用此标准和功能来进行数据交易(例如使用IndexedDB API),或访问浏览器功能(例如使用Canvas API)。
政府APIs
近年来,我们看到了前所未有的政府开放,以及透明度不断提高的趋势。在英国,我们已经看到了data.gov.uk的启动,这是政府数据集和统计数据的“一站式商店",已经为统计人员,记者和数据科学家进行分析提供了便利。在美国,它们也一直在稳步走向开放,但优势有所不同。他们选择使用API而不是仅仅将开放数据作为excel电子表格和CVS文件进行分发。
其背后的背景是奥巴马政府于2011年4月27日发布的第13571号行政命令。在“简化服务交付并改善客户服务"中,它要求政府机构研究如何改善服务交付,并强调应通过数字技术来实现。此后不久,奥巴马宣布了“数字政府:建立21世纪的平台以更好地为美国人民服务",其中定义了如何将这些内容传递给美国公众。即,具有开放的API,该API同时充当许多政府IT项目背后的关键,但也提供对私有开发应用程序的访问。
该项目可能是同类项目中的第一个,但取得了巨大的成功,美国大多数政府机构发布了开放数据集,包括美国国立卫生研究院,美国陆军和国土安全部。
在大多数情况下,要利用这些API,您可能需要具有扎实的编程背景,以及一定程度的数据可视化,数据科学和统计能力。但是,作为最终用户,您可以利用使用这些数据集的应用程序和网站。我注意到的一个令人印象深刻的就是AirNow,它可以让您监视附近的空气质量。
在使用API来开放政府和提高透明度方面,并非只有美国一个人。此后发布了开放数据API的其他政府包括澳大利亚,新西兰和英国。
API的兴起
API听起来很乏味,但是除了。他们改变了政府的运作方式,在使用Internet方面带来了前所未有的选择。
您甚至可以使用API从网站抓取数据来帮助您