API 和 SDK

admin發表於2020-06-15

一直以來,對 API 和 SDK 都有著模模糊糊的認識。突然有一天,這個問題擺在你的面前,你如何去解釋呢?

一、API 定義:

API (Application Programming Interface)應用程式介面:通常由一組函式庫所組成,提供使用者程式設計時的介面,是一些預先定義的函式,目的是提供應用程式與開發人員基於某軟體或硬體得以訪問一組例程的能力,而又無需訪問原始碼,或理解內部工作機制的細節。

例如:我要在 自己的網頁 上加入 google map網頁的功能,就使用 “google map API”。

二、SDK 定義:

SDK (Software Development Kit)軟體開發工具集:是用來幫一個產品或平臺開發應用程式的工具組,由產品的廠商提供給開發者使用的。

通常是某一家廠商針對某一平臺或系統或硬體所釋出出來用以開發應用程式的工具組,在這個工具包裡面,可能包含了各式各樣的開發工具,模擬器等。

例如:給Android 平臺使用的 Android SDK 就是用來開發 Android 系統上面的應用程式。

三、通俗易懂的解釋:

看到知乎上面一個有意思的回答,可以拿來逗樂:

你是個男的

你要開發一個 BABY

SDK 就是房間、床、你老婆等一系列相關的工具、文件

API 就是你老婆開放的介面

這個答案不是很準確,但是足夠你理解 API 和 SDK 在大方向上的不同。

四、API 與 SDK 的差異:

實際上 SDK 包含了 API 的定義,API 定義一種能力,一種介面的規範,而 SDK 可以包含這種能力、包含這種規範。但是 SDK 又不完完全全只包含 API 以及 API 的實現,它是一個軟體工具包,它還有很多其他輔助性的功能。為了使用 API 函式,我們就要有跟 API 所對應的 .H 和 .LIB 檔案,而 SDK 正是提供了一整套開發 Windows 應用程式所需的相關檔案、範例和工具的“工具包”。

相關文章