先來看下晦澀難懂的書面定義:編程
API:Application Programming Interface,應用程序編程接口。是一些預先定義的函數,或指軟件系統不一樣組成部分銜接的約定。 用來提供應用程序與開發人員基於某軟件或硬件得以訪問的一組例程,而又無需訪問原碼,或理解內部工做機制的細節。框架
SDK:Software Development Kit,軟件開發工具包。通常都是一些軟件工程師爲特定的軟件包、軟件框架、硬件平臺、操做系統等創建應用軟件時的開發工具的集合,包括廣義上指輔助開發某一類軟件的相關文檔、範例和工具的集合。函數
通俗一點的理解:工具
API:軟件A裏你須要的功能打包好,寫成一個函數,按流程,放B裏就能夠直接用來(好比手機、電腦上連數據線的接口即API接口)。開發工具
SDK:有公司開發出某種軟件的某一種功能,把它封裝成SDK(好比數據分析SDK就是可以實現數據分析功能的SDK),出售給其餘公司作開發用,其餘公司想要給軟件開發出某種功能,但又不想從頭開始搞開發,直接付錢買完事。spa
區別:具備關聯性的兩種東西。SDK能夠想象成一個虛擬的程序包,這個程序包中有份作好的軟件功能,這個程序幾乎是全封閉的,只有一個接口能夠鏈接外界,此接口即API。操作系統
有一杯密封的奶茶——SDK 奶茶上的吸管——APIorm