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


 

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

最近接到公司的一項任務,調用第三方庫的一些東西。
因此記錄一下在使用第三方的功能模塊時常常提及到的兩個名詞——API和SDK。

1.SDK是什么?
SDK:
概念:軟件開發工具包(SDK,全稱:Software Development Kit)
一般都是一些軟件工程師為特定的軟件包、軟件框架、硬件平台、操作系統等建立應用軟件時的開發工具的集合。

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

就相當於很多API和其他文件的集合體,你可以用這個完成某一個事情。

舉例子:
整個計算器產品可以看做是一個SDK,它里面有API集合(計算器),說明文檔(說明書),以及一些其他文件。
這個SDK的功能就是計算,可能要算什么不確定,但是你可以通過這個SDK中的某個方法完成,實現你的目的。

比如百度AI平台的圖像識別SDK:

 

 

 

2.API是什么?
API:
概念:API(Application Programming Interface,應用程序編程接口)
一般是指一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。

其實就是別人已經寫好的可以實現特定功能的函數,而你只需要根據他提供好的接口,也就是調用他的方法,傳入他規定的參數,然后這個函數就會幫你實現這些功能。

舉例子:

比如別人寫好了一個數字求和的方法sum(int a, int b)。
提供給你一個API接口——你只需要調用它這個sum()函數,然后傳入這個a,b的值,然后就可以得到計算的結果,你不需要知道這個方法是怎么實現的,知道該怎么調用即可。

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

比如百度Ai平台的圖像識別API:

 

 

 

3.SDK和API的區別

兩者區別:

1.API是一個具體的函數,一個確定的功能,已經明確了它的作用(比如做加法)。

2.SDK就像是很多方法的集合體,是一個工具包。

比如你要做加法,你就調用計算機SDK的加法API,要做減法就調用減法API,無論你想完成什么計算,SDK里總有能實現的方法。

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

4.SDK相當於開發集成工具環境,API就是數據接口。在SDK環境下調用API數據。(而這個SDK你可以自己配置或者下載第三方提供的)

到此結束,以上均屬於個人理解。

 


免責聲明!

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



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