<progress id="nc499"><pre id="nc499"><rt id="nc499"></rt></pre></progress>

<dd id="nc499"><track id="nc499"><dl id="nc499"></dl></track></dd>
  • <nav id="nc499"></nav>

    <span id="nc499"></span>

    什么是SDK

    來源:簡書 2021-03-31 14:18:06

    一、SDK(Software Development Kit,軟件開發工具包)

    1、SDK是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統等創建應用軟件的開發工具的集合。它可以簡單的為某個程序設計語言提供應用程序接口API的一些文件,但也可能包括能與某種嵌入式系統通訊的復雜的硬件。SDK還經常包括示例代碼、支持性的技術注解或者其他的為基本參考資料澄清疑點的支持文檔。

    2、最開始的時候,API的集合我們就稱之為SDK,例如mac提供的API集合,就稱之為mac SDK。隨著時間的演化,現在的SDK指的是以一組Api作為輸入,以另外一組Api作為輸出的中間件。

    3、例如,新浪微博提供了一組Http請求形式的Api。由于現如今構造Http請求也算是一件麻煩事,所以逐漸就有了“新浪微博iOS SDK”。這個SDK封裝新浪微博的Http接口,提供了一組Objective C或者Swift形式接口。

    什么是SDK

    二、系統與SDK

    1、Windows:


    DLL(Dynamic Link Library,動態鏈接庫,格式為.dll)也是一種可執行文件格式,跟.exe文件不同的是,.dll文件不能直接執行,它們通常由.exe在執行時裝入,內含有一些資源以及可執行代碼(API函數的執行代碼)等。為了使用DLL中的API函數,我們必須要有API函數的聲明(.H)和其導入庫(.LIB),導入庫是為了在DLL中找到API的入口點而使用的。

    所以,為了使用API函數,我們就要有跟API所對應的.H和.LIB文件,而SDK正是提供了一整套開發Windows應用程序所需的相關文件、范例和工具的"工具包"。由于SDK包含了使用API的必需資料,所以人們也常把僅使用API來編寫Windows應用程序的開發方式叫做"SDK編程"。

    2、IOS(URL Scheme):


    iOS是一個封閉的系統,蘋果選擇沙盒來保障用戶的隱私和安全,App只能訪問自己的沙盒,但同時也阻礙了應用間合理的信息共享。沙盒機制(SandBox)是一種安全體系,它規定了應用程序只能在為該應用創建的文件夾內讀取文件,不可以訪問其他地方的內容。所有的非代碼文件都保存在這個地方,比如圖片、聲音、屬性列表和文本文件等。

    應用程序通過各個APP設計的符合蘋果的統一規范的URL Scheme,來實現信息的傳。URL Scheme是為方便app之間互相調用而設計的。如果一個App需要提供一個供別的App訪問的功能或者數據,那么必須在App定義一個相對應的URL Scheme。你可以通過一個類似URL的鏈接,通過系統的OpenURl來打開該app,并可以傳遞一些參數。

    每個URL必須能唯一標識一個APP,如果你設置的URL與別的APP的URL沖突,此時,你的APP不一定會被調用起來,原因是當APP在安裝的時候就已經在系統里面注冊了此APP的URL Scheme,如果你的一致但是是后安裝的,那么系統不會調用你的APP,因為你的APP設置的URL scheme被覆蓋了。

    3、Android:


    在Android平臺上開發Android App,我們必須從官網下載Android SDK,然后利用這套SDK提供的API來調用系統能力,比如我通過Android SDK來調用系統屏幕一直「常亮」的功能,如果沒有這個工具箱提供的這個工具,那就無法實現這個功能了。

    原文出處:https://www.jianshu.com/p/fb23ee3066f9
    版權聲明:本文來源地址若非本站均為轉載,若侵害到您的權利,請及時聯系我們,我們會在第一時間進行處理。