iT邦幫忙

4

互聯網行業中,常說的API和SDK是什麼?

groots 2020-09-03 10:50:2054505 瀏覽
  • 分享至 

  • xImage
  •  

API和SDK是什麼?

瞭解什麼是API

不如先聽個小故事:

研發人員A開發了軟體A,研發人員B正在研發軟體B。有一天,研發人員B想要調用軟體A的部分功能來用,但是他又不想從頭看一遍軟體A的原始碼和功能實現過程,怎麼辦呢?研發人員A想了一個好主意:**我把軟體A裡你需要的功能打包好,寫成一個函數。你按照我說的流程,把這個函數放在軟體B裡,就能直接用我的功能了!**其中,API就是研發人員A說的那個函數。

https://ithelp.ithome.com.tw/upload/images/20200903/20106765370a84W5Rq.jpg
這就是API的誕生。

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

電腦需要調用手機裡面的資訊,這時候你會拿一根資料線將電腦手機連線起來,電腦和手機上連線資料線的介面就相當於API介面。如圖所示:
https://ithelp.ithome.com.tw/upload/images/20200903/20106765SgUImtrutU.jpg

那SDK又是什麼?

SDK 就是 Software Development Kit 的縮寫,翻譯過來就是「軟體開發工具套件」。這是一個覆蓋面很廣泛的名詞,可以這麼說:輔助開發某一類軟體的相關文件、範例和工具的集合都可以叫做SDK。SDK被開發出來是為了減少程式設計師工作量的。
比如:
有公司開發出某種軟體的某一功能,把它封裝成SDK(比如資料分析SDK就是能夠實現資料分析功能的SDK),出售給其他公司做開發用,其他公司如果想要給軟體開發出某種功能,但又不想從頭開始搞開發,直接付錢省事。

現在可以談談API和SDK了。
總的來說,兩者沒有值得比較的區別,因為是具有關聯性的兩種東西。
你可以把SDK想象成一個虛擬的程式包,在這個程式包中有一份做好的軟體功能,這份程式包幾乎是全封閉的,只有一個小小介面可以聯通外界,這個介面就是API。
比如——我們現在要在企業ERP系統中增加某個功能(比如自動備份、資料分析、雲端儲存等),但又不想耗費大量時間、也沒那麼多研發親自去做這個功能。這時我們可以選擇使用這個SDK軟體套件,把ERP系統連線上API介面,就可以使用SDK軟體套件裡的功能。

有趣的例子

用生活中的例子,講講兩者的關係:
有一杯密封飲料,它的名字叫做SDK。飲料上插著吸管,吸管的名字叫API。把你叫做XX系統。如果你想喝到SDK裡的飲料(讓系統擁有SDK中的功能),你必須通過API這根吸管來實現(通過API連結你的系統和SDK工具包),否則你就喝不到飲料。所以:SDK=放著你想要的軟體功能的軟體包API=SDK上唯一的介面怎麼樣,你是不是一下搞清楚了?


作者:簡道雲,原文:互联网行业,常说的API和SDK是什么?
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言