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

1.SDK是什麼?

SDK:
概念:軟件開發工具包(SDK,全稱:Software Development Kit)
通常都是一些軟件工程師爲特定的軟件包、軟件框架、硬件平臺、操做系統等創建應用軟件時的開發工具的集合。前端

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

就至關於不少API和其餘文件的集合體,你能夠用這個完成某一個事情。編程

舉例子:
整個計算器產品能夠看作是一個SDK,它裏面有API集合(計算器),說明文檔(說明書),以及一些其餘文件。
這個SDK的功能就是計算,可能要算什麼不肯定,可是你能夠經過這個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裏總有能實現的方法。 
3d

3.SDK除了他提供的完善的接口,他還會給你提供相關的開發環境,而API須要的環境你得本身提供(好比傳參)
 4.SDK至關於開發集成工具環境,API就是數據接口。在SDK環境下調用API數據。(而這個SDK你能夠本身配置或者下載第三方提供的)


APIcdn

前端調用後端數據的一個通道,就是咱們俗說的接口,經過這個通道,能夠訪問到後端的數據,可是又無需調用源代碼。

SDK

工程師爲輔助開發某類軟件的相關文檔、範例和工具的集合,使用SDK能夠提升開發效率,更簡單的接入某個功能。

舉例說明:一個產品想實現某個功能,能夠找到相關的SDK,工程師直接接入SDK,就不用再從新開發了。


如何選擇API和SDK對接

可是,問題又來了。API和SDK這兩種產品對接方式,選擇哪一種比較好呢?

API和SDK對接,適合最重要。沒有哪一種最好,只有最適合。

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

選擇API

優點:API開發成本低,對接比較簡單,能夠快速驗證商業模式和用戶體驗。

劣勢:API會通過對接平臺,廠商能夠獲取對接平臺相關數據信息。

選擇SDK

優點:SDK對接後的功能比較穩定,響應速度快,並且對接平臺相關數據不會被獲取。

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

因此,你們在實際開發過程當中,若是隻是簡單功能調用,仍是使用API更快速便捷一些;若是是繁瑣複雜的功能,多數狀況下仍是使用SDK更穩妥一些。

相關文章
相關標籤/搜索