軟體開發套件(Software Development Kit, SDK)一般是一些被軟體工程師用於為特定的軟體包、軟體框架、硬體平台、作業系統等建立應用軟體的開發工具的集合。
它或許只是簡單的為某個程式語言提供應用程式介面的一些檔案,但也可能包括能與某種嵌入式系統通訊的複雜的硬體。一般的工具包括用於偵錯和其他用途的實用工具。SDK 還經常包括範例代碼、支援性的技術註解或者其他的為基本參考資料澄清疑點的支援文件。
軟體工程師通常從目標系統開發者那裡獲得軟體開發包。為了鼓勵開發者使用其系統或者語言,許多 SDK 是免費提供的。
SDK 經常可以直接從網際網路下載。有時也被作為行銷手段。
例如,_甲產品_或許會免費提供 構件SDK 以鼓勵人們使用它,從而會吸引更多人由於能免費為其編程而購買其構件。
SDK 可能附帶了使其不能在不相容的許可證下開發軟體的許可證。例如一個專有的 SDK 可能與自由軟體開發抵觸。
而GPL能使 SDK 與專有軟體開發_近乎_不相容。LGPL下的SDK則沒有這個問題。
而應用程式介面(英語:Application Programming Interface,簡稱:API),又稱為應用編程介面,就是軟體系統不同組成部分銜接的約定。
由於近年來軟體的規模日益龐大,常常需要把複雜的系統劃分成小的組成部分,編程介面的設計十分重要。程式設計的實踐中,編程介面的設計首先要使軟體系統的職責得到合理劃分。
良好的介面設計可以降低系統各部分的相互依賴,提高組成單元的內聚性,降低組成單元間的耦合程度,從而提高系統的維護性和擴充功能性。
Cite by :
http://zh.wikipedia.org/wiki/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%8E%A5%E5%8F%A3
http://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7%E5%8C%85