天天看點

API

API 是什麼?

    API(Application Programming Interface)即應用程式接口。你可以認為 API 是一個軟體元件或是一個 Web 服務與外界進行的互動的接口。而我們在這裡要談論的,是作為一家公司如何跟外界進行互動。從另一個角度來說,API 是一套協定,規定了我們與外界的溝通方式:如何發送請求和接收響應。

    讓我們拿網站上常見的複選框(checkbox)作為例子。複選框的接口允許你選擇或者取消選擇它。

    再舉個例子,Digital Ocean(VPS 供應商)提供的一次性啟動 10 個伺服器的 API 可能長成這樣:

    在這個例子中,launchServers 指令允許使用者指定要啟動的伺服器的數量。絕大多數服務都支援這樣的自定參數,一是更靈活,二是複用性好。要是啟動 10 個伺服器和 20 個伺服器有兩個不同的指令,那就太蠢了,因為它們本質上是一樣的。

商業API又是什麼?

    設計你的商業 API 時,可以從你的業務有哪些關鍵概念入手來考慮相關的指令,這樣會比較友善。思考:你的使用者們可以做哪些事情?

    現在的服務大多都運作在雲上,通過 HTTP 協定與外界互動。這不是太直覺,因為我們和使用者看到的都是界面美觀友好的 APP。但實際通過 HTTP 傳輸的是這些指令。它們非常重要,因為這些最底層和直接的接口最終決定了你的使用者能夠如何使用你的服務。通過這樣的思考,我們才能透過人機界面理清業務的核心。

如何設計你的商業API?

    現在讓我們把注意力集中到你的公司。開始創業時,你有一大堆事情要做:尋找和了解創始人與市場之間的契合,跟使用者溝通,思考你們獨有的見解和優勢,市場政策,等等等等。除此以外,設計商業 API 也是你在早期就應該做的事情之一。

    花點時間研究 HTTP 協定吧(真的不難)!在開發你的 MVP(Minimum Viable Product,最簡可行産品)之前,你就要把 API 設計好了。

    設計 API 可以幫助你理清自己的業務。你會在這個過程中決定 MVP 中會包含哪些東西,不包含哪些東西。你會給某些指令更高的優先級。最後,拿一張紙把設計好的 API 寫下來,你就知道自己是提供了太多還是太少。

    盡可能地将你的 API 設計得簡單和優雅。不要考慮應該添加什麼,而是想想應該去掉什麼。

    有了基礎的 API 以後,跟客戶和團隊溝通起來就友善多了。這将為你接下來打造 MVP 提供堅實的基礎。

    當你設計出令人滿意的 API 之後,就去實作它吧。一個一個讓原始 API 能通過 HTTP 被通路。沒錯,你現在還不需要花哨的界面。在實作的過程中,你會對自己的業務有更深的了解。

随着業務增長,更新你的 API

    随着你的業務進化和增長,你的 API 也需要作出改變。持續地更新和改善它。可以擴充它,但要 “矜持” 一點。最偉大的公司都有着簡單的 API。

    想一下 Google,它提供了一個非常簡單的接口,但内部的工作原理是無比複雜的。類似地,喬布斯總是驅動 Apple 公司來不斷簡化使用者界面。Apple 的産品往往通過簡單的界面來隐藏背後的工程複雜度和獨創性。

    “你會希望你的業務越簡單越好,隐藏在接口背後的服務越有價值越好。”

    在業務增長的過程中,一些子業務可能會演化出它們自己的 API。你可能會有公共接口和内部接口。這時将接口保持得簡單而整潔就開始凸顯價值了。不斷鞭策自己去實作和使用簡單的接口。

    “你的業務本身永遠是你的 API 的第一個也是最大的使用者。”

    通常伴随着業務增長,使用者通路你的服務的方式也會越來越多。你可能同時有桌面版應用和移動端應用,短消息服務,機器人,iOS 和 安卓應用,等等。這些都是你的 API 的使用者,也是你的業務的使用者。

    我們生活在一個雲服務和自動化的時代。每家網際網路巨頭,Google、Amazon、Facebook 等,都為他們的服務提供了 API。而在未來,所有的服務都将在一個圖形界面以外擁有程式設計接口。随着人工智能和自動化逐漸進入我們的世界,越來越多的請求和通路會在這些雲服務和 API 之間發生。如果你打算創業,為了準備如此激動人心的未來,你可以從思考和實作自己的 API 做起。

作者:優達學城(Udacity)

連結:https://www.zhihu.com/question/38594466/answer/228418422

來源:知乎

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

api

繼續閱讀