近幾年,API經濟紛紛崛起,不管是國外仍是國內,衆多廠商積極開放API。開發者不少時候是要藉助這些API,才能輕鬆構建出一款應用,極大地提升開發效率和開發質量。文中整理了一份API服務清單,內容涵蓋:監控/調試、CDN 、數據庫、儀表盤、支付、通訊等方面!html
從2011年開始,數據經過API開發出來已成爲一種趨勢,與此同時它也逐漸發成爲企業的核心業務。據不徹底統計,國外知名站點ProgrammableWeb收錄的新API就達到數萬個,並且還在不斷增加中。程序員
利用豐富的第三方API,開發者輕鬆構建出一款應用,極大地提升開發效率和開發質量。而對於廠商而言,他們彷佛更樂意將API推向市場,好比經過建立API社區、社交網絡等,由於這樣更有利於把產品推向市場,從而達到雙贏。數據庫
有的人甚至將API做爲構建成功Web應用程序的關鍵因素之一(提升API採用率的六大方法)。原文做者RANDALL DEGGES發表了這篇博文《API-Driven Development》,筆者對此文進行了摘譯。安全
譯文以下:網絡
做爲一名開發者,誠然編寫代碼如同做家提筆揮毫,很是有成就感與樂趣,但同時我也以爲刪除代碼是件不相伯仲的美事。爲何呢?由於在進行刪除工做時,意味着本身找出了形成干擾的位置,意味着找到了冗餘無用的代碼,甚至是找到了能用更少代碼實現相同功能的途徑。代碼越少,意味着出錯的概率越低。socket
個人觀點是:利用好第三方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服務,咱們或許能夠極大地提升工做效率,擁有更多時間來思考覈心業務邏輯。