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


設計好的API是一項繁復的工作,但是優秀的設計是可以通過人為規划實現的,在本文中,我們將研究什么是好的設計以及如何在開發過程中實現它,還將介紹API設計的三個重要階段:草圖繪制,原型設計和交付實施,最后分享一些讓工作更高效的工具。

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

在開始設計API之前,先要了解其目的。從之前到你現在為什么需要構建API 。了解目的能讓你更好的遵循開發方向,不至於走偏。不過,定義目的只是第一步,真正的訣竅是在實施過程中做出良好的設計決策。

作為API設計人員,我們做出的每項決策都會對產品的成功產生影響。大的決策例如API傳輸協議,信息格式等。除此之外還有一些與插件,名稱,接口順序等的小決策。當你把它們放在一起時,所有這些決定都會構成一種使用模式。如果你都做出了最適合的決定,那么這種模式將幫助你設計你所需要的API。

要想做出正確的設計決策,你需要先從錯誤的設計學習。事實上,在你摸索到正確之前,你可能需要犯很多次錯誤。這就是迭代的關鍵,沒有人第一次就做對了,但是如果有足夠的機會,你可以更接近預想。

照理說應該迭代我們的API設計,但在現實世界中很難做到這一點。因為在API發布后難以更改API,更改正在使用的API既昂貴又有風險。解決此問題的一種方法是每次更改時避免大幅更改界面。這是一個很好的習慣,並且是良好的API設計的基本規則。但是,有時突破性變更是不可避免的。理想情況下,在更改變得有代價之前,應該解決所有可用性和設計問題。

迭代設計過程

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

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

這個漸進的過程在設計界很受歡迎,通常分為三個重要階段:

  1.  草圖繪制
  2.  原型設計
  3.  交付實施

1.草圖的力量

草圖是一種最普遍的設計行為。建築師弗蘭克蓋里的草圖非常有名,他的許多建築項目都是以紙張上繪制的一系列草圖開始的。他繪制了數百幅草圖,每次都能接近理想的設計。

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

在API設計過程的早期階段結合草圖使我們腦海中形成界面的概念模型。好的草圖應該易於制作並且隨時修正,如果花費太多時間來畫圖會得不償失。

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

例如,我們可能會繪制一個與整個API相關的基本錯誤流或可應用於所有響應的響應消息格式。之后,在原型設計階段,我們可以將這些想法應用到工作模型中。

2.原型設計

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

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

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

原型還可以為您的團隊提供了用戶對設計的早期反饋並允許觀察實際使用情況的機會。如果界面具有很高的保真度,您可以要求潛在用戶在此基礎上構建應用程序並觀察他們過程中面臨的問題。

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

3.實施交付

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

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

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

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

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

使用工具自動化流程

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

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

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

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

成功完成迭代過程

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

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

 

參考資料:Ronnie Mitra,From Doodles to Delivery: An API Design Process

原文地址:https://www.infoq.com/articles/doodles-to-delivery/?useSponsorshipSuggestions=true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM