1. 程式人生 > WINDOWS開發 >什麼是API,SDK和API之間的關係

什麼是API,SDK和API之間的關係

一、什麼是API

API(Application Programming Interface) 應用程式介面,是一些預先定義的函式,目的是作為“介面”溝通兩個不同的東西,提供應用程式與開發人員基於某軟體或硬體得以訪問一組例程的能力,而又無需訪問原始碼,或理解內部工作機制的細節。

其實就是別人已經寫好的可以實現特定功能的函式,而你只需要根據他提供好的介面,也就是呼叫他的方法,傳入他規定的引數,然後這個函式就會幫你實現這些功能。

API的分類:

API又分為(Windows、Linux、Unix等系統的)系統級API,及非作業系統級的自定義API。作為一種有效的程式碼封裝模式,微軟Windows的API開發模式已經為許多商業應用開發的公司所借鑑,並開發出某些商業應用系統的API函式予以釋出,方便第三方進行功能擴充套件。如Google、蘋果電腦公司,以及諾基亞等手機開發的API等等。

API又分為開放式API和私有API。顧名思義,開放式API即是向所有人公開的介面,允許任何人呼叫它並獲取到它背後的資料,有時公司會將 API 作為其公共開放系統,也就是說,公司制定自己的系統介面標準,當需要執行系統整合、自定義和程式應用等操作時,公司所有成員都可以通過該介面標準呼叫原始碼,該介面標準被稱之為開放式API。私有API即介面未對外開放。

二、什麼是SDK SDK(SoftwareDevelopmentKit)軟體開發工具包,

一般是一些被軟體工程師用於為特定的軟體包、軟體框架、硬體平臺、作業系統等建立應用軟體的開發工具的集合。通俗點是指由第三方服務商提供的實現軟體產品某項功能的工具包。

通常SDK是由專業性質的公司提供專業服務的集合,比如提供安卓開發工具、或者基於硬體開發的服務等。也有針對某項軟體功能的SDK,如推送技術、影象識別技術、移動支付技術、語音識別分析技術等,在網際網路開放的大趨勢下,一些功能性的SDK已經被當作一個產品來運營。

開發者不需要再對產品的每個功能進行開發,選擇合適穩定的SDK服務並花費很少的經歷就可以在產品中整合某項功能。

三、API與SDK之間的關係 SDK相當於開發整合工具環境,API就是資料介面。在SDK環境下呼叫API資料。

實際上SDK包含了API的定義,API定義一種能力,一種介面的規範,而SDK可以包含這種能力、包含這種規範。但是SDK又不完完全全只包含API以及API的實現,它是一個軟體工具包,它還有很多其他輔助性的功能,sdk用來實現所需的邏輯,很多個邏輯都在sdk內實現,api形成介面對外提供呼叫部分功能,api對外提供的可能只是部分sdk內的功能。