阅读更多

1顶
0踩

非技术

原创新闻 开发者应该了解的API技术清单!

2014-09-29 10:39 by 见习编辑 u012797015 评论(2) 有12261人浏览

近几年,API经济纷纷崛起,无论是国外还是国内,众多厂商积极开放API。从2011年开始,数据通过API开发出来已成为一种趋势,与此同时它也逐渐发成为企业的核心业务。据不完全统计,国外知名站点ProgrammableWeb收录的新API就达到数万个,而且还在不断增长中。

 

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

 

有人说,有API的地方就有App,有的甚至将API作为构建成功Web应用程序的关键因素之一(提高API采用率的六大方法)。这足以说明,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服务,我们或许可以极大地提高工作效率,拥有更多时间来思考核心业务逻辑。

  • 大小: 228.9 KB
  • 大小: 13.4 KB
  • 大小: 312.1 KB
来自: CSDN
1
0
评论 共 2 条 请登录后发表评论
2 楼 wufeipeng2001 2014-10-09 06:40
 
1 楼 bluky999 2014-10-07 14:22
travis 主要是CI,测试只是自动化过程中的一个环节而已。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • XML中PCDATA与CDATA的区别

    XML中PCDATA与CDATA的区别2011-02-10 19:27:25|  分类: XML |  标签:xml中pcdata与cdata的区别     字号:大中小 订阅 所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。PCDATAPCDATA 指的是被解析的字符数据(Parsed C

  • XML基础(一)(只管能看懂XML文件)

    XML基础(一) 1、概述 1.1 定义(xml是个啥玩意儿?) XML(E ** X** t ensible M arkup L anguage)俗称差妹儿或者叫额克死妹儿,专业称之为: 可拓展标记语言。 (1)何为标记,指的是一种标记语言,或者标签语言,即用一系列的标签来对数据进行描述。 (2)何为拓展,简单来说就是用户可以自己定义标签。 1.2 作用(能用来干啥?) (1)作为数据传输的标准。好读,好维护,好扩展,还TM与语言无关,任谁都会选择他来担任这个数据传输的角色吧。。。 (2)作为配置文件。其

  • XML实体引用

    实体引用 在 XML 中,一些字符拥有特殊的意义。 如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。 这样会产生 XML 错误:<message>if salary < 1000 then</message> 为了避免这个错误,请用一个实体引用来代替 "<" 字符:<message&gt...

  • XML预定义的实体

    在TSQL读取XML中一些特定的字符时出错,在XML中有些自付要用实体: 下面是五个在XML文档中预定义好的实体:< < 小于号> > 大于号& & 和' ' 单引号" " 双引号实体必须以符号"&"开头,以符号";"结尾。注意: 只有"<" 字符和"&amp...

  • 在XML中,有5个预定义的实体引用

      <   小于 > >  大于 & &  和号 '   单引号 " "  引号

  • 深入理解XML实体:从基本概念到实际应用

    双引号:和号:小于号:大于号:单引号这些预定义实体在HTML5中也有广泛的应用。

  • (5)预定义实体与CDATA节

    预定义实体 XML为显示非ASCII码字符集中的字符提供了两种方法:        字符引用和实体引用。 字符引用是一个字符文字形式的替代品。 字符引用用来表示一个可显示的字符,它由十进制或十六进制的数字前面加上“&#”或“&#x”,后面紧跟分号“;”组成。 例如,“©”或“©”(在浏览器中)会被显示为“©”,而“®”或“®”会被显示为“®”。

  • XML之预定义实体

    实体相当于我们说的常量,XML中预定义的实体有: 实体 描述 " 双引号 ' 单引号 < 小于,即< > 大于,即> & & 运用例子: 要实现效果为'He said:"1<2"'如下: ...

  • XML基础

    XML元素指的是从(且包括)开始标签知道(且包括)结束标签的部分一个元素可以包含:其他元素文本属性或者混合以上所有...

  • XML基础知识

    内部声明DTD 引用外部DTD ** **

  • XML预定义实体

    XML预定义实体 意义 < > >(大于)

  • XML特殊符号

    需要转换的 目前就这几个 ' " < > 被转换成了 & apos; & quot; & lt; & gt; Mark~ 补充 下面是五个在XML文档中预定义好的实体: < < 小于号 > > 大于号 & & 和 ' ' 单引号 &a

  • xml五个预定义的实体引用

    &

  • XML 中有 5 个预定义的实体引用

    在 XML 中有 5 个预定义的实体引用:  <小于号>>大于号&&与(和)号''单引号""双引号  注释:严格地讲,在 XML 中仅有字符 "

  • xml预定义实体

    实体名  实体引用 &       &amp <        &gt >        &lt '        &apos "        &quot  书名号的实现  <?xml version="1.0" encoding="gb2312"?><cds> &

  • XML文档中预定义好的实体

    下面是五个在XML文档中预定义好的实体: < 小于号 > >  大于号 & & 和 ' ' 单引号 " " 双引号 实体必须以符号"&"开头,

  • XML中的转义字符

     非法的 XML 字符必须被替换为实体引用(entity reference)。在 XML 中有 5 个预定义的实体引用:<小于>>大于&&和号'省略号""引号

  • XML 中,有 5 个预定义的实体引用:

    < 小于 > > 大于 & & 和号 ' ' 单引号 " " 引号   注释:在 XML 中,只有字符 "

  • xml 5 个预定义的实体引用

    &lt < 小于 &gt > 大于 &amp & 和号 &apos ‘ 单引号 &quot “ 引号 注释:在 XML 中,只有字符 “<” 和 “&” 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。

Global site tag (gtag.js) - Google Analytics