亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

全網最詳解讀兩者區(qū)別 api對接和sdk對接區(qū)別


全網最詳解讀兩者區(qū)別 api對接和sdk對接區(qū)別

文章插圖
前言什么是 API?
什么是 SDK?
兩者之間有何關系?
歡迎來到本次的每周一問系列 。
既然點進來了,相信你或多或少都聽說過這兩個名詞了,因此,在為你解答之前,讓我們先從一個例子出發(fā) 。假如你想開發(fā)一個 OCR 應用(通俗的說就是文字識別應用),他的功能是識別用戶上傳的一張圖片,然后將圖片中的文字識別出來返回給用戶 。如下圖所示:
通常,OCR 應用的后端服務都會部署在云上,那么我們應該如何在移動應用程序與基于云的服務之間進行通信呢?
這就是 API 和 SDK 的用武之地了 。
APIAPI 的特點通信首先我們要明白的是 API 是和通信有關的,是用于應用(服務)與其他應用(服務)對話所定義的協議 。在上述例子中,你可以簡單理解為 API 是 OCR 應用和云端服務之間溝通的橋梁 。
那么 API 到底是什么?
API 全稱 Application Programming Interface,即「應用程序接口」 。
一般是指一些預先定義的函數,目的是供應用程序與開發(fā)人員基于某軟件或硬件得以訪問一組程序的能力,而又無需訪問源碼,或理解內部工作機制的細節(jié) 。
以 Java 為例,當你想要實現一個數組排序的功能時,你是會先手寫一個排序算法,還是直接使用Arrays.sort()函數?我想你心里是有答案的 。
抽象其次,我們要理解,API 的另一個重要特點——抽象 。
抽象指的又是什么?
還是以這個 OCR 應用為例,當我們在使用云端提供的文字識別能力時(比如百度文字識別),他的背后可能會有成千上萬的代碼,比如提供識別能力的機器學習的代碼、提供 Web 能力的后端代碼等等 。
但是你作為一個 APP 的開發(fā)者,你需要去看這些代碼是怎么寫的嗎?難道不知道背后的源碼就不能調用百度提供的文字識別能力了嗎?當然不是 。
通常服務商已經給你提供了文檔,告訴你如何去調用相應服務,只要你按照他的要求來即可 。
因此,在你的 APP 和 OCR 服務之間,API 抽象出所有復雜的邏輯,簡化了調用過程,這使得你只需要考慮獲取所需的數據即可 。
標準化API 是標準化的,這意味著存在有關如何定義 API 的行業(yè)標準,比如 SOAP、REST、GraphQL 等 。
我在《你的第一本 SpringBoot 書》[1]中寫到什么是 RESTful API,有興趣的小伙伴可以點擊閱讀,這是我正在寫的一本 SpringBoot 入門教程,目前還沒完工,歡迎讀者們不要吝嗇自己的建議。
API 的構成要素那么,API 通常由什么組成呢?
首先,我們要發(fā)送一些數據到云端,即所謂的「請求」 。
從本地應用發(fā)請求到云端,我們需要分幾步完成,以 REST 為例 。
對于 REST API 調用請求,第一步是指定傳輸的方法,通常是和 HTTP 方法對應的,如下圖所示:
當你想要上傳一張圖片時,通常會使用 POST 方法,然后是傳遞一些參數,包括請求的內容(圖像本身) 。然后加上需要請求的地址,即可構成一個完整的請求 。如下圖所示:
之后,服務器再以 JSON 等形式將數據返還給你,在你使用的云服務的文檔中也會有所標注 。
SDK說了這么多,你應該對 API 有所了解了,那么這時候問題就來了,作為開發(fā)人員,你如何在實際的項目中調用 API?
你要自己構造 HTTP 請求、拼接 URL、添加需要的參數、處理返回的 JSON 對象,麻煩嗎?
麻煩 。
那有沒有什么好的辦法簡化這些操作,使得我只需要給一張圖片然后就給我返回結果的呢?


以上關于本文的內容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫(yī)或請專業(yè)人士給予相關指導!

「愛刨根生活網」www.malaban59.cn小編還為您精選了以下內容,希望對您有所幫助: