從草圖繪製到實施交付:優秀API設計完整流程

設計好的API是一項繁複的工做,可是優秀的設計是能夠經過人爲規劃實現的,在本文中,咱們將研究什麼是好的設計以及如何在開發過程當中實現它,還將介紹API設計的三個重要階段:草圖繪製,原型設計和交付實施,最後分享一些讓工做更高效的工具。後端

優秀的API設計在迭代中發生

在開始設計API以前,先要了解其目的。從以前到你如今爲何須要構建API 。瞭解目的能讓你更好的遵循開發方向,不至於走偏。不過,定義目的只是第一步,真正的訣竅是在實施過程當中作出良好的設計決策。編輯器

做爲API設計人員,咱們作出的每項決策都會對產品的成功產生影響。大的決策例如API傳輸協議,信息格式等。除此以外還有一些與插件,名稱,接口順序等的小決策。當你把它們放在一塊兒時,全部這些決定都會構成一種使用模式。若是你都作出了最適合的決定,那麼這種模式將幫助你設計你所須要的API。工具

要想作出正確的設計決策,你須要先從錯誤的設計學習。事實上,在你摸索到正確以前,你可能須要犯不少次錯誤。這就是迭代的關鍵,沒有人第一次就作對了,可是若是有足夠的機會,你能夠更接近預想。性能

照理說應該迭代咱們的API設計,但在現實世界中很難作到這一點。由於在API發佈後難以更改API,更改正在使用的API既昂貴又有風險。解決此問題的一種方法是每次更改時避免大幅更改界面。這是一個很好的習慣,而且是良好的API設計的基本規則。可是,有時突破性變動是不可避免的。理想狀況下,在更改變得有代價以前,應該解決全部可用性和設計問題。學習

Web-APIs.png

迭代設計過程

每次迭代都讓咱們能夠根據其用途來設計咱們的項目內容。例如,開發人員是否可以使用咱們構建的內容完成目標?這個界面真的能夠實現嗎?等等。咱們應該可以經過設計和實現許多接口而不真正發佈它們來實現最佳的API設計。因此查看和模擬測試每一個界面將提供如何改進產品的實用經驗。測試

可是在實踐中,這種宏觀迭代設計是不可能實現的。咱們沒有時間反覆地設計和驗證一個API。更合理的方法是在設計過程當中儘早執行迭代。這些早期的設計應該有足夠的細節來產生改進機會,隨着時間的推移,咱們能夠逐步提升細節(或保真度)的水平,直到最終達到咱們想要的API設計。優化

這個漸進的過程在設計界很受歡迎,一般分爲三個重要階段:插件

1.草圖的力量

草圖是一種最廣泛的設計行爲。建築師弗蘭克蓋裏的草圖很是有名,他的許多建築項目都是以紙張上繪製的一系列草圖開始的。他繪製了數百幅草圖,每次都能接近理想的設計。設計

交互設計師Bill Verplank將草圖描述爲設計過程當中必不可少的第一步。比爾·巴克斯頓(Bill Buxton)撰寫了一本關於草圖用戶體驗設計價值的完整書籍,提出了草圖的關鍵特徵以及重要性等。cdn

在API設計過程的早期階段結合草圖使咱們腦海中造成界面的概念模型。好的草圖應該易於製做而且隨時修正,若是花費太多時間來畫圖會得不償失。

咱們能夠嘗試不一樣類型的界面風格,並捕捉咱們腦海中浮現的抽象概念。每一次的瞬間想法咱們能夠用草圖的形式記錄,方便咱們審查和討論它們。咱們能夠決定是否喜歡草圖某個特定概念,而後在此基礎上補充或者從新開始。

例如,咱們可能會繪製一個與整個API相關的基本錯誤流或可應用於全部響應的響應消息格式。以後,在原型設計階段,咱們能夠將這些想法應用到工做模型中。

2.原型設計

原型設計階段是一個構建界面的更高保真度模型的過程,並測試咱們在草圖繪製過程當中作出的一些假設。調用一個好的API原型,它應該處理實際請求消息並在須要時提供返回結果,甚至可以使用原型API建立一個簡單的應用程序。

可是,構建原型應該比徹底實現成本更低。下降成本的一種方法是模擬返回消息,而不是從後端系統提供實際結果。這就是MOCK,是快速構建原型的好方法。

咱們應該可以基於草圖構建兩個或三個不一樣的原型,在咱們構建的過程當中,咱們甚至能夠回到草圖階段,根據咱們從原型設計階段學到的知識來嘗試新的方向。

原型還能夠爲您的團隊提供了用戶對設計的早期反饋並容許觀察實際使用狀況的機會。若是界面具備很高的保真度,您能夠要求潛在用戶在此基礎上構建應用程序並觀察他們過程當中面臨的問題。

精心設計的API不只應該易於使用,並且還要具備可持續性,可靠性,高性能和長壽命。設計週期就像一個科學過程,原型階段是你在作出改變以前測試任何假設的機會。

3.實施交付

開發者的工做是將原型界面變成可交付使用的。最終的原型和支持草圖造成了界面應該是什麼樣的描述。它們反映了集體設計決策,以造成須要構建的規範。實際上,使用正式的接口描述語言從原型轉換到實現階段是頗有用的。

例如,當您對原型API感到滿意時,您能夠選擇在一些API管理工具如EOLNKER等中對其進行描述。

雖然實施交付是最後目標,但設計不該該停留在這個階段。這是一個利用實際使用數據進一步測試您在整個設計過程當中所作假設的機會。正如原型API容許咱們觀察使用狀況同樣,實現的API容許咱們在真實狀況下分析使用狀況。

例如,您可能但願驗證您所作的設計假設。應用程序開發人員是否真的使用您爲他們建立的便利操做?您是否得到了預期的用戶類型?新用戶是否遇到界面特定部分的問題?

此分析可能會致使您再次啓動草圖繪製過程,以支持進一步改進的界面。

20190719(2).png

使用工具自動化流程

工具和技術能夠從根本上改善設計過程。下降草圖和原型建立成本的工具將使設計團隊可以在更短的時間內生成更多設計,從而改進設計決策。

結合工具自動化是大多數設計過程的重要組成部分。在建築設計領域,SHoP(總部設在紐約的建築師聯盟)經過創新,協做和基於工具的設計取得了成功。他們的工藝包括原型設計工具,使設計人員可以將所用材料的物理特性結合在一塊兒。這種方法容許他們建立數千個設計迭代,每一個迭代都包含能夠輕鬆評估的實現細節。

API設計領域中也有這種能優化的工具。實際上,全球範圍內API服務領域中已經存在一些優秀的Web API設計工具。

如今,如EOLINKER、RAML、Swagger,都提供了出色的編輯工具來支持他們的語言。其中EOLINKER做爲國內領先的API接口管理研發工具,正在以更全面的功能和簡潔的頁面超過如RAML、Swagger等國外傳統單一服務產品。這些編輯器縮短了API的設計的建立時間,使得更容易在更短的時間內建立更多描述。點擊查看EOLINKER的API編輯器。

20190719.png

成功完成迭代過程

遵循本文中描述的迭代設計風格,你將爲你的團隊建立有效的API。在流程開始時建立和評估許多低保真設計,以促進實驗和構思。構建更高保真的原型和模擬實現來評估早期的設計理念。最後,爲真實用戶實施設計並收集數據以分析實際使用狀況。

良好的API設計過程爲您提供了生成最佳界面的機會。構建優秀API的祕訣不是專家指導或內部知識,相反,它是經過優秀的工具,語言和配置文件優化的迭代而成的,這會幫你完成愈來愈多優秀的API。

參考資料:Ronnie Mitra,From Doodles to Delivery: An API Design Process 原文地址:www.infoq.com/articles/do…

相關文章
相關標籤/搜索