SDK、API、JDK都是些什么?
SDK
Software Development Kit,軟件開發(fā)工具包,一般都是一些軟件工程師為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件時(shí)的開發(fā)工具的集合。
軟件開發(fā)工具包括廣義上指輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合。
軟件開發(fā)工具包是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等創(chuàng)建應(yīng)用軟件的開發(fā)工具的集合,一般而言SDK即開發(fā) Windows?平臺下的應(yīng)用程序所使用的SDK。它可以簡單的為某個(gè)程序設(shè)計(jì)語言提供應(yīng)用程序接口API的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一般的工具包括用于調(diào)試和其他用途的實(shí)用工具。SDK還經(jīng)常包括示例代碼、支持性的技術(shù)注解或者其他的為基本參考資料澄清疑點(diǎn)的支持文檔。
為了鼓勵(lì)開發(fā)者使用其系統(tǒng)或者語言,許多SDK是免費(fèi)提供的。軟件工程師通常從目標(biāo)系統(tǒng)開發(fā)者那里獲得軟件開發(fā)包,也可以直接從互聯(lián)網(wǎng)下載,有時(shí)也被作為營銷手段。例如,營銷公司會免費(fèi)提供構(gòu)建SDK 以鼓勵(lì)人們使用它,從而會吸引更多人由于能免費(fèi)為其編程而購買其構(gòu)件。
API
(Application Programming Interface,應(yīng)用程序接口)是一些預(yù)先定義的函數(shù),或指軟件系統(tǒng)不同組成部分銜接的約定。 目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問原碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。
操作系統(tǒng)是用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口,用戶通過操作系統(tǒng)的幫助,可以快速、有效和安全、可靠地操縱計(jì)算機(jī)系統(tǒng)中的各類資源,以處理自己的程序。為使用戶能方便地使用操作系統(tǒng),OS 又向用戶提供了如下兩類接口:
(1) 用戶接口:操作系統(tǒng)專門為用戶提供了“用戶與操作系統(tǒng)的接口” ,通常稱為用戶接口。該接口支持用戶與 OS 之間進(jìn)行交互,即由用戶向 OS 請求提供特定的服務(wù),而系統(tǒng)則把服務(wù)的結(jié)果返回給用戶。
(2) 程序接口:操作系統(tǒng)向編程人員提供了“程序與操作系統(tǒng)的接口” ,簡稱程序接口,又稱應(yīng)用程序接口 API(Application Programming Interface)。 該接口是為程序員在編程時(shí)使用的,系統(tǒng)和應(yīng)用程序通過這個(gè)接口,可在執(zhí)行中訪問系統(tǒng)中的資源和取得 OS 的服務(wù),它也是程序能取得操作系統(tǒng)服務(wù)的唯一途徑。大多數(shù)操作系統(tǒng)的程序接口是由一組系統(tǒng)調(diào)用(system call)組成,每一個(gè)系統(tǒng)調(diào)用都是一個(gè)能完成特定功能的子程序 [2] 。
應(yīng)用程序接口又稱為應(yīng)用編程接口,是一組定義、程序及協(xié)議的集合,通過 API接口實(shí)現(xiàn)計(jì)算機(jī)軟件之間的相互通信。API 的一個(gè)主要功能是提供通用功能集。API同時(shí)也是一種中間件,為各種不同平臺提供數(shù)據(jù)共享。程序設(shè)計(jì)的實(shí)踐中,編程接口的設(shè)計(jì)首先要使軟件系統(tǒng)的職責(zé)得到合理劃分。良好的接口設(shè)計(jì)可以降低系統(tǒng)各部分的相互依賴,提高組成單元的內(nèi)聚性,降低組成單元間的耦合程度,從而提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。
JDK
JDK是 Java?語言的軟件開發(fā)工具包,主要用于移動設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。JDK是整個(gè)java開發(fā)的核心,它包含了JAVA的運(yùn)行環(huán)境(JVM+Java系統(tǒng)類庫)和JAVA工具。
?
?
?
總結(jié)
以上是生活随笔為你收集整理的SDK、API、JDK都是些什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高大上的介绍实时流式计算!
- 下一篇: 浅析聚簇索引与非聚簇索引(也叫二级索引)