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