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

摘要:有人说,有API的地方就有App,借助这些API开发者轻松构建出一款应用,极大地提高开发效率和开发质量。文中整理了一份API服务清单,内容涵盖:监控/调试、 CDN 、数据库、仪表盘、支付、通信等方面!

近几年,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。
  • HerokuPostgres最好的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服务,我们或许可以极大地提高工作效率,拥有更多时间来思考核心业务逻辑。

英文出自:Stormpath

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提高程序员职场价值的10大技巧

如果你已经是个很牛叉的程序员,但是依然觉得觉得还不够的话,欢迎阅读此文。本文旨在帮助各位更上一层楼。 你是不是觉得自己已经掌握了所有的编程技巧?别太自以为是了! 会写代码的确很重要,但是要拿到更好薪水&#…

google python的风格规范

点击链接,查看内容

IT人应当知道的10个行业小内幕

如果你打算从事IT行业或刚进入这个行业,也许本文下面的小内幕会吓到你,因为这些事平常都不会公开讨论的。如果你是IT资深人士,或许你已经遇到其中的大部分了。如果你愿意,请一起来参与讨论吧。 这些内幕大多数是针对网络管理员、…

Volatile原子性一致性JVM指令重排

概念 Volatile概念:Volatile关键字的主要作用是使变量在多个线程间可见。作用: 在多线程间可以进行变量的变更,使得线程间进行数据的共享可见 阻止指令重排序,happens-before package com.example.core.cas;import com.example.c…

python修改文件内容,不需要read,write多个动作。

python 要修改文件内容,常用 是先read,后write , 再 rename,很不爽。 比如:需要 把 yuv_dir "../HD/" # "H:/HD_Master/1080i25/" 改为 yuv_dir "C:/HD/" # "H:…

Atomic系列类

Atomic系列类别 Atomic系列类封装了一系列的基础类型和对象操作,其主要目的就是为了实现原子性,主要核心类如下 AtomicIntegerAtomicLongAtomicBooleanAtomicIntegerArrayAtomicLongArrayAtomicReference 原子性的引用对象在对Atomic类操作的时候&…

python 系统学习笔记(十二)---os os.path os.walk

得到当前工作目录,即当前 Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是…

Java JUC工具类--CountDownLatch

CountDownLatch:用于监听某些初始化操作,并且线程进行阻塞,等初始化执行完毕后,通知主线程继续工作执行 package com.example.core.juc;import java.util.concurrent.CountDownLatch;public class UseCountDownLatch {public stat…

Java JUC工具类--CyclicBarrier

CyclicBarrier:栅栏的概念,多线程的进行阻塞,等待某一个临界值条件满足后,同时执行 类比:每个线程代表一个跑步运动员,当运动员都准备好后,才一起出发,只要有一个人没有准备好&#…

人生感悟:人生像吃自助餐

问我怎样管理欲望,过简单生活?我的答案是:你要先学会品味人生,品味的同义词,就叫做体悟内涵。 人为什么有这么多欲望?其实,我们每个人在一个社会,就像进入一个自助餐(buffet)店,食物非常的多…

Java JUC工具类--Future

Future模式,也是非常经典的设计模式,这种模式主要就利用空间换时间的概念,也就是说异步执行(需要开启一个新的线程)在互联网高并发的应用服务中,我们随处可见这种理念和代码,主要就是使用了这种…

职场与生活 八条原则 让你不再浪费时间和提高效率

Heidi Roizen女士一度是硅谷人人争相学习的典范。她曾创办自己的公司并管理了14年之久。后来,她担任苹果公司主管开发者关系的高级副总裁。现在,她是DFJ Venture的一位风投家,她还在斯坦福主讲一门名叫‌‌“企业家精神‌‌”的课程。她几乎认…

Java JUC工具类--Exchanger

Exchanger Exchanger用于进行线程间的数据交换,它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据两个线程通过exchange方法交换数据,如果一个线程先执行exchange方法,它会一直等待第二个线程也执行exchang…

爸爸的素质决定孩子飞多高,爸爸们请反复看!!!

好父亲等于200个好老师,当爹的都好好看看,以后孩子不给力别怨别人! 孩子是父亲的影子,希望每个阅读完全文的父亲,都能成为一个好父亲。 NO.1爸爸是孩子最好的老师 爸爸的素质有多高,孩子就能飞多高 用理性的父爱帮…

Java JUC工具类--ForkJoin

ForkJoin Fork/Join框架是JAVA7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架Fork/Join中两个重要的类 ForkJoinTask:使用该框架,需要创建一个ForkJoin任务…

修复bug的12个关键步骤

要多少时间才能修复bug,事先是很难知道的,特别是如果你和这些代码还素不相识的话,情况就更加扑朔迷离了。James Shore在《The Art of Agile 》一书中,明确指出要想修复问题得先知道问题的所在。而我们之所以无法准确估计时间是因为…

Java JUC工具类--Master-Worker

Master-Worker Master-Worker模式是常用的并行计算模式。它的核心思想是系统由两类进程协作工作:Master进程和Worker进程Master负责接收和分配任务,Worker负责处理子任务当各个Worker子进程处理完成后,会将结果返回给Master,由Ma…

身体打来的电话,你一定要接!

心脏有问题时。左边手臂会酸、麻、痛。肝脏有问题时。小腿晚上睡觉时容易抽筋。肾脏出现问题时。声音就会出不来,就会沙哑。脾胃出现问题时。偏头痛。附:五脏排毒最简单有效的方法 一、心脏有问题时 1。呼吸会不顺畅,胸口会闷也会刺痛&…

Java JUC工具类--Semaphore

Semaphore 在Semaphore信号量非常适合高并发访问限制,新系统在上线之前,要对系统的访问量进行评估,评估是经过以往的经验、数据、历年的访问量,已经推广力度进行一个合理的评估当然评估标准不能太大也不能太小,太大的…