0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SDK和API的區(qū)別是什么?

Android編程精選 ? 來源:Android編程精選 ? 作者:Android編程精選 ? 2022-03-18 09:36 ? 次閱讀

不知道區(qū)別的人,大概率是你還沒搞懂API、SDK是什么。

Part1API的誕生

講個(gè)小故事

研發(fā)人員A開發(fā)了軟件A,研發(fā)人員B正在研發(fā)軟件B。

有一天,研發(fā)人員B想要調(diào)用軟件A的部分功能來用,但是他又不想從頭看一遍軟件A的源碼和功能實(shí)現(xiàn)過程,怎么辦呢?

研發(fā)人員A想了一個(gè)好主意:我把軟件A里你需要的功能打包好,寫成一個(gè)函數(shù)。你按照我說的流程,把這個(gè)函數(shù)放在軟件B里,就能直接用我的功能了!

其中,API就是研發(fā)人員A說的那個(gè)函數(shù)。

0c09dabe-a5a4-11ec-952b-dac502259ad0.jpg

這就是API的誕生。

日常生活中,我們有很多類似API的場景,比如:

電腦需要調(diào)用手機(jī)里面的信息,這時(shí)候你會(huì)拿一根數(shù)據(jù)線將電腦手機(jī)連接起來,電腦和手機(jī)上連接數(shù)據(jù)線的接口就相當(dāng)于“API接口”。如圖所示:

0c217a84-a5a4-11ec-952b-dac502259ad0.jpg

Part2那SDK又是什么?

SDK 就是 Software Development Kit 的縮寫,翻譯過來——軟件開發(fā)工具包。這是一個(gè)覆蓋面相當(dāng)廣泛的名詞,可以這么說:輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合都可以叫做SDK。

SDK被開發(fā)出來是為了減少程序員工作量的。

比如——

公司開發(fā)出某種軟件的某一功能,把它封裝成SDK(比如數(shù)據(jù)分析SDK就是能夠?qū)崿F(xiàn)數(shù)據(jù)分析功能的SDK),出售給其他公司做開發(fā)用,其他公司如果想要給軟件開發(fā)出某種功能,但又不想從頭開始搞開發(fā),直接付錢省事。

Part3現(xiàn)在可以談?wù)凙PI和SDK的區(qū)別了

總的來說,兩者沒有值得比較的區(qū)別,因?yàn)槭蔷哂嘘P(guān)聯(lián)性的兩種東西。

你可以把SDK想象成一個(gè)虛擬的程序包,在這個(gè)程序包中有一份做好的軟件功能,這份程序包幾乎是全封閉的,只有一個(gè)小小接口可以聯(lián)通外界,這個(gè)接口就是API。

比如——

我們現(xiàn)在要在企業(yè)ERP系統(tǒng)中增加某個(gè)功能(比如自動(dòng)備份、數(shù)據(jù)分析、云存儲(chǔ)等),但又不想耗費(fèi)大量時(shí)間、也沒那么多研發(fā)親自去做這個(gè)功能。這時(shí)我們可以選擇使用這個(gè)“SDK”軟件包,把ERP系統(tǒng)連接上API接口,就可以使用SDK軟件包里的功能。

Part4舉個(gè)實(shí)例輔助理解

【中鐵大橋科研院】有一個(gè)自研的信息平臺(tái),用于管理業(yè)務(wù)數(shù)據(jù)。

但他們?cè)媾R一個(gè)問題——盡管有信息平臺(tái),卻因?yàn)橄到y(tǒng)的獨(dú)立性,數(shù)據(jù)的上傳和備份,需要依靠人工在excel里來回操作,效率很低。

由于系統(tǒng)的開發(fā)周期長、成本高,橋科院將目光聚焦到現(xiàn)成的功能軟件上。

后來通過API將簡道云直接插入公司數(shù)據(jù)庫,數(shù)據(jù)可自動(dòng)上傳至信息平臺(tái)上并統(tǒng)一展示;再通過webhook把數(shù)據(jù)推送到服務(wù)器,實(shí)現(xiàn)自動(dòng)備份。

0c3946e6-a5a4-11ec-952b-dac502259ad0.jpg

API將信息平臺(tái)與簡道云相連在這一過程中,簡道云扮演的角色就是SDK,而簡道云配備API接口,可以對(duì)接外部系統(tǒng),讓橋科院不用開發(fā)直接實(shí)現(xiàn)了數(shù)據(jù)自動(dòng)上傳、備份的功能。

最后,貼近生活講講兩者的關(guān)系:

有一杯密封飲料,它的名字叫做“SDK”。

飲料上插著吸管,吸管的名字叫“API”。

把你叫做“XX系統(tǒng)”。

如果你想喝到SDK里的飲料(讓系統(tǒng)擁有SDK中的功能),你必須通過API這根吸管來實(shí)現(xiàn)(通過API連接你的系統(tǒng)和SDK工具包),否則你就喝不到飲料。

所以

SDK=放著你想要的軟件功能的軟件包

API=SDK上唯一的接口

不知道你這次真的懂了沒?

這個(gè)問題好像又熱起來了,既然如此,給大家推薦一個(gè)新“玩具”:前端事件。

理論上解釋

前端事件是一種全新的數(shù)據(jù)獲取的方式,可以在數(shù)據(jù)提交或者表單填報(bào)時(shí),主動(dòng)調(diào)用外部接口,從而可以實(shí)現(xiàn)接口取數(shù)、數(shù)據(jù)驗(yàn)證、數(shù)據(jù)分析、觸發(fā)事件等一系列的操作,用戶可以基于現(xiàn)成的商業(yè)接口進(jìn)行配置(無需編程),也可以根據(jù)自身需求封裝接口,靈活地滿足自身業(yè)務(wù)需求(需編程)

說人話解釋

用戶填寫快遞單號(hào),返回具體物流信息;上傳發(fā)票圖片,返回發(fā)票金額;上傳身份證照片,獲取身份證姓名、身份證號(hào);……等。

例如,在發(fā)票報(bào)銷場景中,根據(jù)前端事件配置,可在提交發(fā)票圖片后自動(dòng)獲取發(fā)票中的開票金額、開票日期等基礎(chǔ)信息。

0c4cc8c4-a5a4-11ec-952b-dac502259ad0.gif

-End-

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1501

    瀏覽量

    62025
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1036

    瀏覽量

    45948

原文標(biāo)題:Java學(xué)習(xí):SDK 和 API 的區(qū)別是什么?

文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Power Optimization SDK介紹之Static API

    power方式分別是動(dòng)態(tài)接口和靜態(tài)接口。 Power Optimization SDK的特點(diǎn)如下:(1)在算法級(jí)別上對(duì)電源管理API的細(xì)粒度訪問。(2)訪問請(qǐng)求受整個(gè)系統(tǒng)工作負(fù)載約束的影響。(3)支持CPU
    發(fā)表于 09-27 11:58

    SDK、API、Open API有什么區(qū)別(iot開發(fā)平臺(tái))

    、數(shù)據(jù)采集、設(shè)備遠(yuǎn)程監(jiān)控、用戶賬號(hào)管理、設(shè)備綁定管理和數(shù)據(jù)統(tǒng)計(jì)分析等技術(shù)能力,幫助廠商和開發(fā)者迅速構(gòu)建各類IoT設(shè)備,甚至是進(jìn)行設(shè)備管理和經(jīng)銷商等功能。[ SDKAPI區(qū)別]SDK
    發(fā)表于 07-09 15:32

    SDKAPI、Open API有什么區(qū)別(iot開發(fā)平臺(tái))

    、數(shù)據(jù)采集、設(shè)備遠(yuǎn)程監(jiān)控、用戶賬號(hào)管理、設(shè)備綁定管理和數(shù)據(jù)統(tǒng)計(jì)分析等技術(shù)能力,幫助廠商和開發(fā)者迅速構(gòu)建各類IoT設(shè)備,甚至是進(jìn)行設(shè)備管理和經(jīng)銷商等功能。[ SDKAPI區(qū)別]SDK
    發(fā)表于 07-09 19:17

    SDKAPI相關(guān)資料推薦

    從官方例程深度學(xué)習(xí)海思SDKAPI-第2/11季視頻課程 互聯(lián)網(wǎng)課程品牌《...
    發(fā)表于 12-23 07:57

    OpenHarmony SDK只支持API8和API9嗎?

    1、OpenHarmony SDK api版本只支持8和9么,真機(jī)是6種情況是不是不能使用openharmony調(diào)試了呢?2、HarmonyOS Legacy SDK 與OPenharmony
    發(fā)表于 04-26 10:57

    Hbird-SDK、Nuclei-SDK、NucleiStudio這三者之間的關(guān)系和區(qū)別是什么?。?/a>

    請(qǐng)問 Hbird-SDK、Nuclei-SDK和NucleiStudio這三者之間的關(guān)系和區(qū)別是什么?。坑袥]有誰包含誰了?
    發(fā)表于 08-12 08:08

    OpenHarmony 應(yīng)用開發(fā)SDK、API 與基礎(chǔ)工具

    API,而不需要下載多個(gè) SDK。對(duì)于某些設(shè)備不支持的 API 的情況,開發(fā)者可通過 canIUse() 函數(shù)判斷。 隨著時(shí)間的推移,鴻蒙系統(tǒng)會(huì)發(fā)布新的版本,每個(gè)版本都會(huì)有配套的 API
    發(fā)表于 09-19 15:45

    SDK API Reference Manual LPC546x

    SDK API Reference Manual LPC546xx,用戶手冊(cè)
    發(fā)表于 03-17 08:29 ?33次下載

    人體行為識(shí)別API接口aip-php-sdk-4.15.4

    人體行為識(shí)別API接口aip-php-sdk-4.15.4
    發(fā)表于 08-31 09:46 ?3次下載

    ESP8266 Non OS SDK API參考

    電子發(fā)燒友網(wǎng)站提供《ESP8266 Non OS SDK API參考.pdf》資料免費(fèi)下載
    發(fā)表于 09-23 11:49 ?1次下載
    ESP8266 Non OS <b class='flag-5'>SDK</b> <b class='flag-5'>API</b>參考

    ESP8266 RTOS SDK API參考(僅針對(duì)舊版SDK V2.X及之前版本)

    電子發(fā)燒友網(wǎng)站提供《ESP8266 RTOS SDK API參考(僅針對(duì)舊版SDK V2.X及之前版本).pdf》資料免費(fèi)下載
    發(fā)表于 09-23 10:10 ?0次下載
    ESP8266 RTOS <b class='flag-5'>SDK</b> <b class='flag-5'>API</b>參考(僅針對(duì)舊版<b class='flag-5'>SDK</b> V2.X及之前版本)

    API、SDK是什么?SDKAPI區(qū)別

    SDK 就是 Software Development Kit 的縮寫,翻譯過來——軟件開發(fā)工具包。這是一個(gè)覆蓋面相當(dāng)廣泛的名詞,可以這么說:輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合都可以叫做SDK。
    的頭像 發(fā)表于 10-04 15:35 ?2304次閱讀

    SDKAPI 在視頻環(huán)境中的區(qū)別

    現(xiàn)在,視頻API 或視頻SDK 不一定是每個(gè)工具本身的一個(gè)類別。相反,它們是創(chuàng)建的APISDK,旨在幫助您與并非從頭開始構(gòu)建的視頻平臺(tái)進(jìn)行交互和擴(kuò)展。
    發(fā)表于 11-25 09:34 ?604次閱讀

    ESP8266 Non-OS SDK API參考

    電子發(fā)燒友網(wǎng)站提供《ESP8266 Non-OS SDK API參考.pdf》資料免費(fèi)下載
    發(fā)表于 09-18 10:08 ?8次下載
    ESP8266 Non-OS <b class='flag-5'>SDK</b> <b class='flag-5'>API</b>參考

    簡單了解SDK與APK的區(qū)別

    不少小伙伴在開發(fā)軟件中會(huì)提到兩個(gè)詞:APISDK。雖然它們看起來很專業(yè),但其實(shí)背后的概念并不復(fù)雜。這篇文章能簡單的幫你了解SDK與APK的區(qū)別。
    的頭像 發(fā)表于 10-11 10:08 ?1254次閱讀