通過代碼解釋什么是API,什么是SDK?
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
想要弄清楚這個問題,看別人寫的概念解釋文章可能幫助不大,還是得自己親手設計一下 API,使用或簡單封裝一個 SDK。 下面,我嘗試設計一個小故事,直接通過代碼講清楚這個事兒。 對外提供云你好服務假設我是一個軟件服務提供商,我設計了一個打招呼的服務,給他起了個名字叫:云你好。 用戶只要調用我的 API 接口,就能使用我的服務,我會向他打一個招呼。 首先我起一個后端服務,這里選擇用 python,主要是用 python 比較快,代碼少,解釋這個問題和語言無關哈。(先看代碼,再解釋)
從上面代碼可以看出,我定義好了
當我的服務跑起來后,我就會告訴用戶我的 API 調用方式: 請求地址: 可選請求參數: 當然更規范的做法是提供一份 API 文檔。 沒有 SDK 如何使用云你好接下來我們切換一下身份,假設我現在是一名云你好的用戶。 在我登陸上云你好的官網后,只看到了云你好定義的 API 調用規則。 也就是說,如果我想使用云你好服務,不管我是寫 python,寫 java,或是寫 golang,都得寫發送 http 請求的代碼,調用云你好的 API 使用打招呼服務。 比如在 python 中我們可以這樣寫:
最后得到結果: 更好地服務我的客戶接下來我們切換一下身份,假設我變回了云你好的服務提供商。 經過一些簡單的調研,我聽說有非常多的 python / java / golang 工作者喜歡使用我們的云你好服務。 為了讓他們更方便地使用云你好服務,我決定向他們提供云你好服務 python sdk / java sdk / golang sdk,進一步降低他們使用云你好服務的難度(忽悠他們更多的服務費) 下面我以 python sdk 作為示例,在 sdk 中,我會封裝好使用云你好服務的邏輯,僅對用戶提供一個 hello 方法,這樣只要用戶安裝好云你好 sdk,就能直接調用 hello 方法使用云你好服務了。
寫好 sdk 后,我們會在官方網站上更新道: 大家好,歡迎使用云你好 python sdk,您可以通過以下方式使用 sdk:
使用 SDK 訪問你好云然后我們再次切換身份,假設我是你好云服務的用戶,你好云發布 SDK 了,我非常高興,于是我的代碼就簡化成這樣了:
得到的結果仍然是: 總結希望上面的代碼能幫助大家理解 API 和 SDK,當然它只是一個極簡的 Demo,不能代表 API 和 SDK 這兩個概念的全部東西。 IT 行業中有很多概念,他們背后往往對應的是一類行為,如果僅從技術名詞的角度理解是非常痛苦的,所以極力推薦動手實踐學習。 API 的全稱是:Application Program Interface(應用程序接口) SDK 的全稱是:Software Development Kit(軟件開發工具包) 如果讓我總結 API 和 SDK 的區別,我覺得 API 可以理解成一種標準吧,我們按照服務提供商定義的 API 標準去調用他們的服務,就能得到相應的結果。 而 SDK 可以理解為對 API 背后服務的一種封裝,它更貼近用戶,能大幅降低用戶使用服務的開發成本。 最后,如果同學們還想進一步學習的話,推薦去看一下云廠商的 API 和 SDK 定義,甚至分別動手體驗一下,絕對瞬間秒懂。 參考講解 - 鏈接地址 https://www.cnblogs.com/tanshaoshenghao/p/16217608.html 閱讀原文:原文鏈接 該文章在 2025/5/19 14:16:26 編輯過 |
關鍵字查詢
相關文章
正在查詢... |