こんにちは。
初めましてikyuuです。
テックファームでは主にAndroidを始め、スマートフォンアプリの開発を担当しています。
今回から数回に渡り、私の方からAndroid NDKについての開発のノウハウを紹介します。
初回の今回は、Android NDKについて紹介したいと思います。
Android NDK(Android Native Developer Kit)はその名の通り、Native層と言われる、よりハードウェアに近いレベルのAPIを使うための開発環境になります。
開発言語はAndroid SDKと異なり、C++で開発します。
では、どんな場面でNDKで開発する場面があるのでしょうか?
具体的には以下が考えられます。
- CGを多用したゲームアプリ
- 映像や音声のストリーミング配信アプリ
- 加速度センサーやジャイロセンサーを多用したアプリ
上記はAndroid SDKを使用して開発する事も可能です。
しかし処理速度等を考慮した場合、Android SDKよりもAndroid NDKで開発する事でアプリのパフォーマンスを向上させる事が出来ます。
最近ではCocos2d-xなどマルチプラットフォームで使用可能なライブラリも多数存在します。
これらのライブラリの多くはC++で実装されているため、Android NDKを使用して組み込む事が可能です。
またiOSやTizenなどの他のプラットフォームも含めたマルチプラットフォームでアプリの開発する場合、Android SDKだけでなくAndroid SDK+NDKというハイブリッドな構成で開発することが必要になると思います。
アプリを開発する際にAndroid SDKだけでなく、今後はAndroid NDKの開発についても視野に入れてはいかがでしょうか?
次回はAndroid NDKの環境構築についてご説明します。
ではでは。