1 回答

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
SDK就是Kit,工具箱嘛,IOS平臺(tái)上就是XCode,一系列的工具組合在一起,比如你在編輯器里敲代碼的時(shí)候它會(huì)自動(dòng)補(bǔ)全代碼,自動(dòng)錯(cuò)誤檢查,你點(diǎn)一下Run,它會(huì)調(diào)用編譯器來自動(dòng)編譯,編譯完它會(huì)調(diào)用iPhone的模擬器來運(yùn)行,這就是SDK,提供整套的開發(fā)工具供開發(fā)者使用。
OpenAPI就是網(wǎng)站提供的接口,比如你想開發(fā)一個(gè)圍脖的手機(jī)客戶端,你從哪里讀取數(shù)據(jù)寫入數(shù)據(jù)呢?總不能從Web版里調(diào)用吧?那里是一堆一堆的html代碼啊,所以O(shè)penAPI就是網(wǎng)站提供的接口,供開發(fā)者接入用的,比如聚合數(shù)據(jù)平臺(tái)。
SDK (Software Development Kit)翻譯成中文就是"軟體開發(fā)工具組"
是用來幫一個(gè) 產(chǎn)品 或 平臺(tái) 開發(fā)應(yīng)用程式的工具組,由產(chǎn)品的廠商提供給開發(fā)者使用的。
通常是 某一家廠商 針對(duì)某一 平臺(tái) 或 系統(tǒng) 或 硬體 所發(fā)布出來用以開發(fā)應(yīng)用程式的工具組,
在這個(gè)工具包里面,可能包含了各式各樣的開發(fā)工具,模擬器等。
例如:給 Android平臺(tái) 使用的 Android SDK 就是用來開發(fā) Android系統(tǒng)上面的應(yīng)用程式。
API (Application Programming Interface)
翻譯成中文就是"應(yīng)用程式介面",其實(shí)這樣翻譯不好,應(yīng)該說是"程式溝通介面"。
翻譯為介面,顧名思義就要溝通兩個(gè)不同的東西用的,通常由一組函式庫所組成。
在一個(gè) 同一個(gè)平臺(tái) 下的 兩個(gè)不同東西(程式 or 系統(tǒng)),為了能取用對(duì)方的功能等等,
所以一個(gè) X程式 寫了一組函式,讓 同一平臺(tái)的其他程式 取用 X程式 的功能,
那組函式就可以說是那個(gè) X程式 對(duì)外開放的 API。
例如:我要在 自己的網(wǎng)頁 上加入 google map網(wǎng)頁的功能,就使用 "google map API"
有時(shí)候 SDK(開發(fā)者工具包) 里也會(huì)帶有些許 API 用來調(diào)用一些系統(tǒng)平臺(tái)程式提供的功能
例如說:視窗顯示,圖形特效等等。
以下舉一個(gè)實(shí)際例子來說明,調(diào)用系統(tǒng)程式功能的API 是怎麼一回事
開發(fā)Windows應(yīng)用程式的SDK(開發(fā)者工具包) 里就包含 Win32 API
說明: Win32 API 是一個(gè)函式庫,可以給Windows應(yīng)用程式 調(diào)用 Windows系統(tǒng)的功能
在PTT看到有人問了差異性,我的看法是
SDK是用來開發(fā)某一個(gè)平臺(tái)的程式的工具包,API 是讓同一平臺(tái)下的程式取用它的功能的函式庫。
以及下面的評(píng)論
1.API 通常大家都不會(huì)弄錯(cuò),的確就是以功能為導(dǎo)向的"方法"或"函式"清單,
看程式語言或平臺(tái)而定( Methods, Functions... ),
而每個(gè) API 主要都是為了達(dá)成某特定功能所設(shè)計(jì)的。
開發(fā)商可以為了不同平臺(tái),設(shè)計(jì)相同的 API 讓開發(fā)者使用,
也可能會(huì)因應(yīng)不同平臺(tái),制作不同的 API 讓開發(fā)者使用。
2.當(dāng) API 數(shù)量夠多功能夠繁復(fù)并且可交互為用的時(shí)候,
( 例如為了達(dá)成某些功能,常需要同時(shí)引用某些 APIs 來完成 )
開發(fā)商就會(huì)為了開發(fā)便利,而預(yù)先撰寫好一些組合好 APIs 的 API
供開發(fā)者使用,來統(tǒng)一有特定需求的開發(fā)者能有一致的開發(fā)與使用體驗(yàn),
( 例如讓使用"網(wǎng)路連線"的開發(fā)者不需自己處理網(wǎng)路的基礎(chǔ)溝通信息,
與錯(cuò)誤處理方式,使 API 在應(yīng)用的時(shí)候有一定程度的便利性等 )
然后,也陸續(xù)發(fā)展出測試、除錯(cuò)工具,甚至是設(shè)計(jì)不同平臺(tái)開發(fā)環(huán)境所需的套件,
尤其針對(duì)不同平臺(tái),更是設(shè)計(jì)了對(duì)應(yīng)的工具來協(xié)助開發(fā)、除錯(cuò);
SDK 名詞之所以出現(xiàn),儼然是為了匯整上述這些資源而誕生的,
我想也可以說成是 API 的包含者(直接使用)與應(yīng)用者(以便加速開發(fā)),
- 1 回答
- 0 關(guān)注
- 865 瀏覽
添加回答
舉報(bào)