很棒的一篇文章,作者把 Web API 及 SDK 的差異,還有 Backend 及 Frontend 該何時更新及何人維護解釋的很清楚。
簡單列幾個標題出來:
* API:APP 與 Backend 之間簽訂的合約 (contract)
* SDK:APP 與 SDK 之間簽訂的合約 (contract)
另外整理一下作者原文,也是小編認為 SDK 最重要的一點,就是減少重覆的工作啊!!!
「
上面這段 150 行左右的 code,其實都在處理呼叫的細節,而不是針對真正的問題處理。一開始為了準備 HttpClient 呼叫 API 的細節,就花了好幾行做準備。成功呼叫後為了順利解析 JSON 的格式,又定義了 class 來讓 Json library 做反序列化的動作。最後為了有效率的分批取回資料,又搭配了 server paging API + C# yield return,做了額外的包裝,讓主程式可以用 for-each loop 或是 LINQ 來使用資料。
想像一下,如果你的服務實在太紅了,全球有上萬個不同的開發者,都在使用你的 API。那麼上面的這些 code,是不是每個人都要做一次?也許每個人做的不大一樣,但是應該也都大同小異吧!我寫軟體最不能忍受的,就是存在兩份以上的 code 做一樣的事情...。解決方法很單純,不過就是寫個 library,然後讓大家共用他。
」
#api #sdk #library #github
Search