利用豐富的第三方API,開發者輕鬆構建出一款應用,極大地提高開發效率和開發質量。而對於廠商而言,他們似乎更樂意將API推向市場,比如通過建立API社群、社交網路等,因為這樣更有利於把產品推向市場,從而達到共贏。
有人說,有API的地方就有App,有的甚至將API作為構建成功Web應用程式的關鍵因素之一(提高API採用率的六大方法)。這足以說明,API已悄悄地融入進每個人的生活。原文作者RANDALL DEGGES發表了這篇博文《API-Driven Development》,筆者對此文進行了摘譯。
譯文如下:
作為一名開發者,誠然編寫程式碼如同作家提筆揮毫,非常有成就感與樂趣,但同時我也覺得刪除程式碼是件不相伯仲的美事。為什麼呢?因為在進行刪除工作時,意味著自己找出了造成干擾的位置,意味著找到了冗餘無用的程式碼,甚至是找到了能用更少程式碼實現相同功能的途徑。程式碼越少,意味著出錯的機率越低。
我的觀點是:利用好第三方API,減少自己的程式碼工作量,讓出錯的概率儘量降低。只有這樣,我們才可以把更多精力放到更核心的開發工作或業務邏輯思考當中去。
我們沒有想象中聰明
一名善於閱讀和思考的程式設計師,想必是出眾的程式設計師,譬如正在瀏覽本文的你。但是無論我們多麼優秀,一個無法避免的事實是我們寫的程式碼絕不可能零錯誤。
最合理的時間利用,不是為每一個專案都進行重複建設,依葫蘆畫瓢。更好的時間分配是我們能持續打造更令人驚歎的應用,不斷推陳出新。
如果要為應用新增日誌功能,Loggly足可為我們節省三年左右的開發時間;如果要為應用新增使用者管理和身份認證模組,Stormpath已做得足夠完美。如果仍不滿意,還是覺得自己才是最好,那麼我們必須為此付出額外的時間,金錢,技術,同時還得兼顧維護,安全,託管等問題。
因此,如果有現成可用的一群技術大咖為我們鋪好了前進道路,我們為什麼還要敬而遠之舍近索遠呢?充分利用API服務,進行有效整合,才是明智的選擇。
效率優先
不要把時間浪費在不必要的環節上。我們的目標是為客戶打造最好的應用,而不是7x24小時地守候在計算機旁,關注程式運營中的每個細節。
此外,難道我們的競爭對手還會自己來打造非核心的程式組成部分嗎?面對緊張的競爭局面,我們必須充分且合理地分配資源,讓自己儘可能地走在對手的前面。
工具和解決方案
以下作者整理了一個API服務清單,一方面希望能讓你的開發過程變得輕鬆,另外一方面希望能幫你節約時間,精力和努力。
認證/授權(Authentication / Authorization)
- Stormpath—把應用中有關使用者管理的部分都放心交給它好了,其功能包括:安全地儲存使用者資訊,管理使用者許可權,快速地進行郵箱驗證和密碼重置。
- Keen.io–能完美地進行自定義分析。
- CloudFlare –搭載CDN與DDoS攻擊保護功能!
- Fastly–令人驚歎的CDN API,速度奇快,定製自由度高。
- Intercom–使用簡便,功能全面。
- Ducksboard –介面精美,直接高效的API,能方便地進行專案資料查閱。
- Leftronic–同樣精美的設計,個人認為它對地理資訊支援更好。
- Bonsai–使用強大的RESTful搜尋引擎ElasticSearch。
- Heroku Postgres–最好的PostgreSQL託管服務。
- MongoHQ–個人喜愛的MongoDB資料庫供應者。
- OpenRedis–我會一直使用的Redis服務提供者,永遠不會弄丟資料,可擴充套件能力強。
郵件
- Sendgrid–透過API來傳送郵件,非常簡單。
- Loggly–易用的日誌管理工具。
支付
實時處理
儲存
- Amazon S3–幾無對手的檔案儲存和檔案流服務API。
測試
- Travis CI–提供了單元和綜合測試服務,包含公共免費和專項收費的服務級別。
打造一款明星級產品絕非易事,而透過利用API服務,我們或許可以極大地提高工作效率,擁有更多時間來思考核心業務邏輯。
英文出自:Stormpath
來自:CSDN
評論(4)