欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

API與SDK的區(qū)別有哪些

本篇內(nèi)容介紹了“API與SDK的區(qū)別有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號(hào)搭建、微信小程序、軟件開(kāi)發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動(dòng)行銷(xiāo)領(lǐng)域創(chuàng)造價(jià)值而不懈努力!

首先我們要明白的是 API 是和通信有關(guān)的,是用于應(yīng)用(服務(wù))與其他應(yīng)用(服務(wù))對(duì)話所定義的協(xié)議。在上述例子中,你可以簡(jiǎn)單理解為 API 是 OCR  應(yīng)用和云端服務(wù)之間溝通的橋梁。

那么 API 到底是什么?

API 全稱 Application Programming Interface,即「應(yīng)用程序接口」。

一般是指一些預(yù)先定義的函數(shù),目的是供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件得以訪問(wèn)一組程序的能力,而又無(wú)需訪問(wèn)源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。

以 Java 為例,當(dāng)你想要實(shí)現(xiàn)一個(gè)數(shù)組排序的功能時(shí),你是會(huì)先手寫(xiě)一個(gè)排序算法,還是直接使用Arrays.sort()函數(shù)?我想你心里是有答案的。

抽象

其次,我們要理解,API 的另一個(gè)重要特點(diǎn)——抽象。

抽象指的又是什么?

還是以這個(gè) OCR  應(yīng)用為例,當(dāng)我們?cè)谑褂迷贫颂峁┑奈淖肿R(shí)別能力時(shí)(比如百度文字識(shí)別),他的背后可能會(huì)有成千上萬(wàn)的代碼,比如提供識(shí)別能力的機(jī)器學(xué)習(xí)的代碼、提供 Web  能力的后端代碼等等。

API與SDK的區(qū)別有哪些

但是你作為一個(gè) APP 的開(kāi)發(fā)者,你需要去看這些代碼是怎么寫(xiě)的嗎?難道不知道背后的源碼就不能調(diào)用百度提供的文字識(shí)別能力了嗎?當(dāng)然不是。

通常服務(wù)商已經(jīng)給你提供了文檔,告訴你如何去調(diào)用相應(yīng)服務(wù),只要你按照他的要求來(lái)即可。

API與SDK的區(qū)別有哪些

因此,在你的 APP 和 OCR 服務(wù)之間,API 抽象出所有復(fù)雜的邏輯,簡(jiǎn)化了調(diào)用過(guò)程,這使得你只需要考慮獲取所需的數(shù)據(jù)即可。

標(biāo)準(zhǔn)化

API 是標(biāo)準(zhǔn)化的,這意味著存在有關(guān)如何定義 API 的行業(yè)標(biāo)準(zhǔn),比如 SOAP、REST、GraphQL 等。

我在《你的第一本 SpringBoot 書(shū)》[1]中寫(xiě)到什么是 RESTful API,有興趣的小伙伴可以點(diǎn)擊閱讀,這是我正在寫(xiě)的一本  SpringBoot 入門(mén)教程,目前還沒(méi)完工,歡迎讀者們不要吝嗇自己的建議 。

API 的構(gòu)成要素

那么,API 通常由什么組成呢?

首先,我們要發(fā)送一些數(shù)據(jù)到云端,即所謂的「請(qǐng)求」。

從本地應(yīng)用發(fā)請(qǐng)求到云端,我們需要分幾步完成,以 REST 為例。

對(duì)于 REST API 調(diào)用請(qǐng)求,第一步是指定傳輸?shù)姆椒ǎǔJ呛?HTTP 方法對(duì)應(yīng)的,如下圖所示:

API與SDK的區(qū)別有哪些

當(dāng)你想要上傳一張圖片時(shí),通常會(huì)使用 POST  方法,然后是傳遞一些參數(shù),包括請(qǐng)求的內(nèi)容(圖像本身)。然后加上需要請(qǐng)求的地址,即可構(gòu)成一個(gè)完整的請(qǐng)求。如下圖所示:

API與SDK的區(qū)別有哪些

之后,服務(wù)器再以 JSON 等形式將數(shù)據(jù)返還給你,在你使用的云服務(wù)的文檔中也會(huì)有所標(biāo)注。

API與SDK的區(qū)別有哪些

SDK

說(shuō)了這么多,你應(yīng)該對(duì) API 有所了解了,那么這時(shí)候問(wèn)題就來(lái)了,作為開(kāi)發(fā)人員,你如何在實(shí)際的項(xiàng)目中調(diào)用 API?

你要自己構(gòu)造 HTTP 請(qǐng)求、拼接 URL、添加需要的參數(shù)、處理返回的 JSON 對(duì)象,麻煩嗎?

麻煩。

API與SDK的區(qū)別有哪些

那有沒(méi)有什么好的辦法簡(jiǎn)化這些操作,使得我只需要給一張圖片然后就給我返回結(jié)果的呢?

自然是有的,這就是接下來(lái)我們要說(shuō)的 SDK 了。

SDK 全稱 Software Development Kit,軟件開(kāi)發(fā)工具包。

一般都是一些軟件工程師為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件時(shí)的開(kāi)發(fā)工具的集合。

通俗來(lái)講就是第三方服務(wù)商提供的實(shí)現(xiàn)產(chǎn)品軟件某項(xiàng)功能的工具包。例如 JDK 就是一種 SDK。

還是以上面的 OCR 應(yīng)用為例,如果使用了某廠商的 SDK 服務(wù),那么我們連 HTTP  請(qǐng)求的構(gòu)建都不需要了,僅調(diào)用一個(gè)方法,可能的代碼如下圖所示。

OCRResult res = ocrClient.ocr("pic.jpg").getResult();

通過(guò)調(diào)用這行代碼,SDK 會(huì)自動(dòng)封裝 API 請(qǐng)求,而且作為響應(yīng),你獲得的結(jié)果也不一定是 JSON  對(duì)象,也有可能是代碼,例如上述代碼段里的OCRResult,這是因?yàn)?SDK 也已經(jīng)將 JSON 對(duì)象反序列化成你需要的對(duì)象,比如一個(gè) Java  Model。

SDK 相當(dāng)于開(kāi)發(fā)集成工具環(huán)境,API 就是數(shù)據(jù)接口。API 可以在 SDK 提供的“環(huán)境”里請(qǐng)求。同樣的,這里的“環(huán)境”也是一個(gè)抽象的概念。如果不使用  SDK,也可以直接調(diào)用 API,只不過(guò),這個(gè)環(huán)境就要由開(kāi)發(fā)者自己實(shí)現(xiàn)了。

區(qū)別

其實(shí)從上面的內(nèi)容,我們也已了解到,API 在更多場(chǎng)合下更像是 SDK 的一個(gè)子集,他們的區(qū)別如下:

  • API 通常是一個(gè)函數(shù),有特定的功能;而 SDK 是一個(gè)很多功能函數(shù)的集合體,更像是一個(gè)工具包。•API 通常扮演數(shù)據(jù)接口的形象,SDK  相當(dāng)于一個(gè)工具環(huán)境,通常是需要在 SDK 的環(huán)境下調(diào)用 APl。•SDK 相較于 API 封裝層次更高。

“API與SDK的區(qū)別有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)站標(biāo)題:API與SDK的區(qū)別有哪些
文章分享:http://aaarwkj.com/article26/ijhdjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、軟件開(kāi)發(fā)自適應(yīng)網(wǎng)站、動(dòng)態(tài)網(wǎng)站、域名注冊(cè)定制開(kāi)發(fā)

廣告

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

成都app開(kāi)發(fā)公司
97成品视频在线播放| 亚洲国产高清第一第二区| 国产综合中文字幕不卡| 国产亚洲一区二区自拍视频| 高清免费欧美大片在线观看| 亚洲国产日韩中文字幕| 在线免费观看日韩黄片| 乱码日本欧美一区二区| 久久99精品综合国产女同| 九九九热在线免费视频| 欧美一区二区欧美精品| 亚洲精品美女久久久久高潮| 2021最新四虎永久免费| 亚洲综合激情另类专区| 日韩最新视频一区二区三| 蜜臀久久精品亚洲一区| 亚洲日本精品免费在线观看| 久久91亚洲精品中文字幕| 中文字幕一区二区精品人妻| 18禁黄网站禁片免费视频 | 九九国产精品免费视频| 国产原创中文剧情性感av| 丰满人妻毛片一区二区三区| 日韩精品欧美成人高清一区二区| 亚洲人妻乱人伦中文字幕在线| av免费在线观看大全| 欧美性做爰片免费视频网| 天堂av在线一区二区三区| 国产精品久久久久久久亚洲| 日韩不卡永久免费视频观看| 久久99精品久久久国产| 五月婷婷亚洲激情综合网| 色婷婷亚洲综合色一区二区| 国产成人亚洲精品另类动态| 亚洲成人高清av在线| 日韩中文字幕视频久久| 日本一区二区久久人妻高清| 亚洲av色国产精品色午含羞草| 中文成人无字幕乱码精品| 思思久久96热在精品国产| 日本在线观看高清区一区二|