更新(明確にするため、およびあいまいさを減らすため):
私はAndroidアプリをいじり始めるつもりです。私は NDK を使用して C++ で書くことを計画していました (私は C++ の経験が豊富で、Java よりも C++ を好むため) が、Android NDK ページで次のことに遭遇しました。
アプリに不可欠な場合にのみ NDK を使用してください。<strong>単純に C/C++ でプログラミングすることを好むからではありません。
仕事に適している限り、好きな言葉を使うべきだという印象を受けました。Android開発にC/C++を使用しないことが非常に強く推奨されている理由を誰かが説明できますか?
オリジナル:
モバイル アプリ、特に現在の携帯電話の OS である Android をいじり始めるつもりです。C++ でアプリを作成する (または少なくともコアを Java でラップする) ことが許容されるオプションであるかどうか疑問に思っていました。
いくつかの背景として、私はコンピューターサイエンス専攻で、3 つの C++ コース (入門、中級、OOP、および春に STL コースを受講中) を受講し、Java コース (中級) は 1 つだけです。このため、私は C++ に慣れており、Java よりも C++ の方が好きです。Android NDKページで次のことに遭遇しました:
通常、Android でネイティブ コードを使用してもパフォーマンスが大幅に向上することはありませんが、常にアプリの複雑さが増します。一般に、アプリに不可欠な場合にのみ NDK を使用する必要があります。<strong>単純に C/C++ でプログラミングすることを好むからではありません。
- 慣れ親しんだ言葉だけでなく、仕事に合った言葉を使うべきだという印象を受けました
- iOS など、C++ をサポートするが Java をサポートしない別のモバイル プラットフォームにアプリケーションを移植したい場合があります。
- Java は高水準言語であるため、開発はより迅速に行われるはずですが、ほとんどすべてを再学習する必要があるため、開発が遅くなるように感じます (この言語のクラスは 1 つしか受けていないため)。
アドバイスをいただければ幸いです。
ps: この件に関する回答の多くは何年も前のものであり、Android 2.3 以降での完全なネイティブ アプリの開発を可能にする NDK について言及しているフォローアップの回答はほとんどありません。