成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

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

2021-02-09    分類: 網(wǎng)站建設(shè)

隨著軟件規(guī)模的日益龐大,開發(fā)者常常需要把復(fù)雜的系統(tǒng)劃分成小的組成部分,這個時候,編程接口的設(shè)計就顯得尤為重要。良好的接口設(shè)計可以降低系統(tǒng)各部分的相互依賴,提高組成單元的內(nèi)聚性,降低組成單元間的耦合程度,從而提高系統(tǒng)的維護性和擴展性。

而對于接口,最讓大家耳熟能詳?shù)哪^于API和SDK。這兩者都有哪些特點,作為開發(fā)者又該如何選擇,今天的這篇文章,將給你全方位的解答。


什么是API?如果你在百度百科上搜索,你會得到如下結(jié)果:

API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問特定的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細節(jié)。

通俗易懂的說,API 其實就是別人已經(jīng)寫好的可以實現(xiàn)特定功能的函數(shù),而你只需要調(diào)用他的方法,傳入他規(guī)定的參數(shù),然后這個函數(shù)就會幫你實現(xiàn)這些功能,且不需要知道這些功能的具體實現(xiàn)過程都是什么。

API 的程序功能包括以下這幾個方面:

遠程過程調(diào)用(RPC)

通過作用在共享數(shù)據(jù)緩存器上的過程(或任務(wù))實現(xiàn)程序間的通信。

標準查詢語言(SQL)

是標準的訪問數(shù)據(jù)的查詢語言,通過通用數(shù)據(jù)庫實現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享。

文件傳輸

文件傳輸通過發(fā)送格式化文件實現(xiàn)應(yīng)用程序間數(shù)據(jù)共享。

信息交付

指松耦合或緊耦合應(yīng)用程序間的小型格式化信息,通過程序間的直接通信實現(xiàn)數(shù)據(jù)共享。

而至于SDK即為“軟件開發(fā)工具包”,是用于為特定軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件時所用的開發(fā)工具的集合。

SDK實現(xiàn)其功效的主要手段是封裝操作。封裝是在客戶端層面的Library(也叫做“包”或者“庫”)進行的,這個Library可以是Dynamic Library(動態(tài)庫)或者 Static Library(靜態(tài)庫),它提供的是一些客戶端API接口。

當然,SDK不光存在于客戶端,服務(wù)端也有,只要是封裝了一組完整的操作和規(guī)范就算。所以,可以說SDK實際上是一種中間服務(wù)的功能,將一組不易使用及不透明的API封裝成另一組對第三方透明且易于使用的API。比如說支付寶SDK,是把支付寶內(nèi)部的一些API操作封裝之后,暴露成易于外部開發(fā)人員使用以及兼顧數(shù)據(jù)安全性的另一組API,就可以稱為SDK。

云服務(wù)實現(xiàn)了IT資源與能力的共享,通過API和SDK,開發(fā)者得以像搭積木一樣快速搭建產(chǎn)品架構(gòu),這大大降低了開發(fā)成本與門檻。而對于軟件提供商來說,留出API和SDK,讓別的開發(fā)者來調(diào)用,形成生態(tài),軟件才能發(fā)揮大的價值;

那么問題來了,兩種接口都是如此的優(yōu)秀,身為開發(fā)者,該如何選擇呢?

從本質(zhì)上來看,API是一個具體的函數(shù),一個確定的功能,已經(jīng)明確了它的作用(比如做加法)。而SDK就像是很多方法的集合體,是一個工具集。比如你要做加法,你就調(diào)用計算機SDK的加法API,要做減法就調(diào)用減法API,無論你想完成什么計算,SDK里總有能實現(xiàn)的方法。再比如你要開車去一個地方,車就是SDK,可以讓你完成到達目的地的目的。車上的方向盤,燈,發(fā)動機,油門,剎車像一個個API,你在使用SDK時,就是調(diào)用一個個API功能。如果貼心一點的車,可能還帶有使用說明(SDK說明文檔)。

SDK還有一點是除了提供完善的接口,它還會給你提供開發(fā)環(huán)境。例如java的JDK里,除了各種API,還包括了java運行需要的JRE。

而從整體運維上來看

API開發(fā)成本低,對接比較簡單,可以快速驗證商業(yè)模式和用戶體驗,但是API會經(jīng)過對接平臺,廠商會獲取到對接平臺相關(guān)數(shù)據(jù)信息。而SDK對接后的功能比較穩(wěn)定,響應(yīng)速度快,而且對接平臺相關(guān)數(shù)據(jù)不會被獲取,但是需要的開發(fā)環(huán)節(jié)較多,開發(fā)工作量大,對接周期略長。

所以,大家在實際開發(fā)過程中,如果只是簡單功能調(diào)用,還是使用API更快速便捷一些;如果是繁瑣復(fù)雜的功能,多數(shù)情況下還是使用SDK更穩(wěn)妥一些。

總而言之,沒有哪種接口是最好的,只有哪種接口是最適合開發(fā)需求的。

當前題目:API和SDK是什么,有什么區(qū)別?
標題鏈接:http://jinyejixie.com/news/99989.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、小程序開發(fā)、動態(tài)網(wǎng)站企業(yè)建站、搜索引擎優(yōu)化網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
丁青县| 宜宾县| 乐安县| 康平县| 丹凤县| 抚松县| 阜宁县| 溧水县| 土默特右旗| 旺苍县| 广东省| 城口县| 灌阳县| 如皋市| 卓资县| 西贡区| 古浪县| 胶州市| 河北区| 自贡市| 和林格尔县| 青河县| 东阿县| 苗栗县| 长汀县| 保山市| 尚义县| 南召县| 南部县| 日土县| 乌恰县| 平谷区| 闽清县| 抚州市| 建瓯市| 广水市| 郧西县| 安溪县| 农安县| 禄劝| 凤冈县|