關於API和SDK的理解及兩者區別

2021-09-24 08:00:05 字數 1434 閱讀 8449

sdk:

概念:軟體開發工具包(sdk,全稱:software development kit)

一般都是一些軟體工程師為特定的軟體包、軟體框架、硬體平台、作業系統等建立應用軟體時的開發工具的集合。

通俗點是指由第三方服務商提供的實現軟體產品某項功能的工具包。

就相當於很多api和其他檔案的集合體,你可以用這個完成某乙個事情。

舉例子:

整個計算器產品可以看做是乙個sdk,它裡面有api集合(計算器),說明文件(說明書),以及一些其他檔案。

這個sdk的功能就是計算,可能要算什麼不確定,但是你可以通過這個sdk中的某個方法完成,實現你的目的。

其實就是別人已經寫好的可以實現特定功能的函式,而你只需要根據他提供好的介面,也就是呼叫他的方法,傳入他規定的引數,然後這個函式就會幫你實現這些功能。

舉例子:

比如別人寫好了乙個數字求和的方法sum(int a, int b)。

提供給你乙個api介面——你只需要呼叫它這個sum()函式,然後傳入這個a,b的值,然後就可以得到計算的結果,你不需要知道這個方法是怎麼實現的,知道該怎麼呼叫即可。

如果別人又寫了乙個兩數相乘的方法mul(int a, int b),那這又稱為另乙個api。

1.api是乙個具體的函式,乙個確定的功能,已經明確了它的作用(比如做加法)。 2.sdk就像是很多方法的集合體,是乙個工具包。

比如你要做加法,你就呼叫計算機sdk的加法api,要做減法就呼叫減法api,無論你想完成什麼計算,sdk裡總有能實現的方法。 

3.sdk除了他提供的完善的介面,他還會給你提供相關的開發環境,而api需要的環境你得自己提供(比如傳參)

api

前端呼叫後端資料的乙個通道,就是我們俗說的介面,通過這個通道,可以訪問到後端的資料,但是又無需呼叫源**。

sdk

工程師為輔助開發某類軟體的相關文件、範例和工具的集合,使用sdk可以提高開發效率,更簡單的接入某個功能。

但是,問題又來了。api和sdk這兩種產品對接方式,選擇哪種比較好呢?

api和sdk對接,適合最重要。沒有哪種最好,只有最適合。

api和sdk最終實現的功能都是一樣的,至於採用哪一種,需要結合對接平台的需求(保密程度,特殊需求、開發成本等等)。

選擇api

優勢:api開發成本低,對接比較簡單,可以快速驗證商業模式和使用者體驗。

劣勢:api會經過對接平台,廠商可以獲取對接平台相關資料資訊。

選擇sdk

優勢:sdk對接後的功能比較穩定,響應速度快,而且對接平台相關資料不會被獲取。

劣勢:需要開發的環節較多,開發工作量大,對接週期略長。

所以,大家在實際開發過程中,如果只是簡單功能呼叫,還是使用api更快速便捷一些;如果是繁瑣複雜的功能,多數情況下還是使用sdk更穩妥一些。

關於API和SDK的個人理解及兩者區別

關於api和sdk的個人理解及兩者區別 最近接到公司的一項任務,呼叫第三方庫的一些東西。因此記錄一下在使用第三方的功能模組時常常提及到的兩個名詞 api和sdk。1.sdk是什麼?sdk 概念 軟體開發工具包 sdk,全稱 software development kit 一般都是一些軟體工程師為特...

關於API和SDK的理解

說到api,往往是和sdk放在一起的。什麼叫api,看一下餐廳裡怎麼點餐的就行了。到了飯店,喊一場服務員,點餐。服務員拿出來選單給你看,你點什麼,她在小本本上記什麼。點好了之後,再把選單送到後廚去。這裡服務員就是提供服務的 不然也不叫服務員 提供什麼服務呢?點餐服務。點餐服務需要什麼呢?談乙個服務,...

TCP UDP協議及兩者的區別

二 upd的定義 使用者資料報協議 三 tcp和udp的區別 位於傳輸層,提供可靠的位元組流服務。位元組流服務 byte stream service 是指,為了方便傳輸,將大塊資料分割成以報文段 segment 為單位的資料報進行管理。而可靠的傳輸服務是指,能夠把資料準確可靠地傳給對方。即tcp ...