1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 1544字,需瀏覽 4分鐘

         ·

        2022-02-22 17:47

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

        講個(gè)小故事:

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

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

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

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

        圖片

        這就是API的誕生。

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

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

        圖片

        那SDK又是什么?

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

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

        比如——

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

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

        總的來(lái)說(shuō),兩者沒(méi)有值得比較的區(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í)間、也沒(méi)那么多研發(fā)親自去做這個(gè)功能。這時(shí)我們可以選擇使用這個(gè)“SDK”軟件包,把 ERP 系統(tǒng)連接上 API 接口,就可以使用 SDK 軟件包里的功能。

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

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

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

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

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

        圖片

        API將信息平臺(tái)與簡(jiǎn)道云相連

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

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

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

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

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

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

        所以:

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

        API=SDK上唯一的接口

        不知道你這次真的懂了沒(méi)?

        來(lái)源:https://www.zhihu.com/question/21691705/answer/770586138


        ——————END——————

        歡迎關(guān)注“Java引導(dǎo)者”,我們分享最有價(jià)值的Java的干貨文章,助力您成為有思想的Java開發(fā)工程師!

        瀏覽 34
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            蜜臀av在线一区二区三区 | 伊人网成人 | 操鸡吧| 乱伦三区 | 俄罗斯黄色大片 | 91午夜精品一区二区三区 | 娇妻被邻居灌满精h陈楚 | 野外农村妇女一级A片不看了 | 日韩一区二区三区四区久久久精品有吗 | 在线观看亚洲国产精品 |