登陸

SDK和API有什么區別?

admin 2020-08-07 142人圍觀 ,發現0個評論 SDK和API區別
華搜傳媒,專注網絡推廣、網絡廣告等互聯網營銷服務,QQ:755436989, 電話:13067953746 (同微信)

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

講個小故事:

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

這就是API的誕生。

 

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

電腦需要調用手機里面的信息,這時候你會拿一根數據線將電腦手機連接起來,電腦和手機上連接數據線的接口就相當于“API接口”。如圖所示:

那SDK又是什么?

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

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

比如——

有公司開發出某種軟件的某一功能,把它封裝成SDK(比如數據分析SDK就是能夠實現數據分析功能的SDK),出售給其他公司做開發用,其他公司如果想要給軟件開發出某種功能,但又不想從頭開始搞開發,直接付錢省事。

 

現在可以談談API和SDK的區別了。

總的來說,兩者沒有值得比較的區別,因為是具有關聯性的兩種東西。

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

比如——

我們現在要在企業ERP系統中增加某個功能(比如自動備份、數據分析、云存儲等),但又不想耗費大量時間、也沒那么多研發親自去做這個功能。這時我們可以選擇使用這個“SDK”軟件包,把ERP系統連接上API接口,就可以使用SDK軟件包里的功能。

 

  • 舉個實例輔助理解:

【中鐵大橋科研院】有一個自研的信息平臺,用于管理業務數據。

但他們曾面臨一個問題——盡管有信息平臺,卻因為系統的獨立性,數據的上傳和備份,需要依靠人工在excel里來回操作,效率很低。

由于系統的開發周期長、成本高,橋科院將目光聚焦到現成的功能軟件上。

后來通過API將簡道云直接插入公司數據庫,數據可自動上傳至信息平臺上并統一展示;再通過webhook把數據推送到服務器,實現自動備份。

API將信息平臺與簡道云相連

在這一過程中,簡道云扮演的角色就是SDK,而簡道云配備API接口,可以對接外部系統,讓橋科院不用開發直接實現了數據自動上傳、備份的功能。

 

最后,貼近生活講講兩者的關系:

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

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

把你叫做“XX系統”。

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

所以:

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

API=SDK上唯一的接口

請發表您的評論
請關注微信公眾號
微信二維碼
不容錯過
華搜傳媒,專注網絡推廣、網絡廣告等互聯網營銷服務,QQ:755436989, 電話:13067953746 (同微信)
Powered By Z-BlogPHP
 
QQ在線咨詢
網絡推手
130-6795-3746
品牌維護
130 6795 3746
河南快3开奖基本走势 足彩论坛 新推荐一注双色球号码查询 秒速飞艇官网 千炮捕鱼街机电玩城 中大奖绝招 幸运农场计划 四川体彩顶呱刮新票 66江苏麻将下载安装 高频彩骗人 北京pk10直播现场 ho168娱乐城真人百家乐_进入游戏 高频彩为什么全部停掉了 足球即时比分网 河北微乐麻将软件下载 福建31选7开奖结果今晚 老11选5是什么版本的