戲說 API 和 SDK

戲說 API 和 SDK

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

一、API 定義

戲說 API 和 SDK

API (Application Programming Interface)應用程式接口

通常由一組函式庫所組成,提供用戶編程時的接口,是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。

例如:

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

二、SDK 定義

戲說 API 和 SDK

SDK (Software Development Kit)軟件開發工具集

是用來幫一個產品或平臺開發應用程式的工具組,由產品的廠商提供給開發者使用的。

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

例如:

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

這裡只說明定義,具體細節請參考:

https://www.zhihu.com/question/21691705/answer/26406216

三、通俗易懂的解釋

戲說 API 和 SDK

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

  • 你是個男的
  • 你要開發一個 BABY
  • SDK 就是房間、床、你老婆等一系列相關的工具、文檔
  • API 就是你老婆開放的接口

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

四、API 與 SDK 的差異

戲說 API 和 SDK

SDK 是用來開發某一個平臺的程式的工具包,API 是讓同一平臺下的程式取用它的功能的函式庫。

1.實際上 SDK 包含了 API 的定義,API 定義一種能力,一種接口的規範,而 SDK 可以包含這種能力、包含這種規範。

2. SDK 又不完完全全只包含 API 以及 API 的實現,它是一個軟件工具包,它還有很多其他輔助性的功能。

3.為了使用 API 函數,我們就要有跟 API 所對應的 .H 和 .LIB 文件,而 SDK 正是提供了一整套開發 Windows 應用程序所需的相關文件、範例和工具的“工具包”。

1.

2.

3.

戲說 API 和 SDK


分享到:


相關文章: