什麼是 Android NDK

http://www.powenko.com/wordpress/%E4%BB%80%E9%BA%BC%E6%98%AFandroid-ndk/

Android NDK (Native Development Kit) 簡化工作與機器底層的程式碼。並且可以與CPU(ARM)和繪圖晶片做溝通。它的目的是幫助您創建 Lib,你可以把它想成是 Android C 的函式庫 Lib。

大多數的開發者都是使用 Android SDK 來設計應用程式,它是一個以 JAVA 為基礎的程式語言,但是在開發大型專案和較複雜的應用程式時,會因為 JAVA 的速度或者與系統底層溝通的因素,會遇到很多問題。

如果要邁向頂尖的 Android 開發者,很多時候是需要使用 C 語言來開發,尤其是 Android 系統底層的功能,真的很難用 JAVA 寫的出來,所以要對整個 Android 系統深度了解,還是需要C 語言。

比較項目Android SDKAndroid NDK
程式語言JAVAC
執行速度
與底層Linux 溝通 如 ls, mkdir Linux 指令沒有相對的API
直接呼叫linux driver沒有直接的API,需要透過HAL 的寫法,較為複雜
Users Interfae 使用者操作介面需要依賴SDK
GPS, 撥號, 地圖需要依賴SDK
跨平台開發只有在Android 平台上可以跨平台Android, iOS
Windows Phone
開發環境Eclipse 開發環境無,需透過指令 Terminal



程式語言編年史

程式語言編年史原文 下面這張圖片描繪了整個程式語言的歷史。包括各種程式語言的發明人、程式語言的特點和適用領域、被什麼網站或公司使用等 (檢視 完整高清圖 )。 之所以會有那麼多不同的程式語言是因為設計程式語言的初衷不同、對語言學習曲線的追求不同、不同程式之間的執行成本差異...