原生開發工具包

原生開發工具包(英語:native development kit,簡稱NDK)是一種基於原生程式接口軟體開發工具。通過此工具開發的程式直接以本地語言運行,而非虛擬機。因此只有java等基於虛擬機運行的語言的程式才會有原生開發工具包。

基本介紹

  • 中文名:原生開發工具包
  • 外文名:nativedevelopmentkit
  • 縮寫:NDK
  • 領域:計算機
優勢,劣勢,原理,舉例,軟體開發工具包,應用程式接口,

優勢

由於基於虛擬機的語言在運行上比基於C語言c++的效率低,因此通過NDK編譯的原生程式不僅可以在特定的環境下工作,且能維持運行的高效率。並且通常只要硬體允許,NDK可以兼容任何C語言的庫,因此在功能上彌補了一些SDK開發的不足。

劣勢

雖然NDK的程式運行效率更高,但既然軟體本身使用虛擬機語言開發一定在開發效率上有優勢。因此相對而言在NDK上開發程式的難度比SDK上要高。

原理

基於java的軟體NDK通過JNI進行調度,由於java語言支持調用C/C++動態程式庫,因此可以令java 的程式執行部分C語言代碼,這為NDK的使用提供了可能。

舉例

常見的原生開發工具包有Android的NDKwebOS

軟體開發工具包

軟體開發工具包SoftwareDevelopmentKit,SDK)一般是一些被軟體工程師用於為特定的軟體包軟體框架、硬體平台、作業系統等創建套用軟體的開發工具的集合。
它或許只是簡單的為某個程式語言提供應用程式接口的一些檔案,但也可能包括能與某種嵌入式系統通訊的複雜的硬體。一般的工具包括用於調試和其他用途的實用工具。SDK還經常包括示例代碼、支持性的技術註解或者其他的為基本參考資料澄清疑點的支持文檔。
軟體工程師通常從目標系統開發者那裡獲得軟體開發包。為了鼓勵開發者使用其系統或者語言,許多SDK是免費提供的。SDK經常可以直接從網際網路下載。有時也被作為行銷手段。例如:甲產品或許會免費提供構件SDK以鼓勵人們使用它,從而會吸引更多人由於能免費為其編程而購買其構件。
SDK可能附帶了使其不能在不兼容的許可證下開發軟體的許可證。例如一個專有的SDK可能與自由軟體開發牴觸。而GPL能使SDK與專有軟體開發近乎不兼容。LGPL下的SDK則沒有這個問題。

應用程式接口

應用程式接口(英語:ApplicationProgrammingInterface,簡稱:API),又稱為套用編程接口,就是軟體系統不同組成部分銜接的約定。由於近年來軟體的規模日益龐大,常常需要把複雜的系統劃分成小的組成部分,編程接口的設計十分重要。程式設計的實踐中,編程接口的設計首先要使軟體系統的職責得到合理劃分。良好的接口設計可以降低系統各部分的相互依賴,提高組成單元的內聚性,降低組成單元間的耦合程度,從而提高系統的維護性和擴展性。

相關詞條

熱門詞條

聯絡我們