【转】开发者应该了解的API技术清单
【转载贴】
作为一名开发者,诚然编写代码如同作家提笔挥毫,非常有成就感与乐趣,但同时我也觉得删除代码是件不相伯仲的美事。为什么呢?因为在进行删除工作 时,意味着自己找出了造成干扰的位置,意味着找到了冗余无用的代码,甚至是找到了能用更少代码实现相同功能的途径。代码越少,意味着出错的几率越低。
我的观点是:利用好第三方 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 服务提供者,永远不会弄丢数据,可扩展能力强。
部署/托管
邮件
- Sendgrid–透过 API 来发送邮件,非常简单。
日志
- Loggly–易用的日志管理工具。
监控/调试
支付
实时处理
存储
- Amazon S3–几无对手的文件存储和文件流服务 API。
通信
测试
- Travis CI–提供了单元和综合测试服务,包含公共免费和专项收费的服务级别。
写在最后
打造一款明星级产品绝非易事,而透过利用 API 服务,我们或许可以极大地提高工作效率,拥有更多时间来思考核心业务逻辑。
【转】开发者应该了解的API技术清单的更多相关文章
- 开发者应该了解的API技术清单
近几年,API经济纷纷崛起,无论是国外还是国内,众多厂商积极开放API.开发者很多时候是要借助这些API,才能轻松构建出一款应用,极大地提高开发效率和开发质量.文中整理了一份API服务清单,内容涵盖: ...
- 开发者应该了解的API技术清单!
英文原文:API-Driven Development 作为一名开发者,诚然编写代码如同作家提笔挥毫,非常有成就感与乐趣,但同时我也觉得删除代码是件不相伯仲的美事.为什么呢?因为在进行删除工作时,意味 ...
- (转)Java API设计清单
转自: 伯乐在线 Java API设计清单 英文原文 TheAmiableAPI 在设计Java API的时候总是有很多不同的规范和考量.与任何复杂的事物一样,这项工作往往就是在考验我们思考的缜密程度 ...
- GitHub万星项目:黑客成长技术清单
最近有个GitHub项目很火,叫"Awesome Hacking",这个项目是由Twitter账号@HackwithGithub 维护,喜欢逛Twitter的安全爱好者应该了解,在 ...
- 转:GitHub 万星推荐成长技术清单
转:http://www.4hou.com/info/news/7061.html 最近两天,在reddit安全板块和Twitter上有个GitHub项目很火,叫“Awesome Hacking”. ...
- GitHub 万星推荐:黑客成长技术清单
GitHub 万星推荐:黑客成长技术清单 导语:如果你需要一些安全入门引导,“Awesome Hacking”无疑是最佳选择之一. 最近两天,在reddit安全板块和Twitter上有个GitHub项 ...
- GitHub上个最有意思的项目合集(技术清单系列)
没有1K以上的星星都不好意思推荐给大家!林子大了,啥项目都有,这里给大家搜罗了10个Github上有趣的项目.如果你就着辣椒食用本文,一定会激动的流下泪来...... 1.一行代码没有 | 18k s ...
- 用ASP.NET Web API技术开发HTTP接口
开发工具 Visual Studio 2013 SQL Server 2008 R2 准备工作 启动Visual Studio 2013,新建一个ASP.NET Web应用程序,命名为SimpleAP ...
- 用ASP.NET Web API技术开发HTTP接口(一)
开发工具 Visual Studio 2013 SQL Server 2008 R2 准备工作 启动Visual Studio 2013,新建一个ASP.NET Web应用程序,命名为SimpleAP ...
随机推荐
- rails generate model/resource/scaffold的区别
If you’re just learning Ruby on Rails, you may be confused as to when to generate individual models, ...
- Unity3D研究院之脚本生成Android Google Project
一般安卓自动化打包直接会生成个APK出来,但是我不想生成APK,我想生成Eclipse项目. 然后在自动化完成后面的打包工作. 1 2 3 4 5 6 7 8 9 10 11 using Un ...
- Hadoop之词频统计小实验
声明: 1)本文由我原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Ubuntu操作系统,hadoop1-2-1,jdk1.8.0. 3)统计词频工作在单节点的伪分布上,至于真正实 ...
- 2D游戏平滑的迷雾战争效果
近期刚好有做2D游戏的点光源效果,然后就扩展一下.研究了一下战争迷雾的效果.主要是想实现相似魔兽争霸那种人物走动,然后黑色的战争迷雾随着人物的移动渐渐打开的效果.使用具有渐变透明图片作为光源来使得战争 ...
- C++/C混合编程
C与C++混合编程 C++ 是在 C 语言的基础上发展起来的.在某种程度上,我们可将 C++ 看做 C 的一种扩展.在本质上,二者的数据类型和函数调用惯例都是一致的,因此 C 与 C++ 混合编译也是 ...
- 在Eclipse中导入dtd和xsd文件,使XML自动提示(转)
DTD 类型约束文件 1. Window->Preferences->XML->XML Catalog->User Specified Entries窗口中,选择Add 按纽 ...
- MongoDB之索引
索引是用来加快查询的,这里不解说索引的原理和数据结构.事实上大部分数据库的索引就是B+Tree,想要了解的同学能够看索引原理,要掌握怎样为查询配置最佳索引会有些难度. MongoDB索引差点儿和关系型 ...
- Atitit. atiJavaExConverter4js 新的特性
Atitit. atiJavaExConverter4js 新的特性 1.1. V1新特性1 1.2. V2 新特性1 2. Keyword1 3. Catch1 4. Convert n Thro ...
- [ci] 构建触发器,实现当gitlab有push动作时候,jenkins自动拉代码.
构建触发器,实现当gitlab有push动作时候,jenkins自动拉代码. 拉取gitlab代码库: jenkins安装git插件 配置gitlab服务器和jenkins服务器身份互信 jenkin ...
- 28. Implement strStr()【easy】
28. Implement strStr()[easy] Implement strStr(). Returns the index of the first occurrence of needle ...