API 和 SDK
一直以來,對 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 應用程式所需的相關檔案、範例和工具的“工具包”。
相關文章
- SDK和API的區別?API
- API-SDKAPI
- Android sdk版本號和API級別的對照表AndroidAPI
- SDK、API 和 app 之間的關係和聯絡是什麼?APIAPP
- 短視訊SDK,直播SDK,美顏SDK_提供開放API介面API
- 阿里雲視訊點播服務端API和SDK測試阿里服務端API
- python 呼叫通義千問SDK APIPythonAPI
- RocketMQ 5.0 API 與 SDK 的演進MQAPI
- 【擴充套件分享】多多客 API SDK套件API
- [擴充套件分享] 多多客 API SDK套件API
- java EE 8u1 SDK 包和 java EE 8 API 文件包JavaAPI
- SAP Marketing Cloud Restful API SDK 使用案例分享CloudRESTAPI
- 阿里雲冷門 API/SDK 對接心得阿里API
- Sentry 開發者貢獻指南 - SDK 開發(效能監控:Sentry SDK API 演進)API
- 好程式設計師web前端分享SDK與API之間的關係和聯絡程式設計師Web前端API
- 商城系統 “牽手” 淘寶 API 介面 php java sdkAPIPHPJava
- 美顏API是什麼意思?美顏API和美顏SDK有什麼區別?API
- api和api幫助文件API
- 筆記:API 和 Web API筆記APIWeb
- Android P DP3釋出:SDK/API敲定、應用適AndroidAPI
- mac管理flutter和dart sdk版本MacFlutterDart
- Expo大作戰(三十)–expo sdk api之Permissions(許可權管理模組),Pedometer(計步器api)API
- Expo大作戰(三十)--expo sdk api之Permissions(許可權管理模組),Pedometer(計步器api)API
- 通過程式碼解釋什麼是API,什麼是SDK?API
- Web API美狐萌顏sdk 的使用分為三個流程WebAPI
- 突破Android P非SDK API限制的幾種程式碼實現AndroidAPI
- linux使用者api和核心apiLinuxAPI
- ArcObjects SDK開發 012 PageLayout和PageObject
- 知物由學 | SDK API自動化測試與持續整合API
- 介紹一個 EOS 區塊鏈 RPC API 介面的 PHP SDK 包區塊鏈RPCAPIPHP
- iOS 隱私清單和SDK簽名iOS
- 【開源】這可能是封裝微信 API 最全的 .NET SDK 了封裝API
- 利用swagger和API Version實現api版本控制SwaggerAPI
- openssl命令列和API命令列API
- DataStream Api和Data SourcesASTAPI
- OData API 和 Restful API 這兩個概念的區別和聯絡APIREST
- 微信授權和sdk加密演算法加密演算法
- 接入第三方美顏sdk和自主開發美顏sdk如何選擇?