`
usenrong
  • 浏览: 515014 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

 
阅读更多

近几年,API经济纷纷崛起,无论是国外还是国内,众多厂商积极开放API。开发者很多时候是要借助这些API,才能轻松构建出一款应用,极大地提高开发效率和开发质量。文中整理了一份API服务清单,内容涵盖:监控/调试、CDN 、数据库、仪表盘、支付、通信等方面!

从2011年开始,数据通过API开发出来已成为一种趋势,与此同时它也逐渐发成为企业的核心业务。据不完全统计,国外知名站点ProgrammableWeb收录的新API就达到数万个,而且还在不断增长中。

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

有的人甚至将API作为构建成功Web应用程序的关键因素之一(提高API采用率的六大方法)。原文作者RANDALL DEGGES发表了这篇博文《API-Driven Development》,笔者对此文进行了摘译。

译文如下:

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服务提供者,永远不会弄丢数据,可扩展能力强。

部署/托管

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

分享到:
评论

相关推荐

    Windows API函数清单 一个文档

    Windows API是Windows操作系统的核心接口,它提供了一系列函数供开发者使用,以实现对系统资源的管理和控制。本篇文章将深入探讨Windows API中的网络函数、消息函数和文件处理函数,这三个主要的知识点。 首先,...

    WindowsAPI函数清单

    Windows API函数清单主要包含了操作系统提供的各种功能接口,用于开发者构建Windows平台的应用程序。这些函数涵盖了网络、消息处理、文件操作等多个方面。 对于网络函数,Windows API提供了如WNetAddConnection系列...

    TickTickApi:Wed API for TickTick Dida365 (滴答清单)

    TickTickApi是一款针对滴答清单(Dida365)的Web API,它允许开发者通过编程方式与滴答清单进行交互,实现任务管理、日程安排等功能的自动化和个性化。这款API主要面向JavaScript开发者,为他们提供了丰富的接口来...

    WindowsAPI函数清单.pdf

    这个PDF文档,"WindowsAPI函数清单.pdf",详细列出了不同类型的API函数,涵盖了网络、消息处理、文件操作等多个方面,是Windows编程的重要参考资料。 1. **API之网络函数**:如`WNetAddConnection`用于创建对网络...

    windows API 函数清单

    Windows API 是微软操作系统提供的一系列函数接口,允许程序员访问操作系统的核心功能,如用户界面、文件系统、网络通信等。以下是一些重要的Windows API函数及其详细说明: 1. **网络函数**: - `...

    android开发者应该熟悉几个例子

    以下是一些Android开发者应该熟悉的例子: 1. **活动(Activity)管理**:Android应用程序由多个活动组成,每个活动代表一个用户界面。了解如何创建、启动、跳转和管理活动生命周期至关重要。例如,学习如何正确...

    firefox os 开发者文档

    总结:通过上述知识点,开发者可以了解Firefox OS的开发概貌,包括其架构、特色、开发流程、Web应用技术、API使用等方面。对于希望在Firefox OS平台上开发应用的开发者来说,这些知识点构成了入门和深入学习的基础。

    API函数清单(有助于快速查找你最需要的函数)

    【API函数清单】是程序员在开发过程中经常需要查阅的参考资料,尤其对于Windows操作系统下的编程,API函数扮演着至关重要的角色。这些函数可以帮助开发者实现各种功能,包括但不限于网络操作、消息处理和文件处理。 ...

    WIN32 VB API

    - "WIN32API.TXT":可能包含了一些常见的Win32 API函数的清单,供开发者参考。 - "MAPI32.TXT":可能涉及到的是Microsoft的Messaging Application Programming Interface (MAPI),一个用于邮件和消息处理的API。 - ...

    计算机WindowsAPI函数清单.pdf

    在Windows API函数清单中,我们可以看到一系列的关键函数,它们是开发Windows应用程序的基础。 1. **网络函数**: - `WNetAddConnection`:此函数用于建立与网络资源的持久连接,允许应用程序访问网络上的共享资源...

    海康威视开发api,demo

    海康威视开发者api。下载后,解压到文件夹,内容是开发demo,将demo打开,输入链接地址及密码,即可获取画面

    VB API.zip_API_vb api_vb函数大全_windows api 大全

    本资源"VB API.zip_API_vb api_vb函数大全_windows api 大全"是针对VB API的一个综合资料包,包含了丰富的函数参考和实例示例,旨在帮助开发者深入理解和熟练运用VB API。 1. **图形绘制API** 在VB中,利用API可以...

    Win API各种版本

    通过这些文件,开发者可以深入了解Win API的不同版本及其使用方法,从而在Windows平台上开发出高效且功能丰富的应用程序。在学习和实践中,不仅要掌握API的用法,还需要理解其背后的原理,如消息队列、线程同步等,...

    伊朗制造的API:伊朗的API清单

    8. 技术栈:了解这些API所基于的技术,如编程语言、框架和数据库,可以帮助开发者决定是否兼容他们的项目需求。 9. 安全性与合规性:伊朗制造的API在设计时会考虑数据安全和法规遵从性,尤其是对于处理敏感信息的...

    愿望小清单小程序

    总的来说,开发“愿望小清单小程序”涉及到了微信小程序平台的多个技术层面,从前端UI设计、后端数据处理到用户体验优化,都需要开发者具备扎实的JavaScript基础和对微信小程序生态的深入理解。通过不断学习和实践,...

    Api_for_standars_C51.zip

    通过运行`test_api.c`中的代码,开发者可以确保API的功能正常,并了解如何在自己的项目中正确使用这些API。 4. **头文件(reg_C51.h)**:这个头文件定义了C51微控制器的寄存器映射和相关常量,对于理解和操作硬件...

    一个待办事项微信小程序

    【待办事项微信小程序开发详解】 “待办事项”微信小程序是一个基于JavaScript开发的应用,它利用微信小程序平台...通过学习和实践,开发者不仅能掌握微信小程序的开发技术,还能提升对前端开发流程和项目管理的理解。

    超强API浏览器(已编译)

    【超强API浏览器(已编译)】是一款专为开发者设计的高效工具,它集成了对各种编程语言API的浏览、搜索和理解功能。这款软件已经过编译,用户可以直接使用,无需自行构建或配置,大大简化了使用流程,提高了开发效率...

    Android Studio运行真机调试出现min Sdk(API 26)device Sdk(API 23)解决方法

    面对“minSdk(API 26) deviceSdk(API 23)”这类错误,开发者首先需要理解错误背后的含义,并根据实际情况采取相应的解决措施。通常可以通过调整项目的`minSdkVersion`值或者更新设备系统版本来解决此问题。此外,在...

Global site tag (gtag.js) - Google Analytics