SDK == Software development kit
NDK uses native code languages like c and c++. Using native code in android does not increase the performance but increases the complexity. Therefore most of the applications does not need NDK for development. SDK is written using java programming language and runs on Dalvik virtual machine (DVM). It consists of libraries, sample codes, development tools. Mostly NDK is used for accessing things from a lower level, finally to be able to port c/c++ code from different projects.
Basically NDK is a powerful tool in the development of mobile applications. Especially if you want to develop a multi-platform application, the NDK is unbeatable in this domain. Since the same code written in C++ for Android can be easily ported and run the same way on the iOS, Windows or any other platform without changing the original code. Which actually save a lot of time in the development of applications which are developed for being run on multiple platforms; as games and other classic applications. Thing you cannot do with the SDK.
The NDK is much more limited in terms of functionality.
What you do get from the NDK is the ability to write your app in C++ and compile it to native ARM code. If you like C++ better than Java, if you have an existing C++ app that you want to port to Android, or if you just need the extra performance that only native code can offer, then by all means you should use the NDK.
I haven't done this myself, but another alternative is to write hybrid app, where the app is written mostly in Java, with selected functions written in C++ that are called from the Java code.
No comments:
Post a Comment