標籤:http io os 使用 ar strong sp 檔案 資料
【轉載貼】
作為一名開發人員,誠然編寫代碼如同作家提筆揮毫,非常有成就感與樂趣,但同時我也覺得刪除代碼是件不相伯仲的美事。為什麼呢?因為在進行刪除工作 時,意味著自己找出了造成幹擾的位置,意味著找到了冗餘無用的代碼,甚至是找到了能用更少代碼實現相同功能的途徑。代碼越少,意味著出錯的幾率越低。
我的觀點是:利用好第三方 API,減少自己的代碼工作量,讓出錯的機率盡量降低。只有這樣,我們才可以把更多精力放到更核心的開發工作或商務邏輯思考當中去。
我們沒有想象中聰明
一名善於閱讀和思考的程式員,想必是出眾的程式員,譬如正在瀏覽本文的你。但是無論我們多麼優秀,一個無法避免的事實是我們寫的代碼絕不可能零錯誤。
最合理的時間利用,不是為每一個項目都進行重複建設,依葫蘆畫瓢。更好的時間分配是我們能持續打造更令人驚歎的應用,不斷推陳出新。
如果要為應用添加日誌功能,Loggly 足可為我們節省三年左右的開發時間;如果要為應用添加使用者管理和身份認證模組,Stormpath 已做得足夠完美。如果仍不滿意,還是覺得自己才是最好,那麼我們必須為此付出額外的時間,金錢,技術,同時還得兼顧維護,安全,託管等問題。
因此,如果有現成可用的一群技術大咖為我們鋪好了前進道路,我們為什麼還要敬而遠之舍近索遠呢?充分利用 API 服務,進行有效整合,才是明智的選擇。
效率優先
不要把時間浪費在不必要的環節上。我們的目標是為客戶打造最好的應用,而不是 7x24 小時地守候在電腦旁,關注程式運營中的每個細節。
此外,難道我們的競爭者還會自己來打造非核心的程式組成部分嗎?面對緊張的競爭局面,我們必須充分且合理地分配資源,讓自己儘可能地走在對手的前面。
工具和解決方案
以下作者整理了一個 API 服務資訊清單,一方面希望能讓你的開發過程變得輕鬆,另外一方面希望能幫你節約時間,精力和努力。
認證/授權(Authentication / Authorization)
- Stormpath—把應用中有關使用者管理的部分都放心交給它好了,其功能包括:安全地儲存使用者資訊,系統管理使用者許可權,快速地進行郵箱驗證和密碼重設。
分析(Analytics)
CDN
- CloudFlare –搭載 CDN 與 DDoS 攻擊保護功能!
- Fastly–令人驚歎的 CDN API,速度奇快,定製自由度高。
CRM
儀錶盤(Dashboards)
- Ducksboard –介面精美,直接高效的 API,能方便地進行項目資料查閱。
- Leftronic–同樣精美的設計,個人認為它對地理資訊支援更好。
資料庫
- Bonsai–使用強大的 RESTful 搜尋引擎 Elasticsearch。
- Heroku Postgres–最好的 PostgreSQL 託管服務。
- MongoHQ–個人喜愛的 MongoDB 資料庫供應者。
- OpenRedis–我會一直使用的 Redis 服務提供者,永遠不會弄丟資料,可擴充能力強。
部署/託管
- Heroku–一個不錯的託管公司。
- Flynn–建造於 Docker 之上,Heroku 的有力競爭者。
郵件
- Sendgrid–透過 API 來發送郵件,非常簡單。
日誌
監控/調試
- New Relic–如果曾經錯過它,你會發現是多麼地遺憾。它能提供豐富的效能/監控資訊。
- RunScope–非常有用的調試和監控 API 服務。
支付
- Stripe–極好的信用卡相關交易處理者。
- Coinbase–最好的比特幣交易服務提供者。
即時處理
- Firebase–強大的即時資料儲存和同步 API。
- Pusher–讓 Web socket 通訊變得簡單。
儲存
- Amazon S3–幾無對手的檔案儲存體和檔案流服務 API。
通訊
- OpenCNAM–智能來電顯示和識別。
- Twilio–易用的電話和簡訊平台。
測試
- Travis CI–提供了單元和綜合測試服務,包含公用免費和專項收費的服務等級。
寫在最後
打造一款明星級產品絕非易事,而透過利用 API 服務,我們或許可以極大地提高工作效率,擁有更多時間來思考核心商務邏輯。
【轉】開發人員應該瞭解的API技術清單