开发者应该了解的API技术清单

近几年,API经济纷纷崛起,无论是国外还是国内,众多厂商积极开放API。开发者很多时候是要借助这些API,才能轻松构建出一款应用,极大地提高开发效率和开发质量。文中整理了一份API服务清单,内容涵盖:监控/调试、CDN 、数据库、仪表盘、支付、通信等方面!

从2011年开始,数据通过API开发出来已成为一种趋势,与此同时它也逐渐发成为企业的核心业务。据不完全统计,国外知名站点ProgrammableWeb收录的新API就达到数万个,而且还在不断增长中。

利用丰富的第三方API,开发者轻松构建出一款应用,极大地提高开发效率和开发质量。而对于厂商而言,他们似乎更乐意将API推向市场,比如通过创建API社区、社交网络等,因为这样更有利于把产品推向市场,从而达到共赢。

有的人甚至将API作为构建成功Web应用程序的关键因素之一(提高API采用率的六大方法)。原文作者RANDALL DEGGES发表了这篇博文《API-Driven Development》,笔者对此文进行了摘译。

译文如下:

作为一名开发者,诚然编写代码如同作家提笔挥毫,非常有成就感与乐趣,但同时我也觉得删除代码是件不相伯仲的美事。为什么呢?因为在进行删除工作时,意味着自己找出了造成干扰的位置,意味着找到了冗余无用的代码,甚至是找到了能用更少代码实现相同功能的途径。代码越少,意味着出错的几率越低。

我的观点是:利用好第三方API,减少自己的代码工作量,让出错的概率尽量降低。只有这样,我们才可以把更多精力放到更核心的开发工作或业务逻辑思考当中去。

我们没有想象中聪明

一名善于阅读和思考的程序员,想必是出众的程序员,譬如正在浏览本文的你。但是无论我们多么优秀,一个无法避免的事实是我们写的代码绝不可能零错误。

最合理的时间利用,不是为每一个项目都进行重复建设,依葫芦画瓢。更好的时间分配是我们能持续打造更令人惊叹的应用,不断推陈出新。

如果要为应用添加日志功能,Loggly足可为我们节省三年左右的开发时间;如果要为应用添加用户管理和身份认证模块,Stormpath已做得足够完美。如果仍不满意,还是觉得自己才是最好,那么我们必须为此付出额外的时间,金钱,技术,同时还得兼顾维护,安全,托管等问题。

因此,如果有现成可用的一群技术大咖为我们铺好了前进道路,我们为什么还要敬而远之舍近索远呢?充分利用API服务,进行有效整合,才是明智的选择。

效率优先

不要把时间浪费在不必要的环节上。我们的目标是为客户打造最好的应用,而不是7x24小时地守候在计算机旁,关注程序运营中的每个细节。

此外,难道我们的竞争对手还会自己来打造非核心的程序组成部分吗?面对紧张的竞争局面,我们必须充分且合理地分配资源,让自己尽可能地走在对手的前面。

工具和解决方案

以下作者整理了一个API服务清单,一方面希望能让你的开发过程变得轻松,另外一方面希望能帮你节约时间,精力和努力。

认证/授权(Authentication / Authorization)

Stormpath—把应用中有关用户管理的部分都放心交给它好了,其功能包括:安全地存储用户信息,管理用户权限,快速地进行邮箱验证和密码重置。

分析(Analytics)

Keen.io–能完美地进行自定义分析。

CDN:

CloudFlare –搭载CDN与DDoS攻击保护功能!

Fastly–令人惊叹的CDN API,速度奇快,定制自由度高。

CRM:

Intercom–使用简便,功能全面。

仪表盘(Dashboards)

Ducksboard –界面精美,直接高效的API,能方便地进行项目数据查阅。

Leftronic–同样精美的设计,个人认为它对地理信息支持更好。

数据库

Bonsai–使用强大的RESTful搜索引擎ElasticSearch。

Heroku Postgres–最好的PostgreSQL托管服务。

MongoHQ–个人喜爱的MongoDB数据库供应者。

OpenRedis–我会一直使用的Redis服务提供者,永远不会弄丢数据,可扩展能力强。

部署/托管

Heroku–一个不错的托管公司。

Flynn–建造于Docker之上,Heroku的有力竞争者。

邮件

Sendgrid–透过API来发送邮件,非常简单。

日志

Loggly–易用的日志管理工具。

监控/调试

New Relic–如果曾经错过它,你会发现是多么地遗憾。它能提供丰富的性能/监控信息。

RunScope–非常有用的调试和监控API服务。

支付

Stripe–极好的信用卡相关交易处理者。

Coinbase–最好的比特币交易服务提供者。

实时处理

 Firebase–强大的实时数据存储和同步API。

Pusher–让Web socket通信变得简单。

存储

Amazon S3–几无对手的文件存储和文件流服务API。

通信

OpenCNAM–智能来电显示和识别。

Twilio–易用的电话和短信平台。

测试

Travis CI–提供了单元和综合测试服务,包含公共免费和专项收费的服务级别。

写在最后

打造一款明星级产品绝非易事,而透过利用API服务,我们或许可以极大地提高工作效率,拥有更多时间来思考核心业务逻辑。

时间: 2024-12-21 17:28:56

开发者应该了解的API技术清单的相关文章

开发者应该了解的API技术清单!

英文原文:API-Driven Development 作为一名开发者,诚然编写代码如同作家提笔挥毫,非常有成就感与乐趣,但同时我也觉得删除代码是件不相伯仲的美事.为什么呢?因为在进行删除工作时,意味着自己找出了造成干扰的位置,意味着找到了冗余无用的代码,甚至是找到了能用更少代码实现相同功能的途径.代码越少,意味着出错的几率越低. 我的观点是:利用好第三方 API,减少自己的代码工作量,让出错的概率尽量降低.只有这样,我们才可以把更多精力放到更核心的开发工作或业务逻辑思考当中去. 我们没有想象中

【转】开发者应该了解的API技术清单

[转载贴] 作为一名开发者,诚然编写代码如同作家提笔挥毫,非常有成就感与乐趣,但同时我也觉得删除代码是件不相伯仲的美事.为什么呢?因为在进行删除工作 时,意味着自己找出了造成干扰的位置,意味着找到了冗余无用的代码,甚至是找到了能用更少代码实现相同功能的途径.代码越少,意味着出错的几率越低. 我的观点是:利用好第三方 API,减少自己的代码工作量,让出错的概率尽量降低.只有这样,我们才可以把更多精力放到更核心的开发工作或业务逻辑思考当中去. 我们没有想象中聪明 一名善于阅读和思考的程序员,想必是出

(转)Java API设计清单

转自: 伯乐在线 Java API设计清单 英文原文 TheAmiableAPI 在设计Java API的时候总是有很多不同的规范和考量.与任何复杂的事物一样,这项工作往往就是在考验我们思考的缜密程度.就像飞行员起飞前的检查清单,这张清单将帮助软件设计者在设计Java API的过程中回忆起那些明确的或者不明确的规范.本文也可以看作为“API设计指南”这篇文章的附录. 我们还准备了一些前后比对的例子来展示这个列表如何帮助你理清设计需求,找出错误,识别糟糕的设计实践以及如何寻找改进的时机. 这个清单

转:GitHub 万星推荐成长技术清单

转:http://www.4hou.com/info/news/7061.html 最近两天,在reddit安全板块和Twitter上有个GitHub项目很火,叫"Awesome Hacking". "Awesome Hacking"在reddit上有超过四百个赞,但管理员后来认为不适合该板块(Awesome类项目没有新的内容),给了"reject". 这个项目由Twitter账号@HackwithGithub 维护,混Twitter的安全爱好者

GitHub 万星推荐:黑客成长技术清单

GitHub 万星推荐:黑客成长技术清单 导语:如果你需要一些安全入门引导,"Awesome Hacking"无疑是最佳选择之一. 最近两天,在reddit安全板块和Twitter上有个GitHub项目很火,叫"Awesome Hacking". "Awesome Hacking"在reddit上有超过四百个赞,但管理员后来认为不适合该板块(Awesome类项目没有新的内容),给了"reject". 这个项目由Twitter账

用ASP.NET Web API技术开发HTTP接口(一)

开发工具 Visual Studio 2013 SQL Server 2008 R2 准备工作 启动Visual Studio 2013,新建一个ASP.NET Web应用程序,命名为SimpleAPI.选择Empty模板,并勾选"Web API",无身份验证,不添加单元测试. 准备用SQL Server数据库来存储数据,因此要安装下Entity Framework框架,免去写繁琐SQL语句的麻烦.打开工具->程序包管理器控制台输入以下命令安装. Install-Package

Java API 设计清单

译者:[email protected]东西 来源:http://blog.jobbole.com/12958/ 在设计Java API的时候总是有很多不同的规范和考量.与任何复杂的事物一样,这项工作往往就是在考验我们思考的缜密程度.就像飞行员起飞前的检查清单,这张清单将帮助软件设计者在设计Java API的过程中回忆起那些明确的或者不明确的规范.本文也可以看作为“API设计指南”这篇文章的附录. 我们还准备了一些前后比对的例子来展示这个列表如何帮助你理清设计需求,找出错误,识别糟糕的设计实践以

移动端开发者福利-免费收费api收藏

一 .api 1.https://www.juhe.cn/ 跟百度api集市差不多,超级赞,做好认证就行了,我有20+认证能用的免费api 2.http://apistore.baidu.com/astore/servicesearch?word=%E5%85%8D%E8%B4%B9&isFree=1 百度api集市 3.https://developers.douban.com/wiki/?title=guide 豆瓣开放 ,仅向企业开放 4.http://open.taobao.com/?s

开发者应当敬畏和尊重技术

自己算不上对技术多么精通.自然不敢妄加评论,我对技术始终保持着一份尊重性,不仅仅我就是靠技术吃饭的,更多的是一直以来的感悟,曾几何时,我曾为自己使用盗版软件而沾沾自喜,为自己会如何去破解收费软件为高兴,但是在今天看来,我似乎感到了曾经是多么的可笑和无知, 因为如今我竟然找不着为何要使用盗版软件的理由,不用花钱绝对是一个靠不住的正当理由,好比你给别人打了一个月的工,但发工资的时候老板却分文不给,老所说,我只想节省成本,这显然是很可笑的,而我们的思想和老板是没有说明本质区别的,仅此问自己:用别人辛苦