SDK是什么?
SDK的全稱為 Software Development Kit,翻譯過來的意思就是軟件開發(fā)工具包。這是一個(gè)覆蓋面相當(dāng)廣泛的名詞,簡(jiǎn)單來說就是:輔助開發(fā)某一類軟件的相關(guān)文檔、演示舉例和一些工具的集合,這些都可以稱為 SDK。
SDK 被開發(fā)出來的意義是為了減少開發(fā)者的工作量。例如:某公司開發(fā)出某種軟件的某一功能,將其封裝成 SDK(例如數(shù)據(jù)分析 SDK,就是能夠?qū)崿F(xiàn)數(shù)據(jù)分析功能的SDK),出售給其他需要的公司使用。這樣就可以大大減少開發(fā)應(yīng)用程序的工作量。
API是什么 ?
API 的全稱為 Application Programming Interface,翻譯過來的意思就是應(yīng)用程序編程接口。實(shí)際上,API 是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某個(gè)軟件或硬件,得以訪問一組進(jìn)程的能力。不需要直接去訪問源碼,或去深刻理解內(nèi)部工作機(jī)制的細(xì)節(jié)。實(shí)際上我們可以通過一個(gè)日常生活工作中的事來更好的理解 API 的概念:
在沒有網(wǎng)絡(luò)的工作或生活條件下,我們?nèi)绻枰ㄟ^電腦來獲取手機(jī)中存儲(chǔ)的信息時(shí),可以使用一條數(shù)據(jù)線來連接手機(jī)和電腦。在這個(gè)場(chǎng)景下,電腦和手機(jī)上承載數(shù)據(jù)線的接口就相當(dāng)于我們?cè)诰幊讨谐Uf的“API接口”。
API 通常是一個(gè)函數(shù),有特定的功能;而 SDK 是一個(gè)很多功能函數(shù)的集合體,更像是一個(gè)工具包;API 是數(shù)據(jù)接口,SDK 是工具環(huán)境,需要在 SDK 的環(huán)境下調(diào)用 APl;API接口對(duì)接過程匯總需要自己提供環(huán)境,SDK 不僅提供開發(fā)環(huán)境,還提供很多APl;SDK 相較于 API 封裝層次更高。

如何選擇API和SDK這兩種產(chǎn)品對(duì)接方式呢?
API開發(fā)成本低,對(duì)接比較簡(jiǎn)單,可以快速驗(yàn)證商業(yè)模式和用戶體驗(yàn)。但API會(huì)經(jīng)過對(duì)接平臺(tái),會(huì)暴露相關(guān)數(shù)據(jù)信息。而SDK對(duì)接后的功能比較穩(wěn)定,響應(yīng)速度快,而且對(duì)接平臺(tái)相關(guān)數(shù)據(jù)不會(huì)被獲取。同時(shí)SDK需要開發(fā)的環(huán)節(jié)較多,開發(fā)工作量大,對(duì)接周期略長(zhǎng)。
版權(quán)聲明:本文章文字內(nèi)容來自第三方投稿,版權(quán)歸原始作者所有。本網(wǎng)站不擁有其版權(quán),也不承擔(dān)文字內(nèi)容、信息或資料帶來的版權(quán)歸屬問題或爭(zhēng)議。如有侵權(quán),請(qǐng)聯(lián)系contentedit@huawei.com,本網(wǎng)站有權(quán)在核實(shí)確屬侵權(quán)后,予以刪除文章。