開發者應該瞭解的API技術清單!

  英文原文:API-Driven Development程序員

  做爲一名開發者,誠然編寫代碼如同做家提筆揮毫,很是有成就感與樂趣,但同時我也以爲刪除代碼是件不相伯仲的美事。爲何呢?由於在進行刪除工做時,意味着本身找出了形成干擾的位置,意味着找到了冗餘無用的代碼,甚至是找到了能用更少代碼實現相同功能的途徑。代碼越少,意味着出錯的概率越低。redis

  個人觀點是:利用好第三方 API,減小本身的代碼工做量,讓出錯的機率儘可能下降。只有這樣,咱們才能夠把更多精力放到更核心的開發工做或業務邏輯思考當中去。數據庫

  們沒有想象中聰明api

  

  一名善於閱讀和思考的程序員,想必是出衆的程序員,譬如正在瀏覽本文的你。可是不管咱們多麼優秀,一個沒法避免的事實是咱們寫的代碼毫不可能零錯誤。安全

  最合理的時間利用,不是爲每個項目都進行重複建設,依葫蘆畫瓢。更好的時間分配是咱們能持續打造更使人驚歎的應用,不斷推陳出新。socket

  若是要爲應用添加日誌功能,Loggly 足可爲咱們節省三年左右的開發時間;若是要爲應用添加用戶管理和身份認證模塊,Stormpath 已作得足夠完美。若是仍不滿意,仍是以爲本身才是最好,那麼咱們必須爲此付出額外的時間,金錢,技術,同時還得兼顧維護,安全,託管等問題。工具

  所以,若是有現成可用的一羣技術大咖爲咱們鋪好了前進道路,咱們爲何還要敬而遠之舍近索遠呢?充分利用 API 服務,進行有效整合,纔是明智的選擇。post

  效率優先性能

  

  不要把時間浪費在沒必要要的環節上。咱們的目標是爲客戶打造最好的應用,而不是 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 服務,咱們或許能夠極大地提升工做效率,擁有更多時間來思考覈心業務邏輯。

相關文章
相關標籤/搜索