Android の仕組みに関するいくつかの説明:
Google が Java を選択したのは、アプリケーションをプラットフォームから独立して実行できるようにするためです。
現実は少し異なります。実際、Android が Java コードで行うことを考慮すると、Google はプラットフォームに依存しない他のプログラミング言語 (C を含む) を選択することもできたはずです。つまり、コードを「プラットフォームに依存しない方法で実行できる」ということは、仮想マシンを使用する。
正確には、Java は仮想マシンを使用するため、Google は Java をマシン アーキテクチャに依存しないように使用していると言えますよね。
いいえ…いいえ、なぜならGoogle は Java 仮想マシンを使用しません… Google は Android 用に独自の仮想マシンを作成しました。Dalvik 仮想マシン。
通常、Java でコーディングすると、ソース コードは次のように変換されます。バイトコードジャワ。 Android 用のアプリを開発する場合、これは起こりません。
はい、ソース コードはバイトコードにコンパイルされますが、Java バイトコードにはコンパイルされません。これは Google 独自のバイトコードです。次に、このバイトコードは、低電力プラットフォーム用に最適化された仮想マシンである Dalvik 仮想マシンによって実行されます。ツール –DX– Android SDK に含まれているため、標準の Java クラスを特別なクラスに変換します。.dex。
これはすべて、たとえば、この言語がバイトコード形式でコンパイルされていれば、C または .Net でコーディングできた可能性があることを意味します。
しかし、それではなぜ Java を使用するのでしょうか?
Android フレームワークに Java を使用することには、非常に重要な関心があります。携帯電話アプリケーション開発者のコミュニティ全体を惹きつける、そして何よりもこの分野での彼らの経験。実際、後者は既に Java で動作しており、この言語、この構文、この考え方 (話し言葉またはコード化された言語は考え方に影響を与えるため) などに慣れています。彼らを急かして彼らの怒りを買うのではなく、彼らを喜ばせるためにあらゆることをしたほうがよいでしょう。
最後にライセンスについて:
Java は無料ですが、「java」という用語には、その開発を管理する委員会によって課せられる多くの条件(主に Java 標準の尊重)が課されており、さらに「java」は商標です。したがって、Google はこの用語についてあまり広めることには興味がありません。ライセンスと Google との関係に関する Google の選択について詳しく説明します。太陽今後の記事で。