摘要:有人说,有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

开发者应该了解的API技术清单!相关推荐

  1. [转] 年终回顾,为你汇总一份「前端技术清单」

    记得年初的时候我给自己制定了一个学习计划,现在回顾来看完成度还不错.但仍有些遗憾,一些技术点没有时间去好好学习. 在学习中我发现,像文章这样的知识往往是碎片化的,而前端涉及到的面很多,如果不将这些知识 ...

  2. 致开发者:2018年AI技术趋势展望

    来源|公众号"AI 前线",(ID:ai-front) 译者|核子可乐 编辑|Emily 概要:在 2018 年,开发者如何将一系列 AI 技术成果应用于当前的工作当中呢? 近日, ...

  3. 中国移动将向广大开发者开放了SDK/API等开发工具

    7月30日14时消息,中国移动自有操作系统OPhone OS正式开放开发者社区注册,将向广大开发者开放了SDK/API等开发工具. OPhone OS (Open Mobile Phone Opera ...

  4. 开发者能力大赏,谁是技术知识达人?

    摘要:开发者满分通过"知识大比拼"考卷后即可解锁终极任务,完成全部闯关就有资格参与"全能开发者"抽奖,抱走大奖! 今天是华为伙伴暨开发者大会2022的第二天,华 ...

  5. Java 后端技术清单 2023版

    后端开发需要掌握的知识,从入门到精通之路 JAVA后端技术清单 文章目录 JAVA后端技术清单 1. 开发环境 2. 基础知识 4. 编码规范及技术博客 5. 动⼿实践 1. 开发环境 JDK: 版本 ...

  6. 成为一个优秀的Android开发者,需要必备哪些技术工作技能?

    我并不是要你去学习西班牙语或者中文,而是学习新的编程语言.随着科技的发展,你需要保持自己的知识更新,而不是把自己固定死在安卓一个方面. 这能够开阔你的视野,并能够显著地提升你的安卓开发技巧.下定决心每 ...

  7. 个人开发者福音:免费 API 列表大全!

    转载自公众号[GitHub黑板报] 我觉得个人开发者如果要自己开发一些网站和 APP,最快的方式就是依赖其他平台已有的 API,然后快速的将自身的想法实现,快速验证软件的逻辑是否如你设想的一样受大家的 ...

  8. AI开发者大会之语音语义技术实践与应用:2020年7月3日《NLP在教育行业的应用》、《AI防疫-语音语义技术在政务联络场景中的应用》、《智能客服机器人在售前导购场景中的应用实践》

    AI开发者大会之语音语义技术实践与应用:2020年7月3日<NLP在教育行业的应用>.<AI防疫-语音语义技术在政务联络场景中的应用>.<智能客服机器人在售前导购场景中的 ...

  9. GitHub上个最有意思的项目合集(技术清单系列)

    没有1K以上的星星都不好意思推荐给大家!林子大了,啥项目都有,这里给大家搜罗了10个Github上有趣的项目.如果你就着辣椒食用本文,一定会激动的流下泪来- 1.一行代码没有 | 18k stars! ...

最新文章

  1. 说说软件开发这个职业
  2. Uncaught TypeError: Object [object Object] has no method 'xxx'
  3. 云炬随笔20161224
  4. 关于私有变量,静态私有变量
  5. 在WINDOWS SERVER 上或远程桌面中使用 MUTEX
  6. python辅导机构_推荐靠谱python辅导机构!
  7. apache fop_Apache FOP与Eclipse和OSGi的集成
  8. 【HDU - 6558】The Moon(期望dp)
  9. 基础的shell编程问题(二)
  10. LeetCode 1652. 拆炸弹(前缀和)
  11. obj.val 非数组_在Ruby中使用Array.new(size,obj)创建数组
  12. java时间规划书_【计算机本科补全计划】Java学习笔记(九) Java日期时间
  13. Redis笔记(七)Java实现Redis消息队列
  14. 在c#使用Windows IOCP(完成端口)编程研究
  15. 天锐绿盾解密_天锐绿盾数据防泄密系统
  16. codeblock图形界面编程(十)文件操作
  17. MAC下的环境变量设置
  18. C# 实现批量下载抖音里的无水印视频
  19. 企业邮箱账号,如何在foxmail上创建
  20. LeetCode-70.爬楼梯

热门文章

  1. arcgis利用python赋值
  2. 详解ASP.NET页面生命周期事件
  3. 【转】SharePoint 中的编程模型
  4. 【微软官方文档】应用程序错误处理
  5. HTML + CSS 实现 GitHub 项目标签、徽章样式
  6. PWN-PRACTICE-BUUCTF-2
  7. PHP获取表单数据的方法有几种,如何实现PHP获取表单数据与HTML嵌入PHP脚本
  8. 【牛客 - NC93】设计LRU缓存结构(模拟)
  9. 【qduoj - 1012】反转数字(模拟,水题)
  10. Mac系统容易忽视但很实用的命令整理