什麼是API,SDK和API之間有什麼關係呢?

什麼是API,SDK和API之間有什麼關係呢?

好久沒有寫博客了,剛看的文章想說說自己的理解。畢竟我不是什麼大神我只是愛看文章的程序猿。

首先呢讓我唱響國際歌:起來飢寒交迫的程序員,起來全世界開發的人。好了別改變人家的歌詞了。皮埃爾·狄蓋特 的棺材板蓋不住了。言歸正傳=======>

隨著軟件規模的日益龐大,常常需要把複雜的系統劃分成小的組成部分,編程接口的設計十分重要,程序設計的實踐中,編程接口的設計首先要使軟件系統的職責得到合理劃分,良好的接口設計可以降低系統各部分的相互依賴,提高組成單元的內聚性,降低組成單元間的耦合程度,從而提高系統的維護性和擴展性。API是接口的一種,在程序交互中具有重要的作用,而SDK與API有著密不可分的關係。(套用別人文章的開頭)。

我先說說那個API吧,他是啊應用性的編程接口,是一些預先定義的函數,其實最主要的目的就是當做介質連接兩個不同的東西,提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。

說白了啊就是別人寫好的可以實現特定功能的函數,而你只需要根據他提供好的接口,也就是調用他的方法,傳入他規定的參數,然後這個函數就會幫你實現這些功能。

什麼是API,SDK和API之間有什麼關係呢?

從interface來講,在咱們開發行業是指兩個不同系統之間交互的地方,大可以到兩個完整的不同系統,小可以到兩段程序。那麼程序和程序交互的就叫做API,所謂交互,其實就是傳遞數據,觸發功能。

做一個情景再現

假如你公司網站上有一個表格是用來給客戶註冊預約的。你想要憑藉這些預約細節信息,讓客戶能夠自動在瀏覽器日程上創建活動。這就意味著,你的網站服務器需要直接與瀏覽器服務器進行對話,在掌握既定細節信息的情況下,申請創建活動。之後,你的服務器就會接收到瀏覽器的響應並進行處理,然後將相關信息發送回瀏覽器,比如說向用戶發送一個確認信息。

API又分為(Windows、Linux、Unix等系統的)系統級API,及非操作系統級的自定義API。API又分為開放式API和私有API。顧名思義,開放式API即是向所有人公開的接口,允許任何人調用它並獲取到它背後的數據,有時公司會將 API 作為其公共開放系統,也就是說,公司制定自己的系統接口標準,當需要執行系統整合、自定義和程序應用等操作時,公司所有成員都可以通過該接口標準調用源代碼,該接口標準被稱之為開放式API。私有API即接口未對外開放。

可能我看到的 或者自己理解的,還有簡簡單單的複製

SDK

SDK 百度告訴我是 “軟體開發工具包” 剩下的百度的話我就不說了啊 ,通常SDK是由特別大佬級的公司提供專業服務的集合,程序員不需要再對產品的每個功能進行開發,選擇合適穩定的SDK服務並花費很少的經歷就可以在產品中集成某項功能。

什麼是API,SDK和API之間有什麼關係呢?

SDK : interface 區別

SDK相當於開發集成工具環境,API就是數據接口。在SDK環境下調用API數據,實際上SDK包含了API的定義,API定義一種能力,一種接口的規範,而SDK可以包含這種能力、包含這種規範。但是SDK又不完完全全只包含API以及API的實現,它是一個軟件工具包,它還有很多其他輔助性的功能。

API

前端調用後端數據的一個通道,就是我們俗說的接口,通過這個通道,可以訪問到後端的數據,但是又無需調用源代碼。

SDK

工程師為輔助開發某類軟件的相關文檔、範例和工具的集合,使用SDK可以提高開發效率,更簡單的接入某個功能。

舉例說明:一個產品想實現某個功能,可以找到相關的SDK,工程師直接接入SDK,就不用再重新開發了。

什麼是API,SDK和API之間有什麼關係呢?


分享到:


相關文章: