想成为技术大咖?那就从API的使用开始吧

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

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

有人说,有API的地方就有App,有的甚至将API作为构建成功Web应用程序的关键因素之一(提高API采用率的六大方法)。这足以说明,API已悄悄地融入进每个人的生活。

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

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

我们没有想象中聪明

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

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

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

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

效率优先

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

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

常用API整理

以下作者整理了一个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服务。

实时处理

  • Firebase–强大的实时数据存储和同步API。
  • Pusher–让Web socket通信变得简单。

存储

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

通信

  • OpenCNAM–智能来电显示和识别。
  • Twilio–易用的电话和短信平台。

测试

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

写在最后

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

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2017-11-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序人生

rails, django, phoenix,你们错了

写这个题目估计会招人骂。 这三个著名的 MVC(或者 MTV) framework,分别对应 Ruby,Python,Elixir 三种语言。说他们是这几门语言...

33470

云监控入门

原文作者:Angela Stringfellow

413110
来自专栏服务端技术杂谈

想将系统服务化?看看服务化鼻祖亚马逊踩过了哪些坑

SOA 面向服务架构 服务化 公司项目最近的主要工作是准备服务化,作为服务化的鼻祖亚马逊的架构服务化过程经历了哪些困难,踩了哪些坑?通过这篇文章你可以略知一二...

40870
来自专栏Java架构师学习

阿里,百度,腾讯等一线互联网公司中,Java开发的招聘标准阿里巴巴篇百度篇腾讯篇源码分析:分布式架构微服务架构性能优化Java开发工具实践项目

金三银四的跳槽热潮即将过去,在这两个月的跳槽的旺季中,作为互联网行业的三大巨头,百度、阿里巴巴、腾讯对于互联网人才有很大的吸引力,他们的员工也是众多互联网同行...

48590
来自专栏Java职业技术分享

程序员怎么利用空闲时间充电提升自己?

初级Java程序员成长为进阶程序员需要不断的积累和辅助,对于新手来说并非遥不可及,只要遵循一定的原则,比如,先养成几个通往成功的好的习惯,程序员怎么利用空闲时间...

34800
来自专栏养码场

这13项技能让你从传统“撕”到互联网,论Java转型之不易(内含福利)

本人从传统外企转型到互联网已有3个年头,近两年来面试了很多来自传统行业的同行们。发现他们都有意走进处于风口的互联网,但是由于传统行业使用的技术栈与互联网的有所不...

9830
来自专栏轮子工厂

Java必看图书籍一网打尽

对于程序员来说,个人感觉最佳学习方式是看书,视频花费时间太长,而博客则不够系统。初学相关领域最好的方式就是找到一本经典的好书,然后啃完它。 本贴子收集了几本Ja...

12770
来自专栏架构师小秘圈

1亿级PV网站架构演变

作者:叶军 来自:http://www.yejun.cn/?p=1154 一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不...

69270
来自专栏顶级程序员

合法练习黑客技术?这15个网站也许可以帮到你

来自:FreeBuf.COM(微信号:freebuf) 链接:www.freebuf.com/special/123961.html(点击尾部阅读原文前往)...

638150
来自专栏ThoughtWorks

如约而至|2018年5月期技术雷达正式发布!

ThoughtWorks每年都会出品两期技术雷达,这是一份关于技术趋势的报告,由 ThoughtWorks 技术战略委员会(TAB)经由多番正式讨论给出,它以独...

12210

扫码关注云+社区

领取腾讯云代金券