AndroidはJava言語に制限のあるJava SDKを使用しており、GoogleはそれがJavaではないと主張していることを知っています。しかし、Androidはプログラミング言語であると言うのは正しいでしょうか?または、AndroidはJavaのフレームワークであると言う方が正しいでしょうか?それとも両方とも本当ですか?
AndroidはJava言語に制限のあるJava SDKを使用しており、GoogleはそれがJavaではないと主張していることを知っています。しかし、Androidはプログラミング言語であると言うのは正しいでしょうか?または、AndroidはJavaのフレームワークであると言う方が正しいでしょうか?それとも両方とも本当ですか?
回答:
Androidは、独自のフレームワークを提供するOSです(さらに、以下をご覧ください)。しかし、それは間違いなく言語ではありません。
Androidは、オペレーティングシステム、ミドルウェア、主要なアプリケーションを含むモバイルデバイス用のソフトウェアスタックです。Android SDKは、Javaプログラミング言語を使用してAndroidプラットフォームでアプリケーションの開発を開始するために必要なツールとAPIを提供します。
Javaは、Android開発用に選択されたサポート対象言語です。Googleは、Java言語用のSDKと人気のあるEclipse Java IDE用のプラグインを作成することを選択したため、人気のある言語でAndroidアプリを作成するための簡単に利用できるツールセットがありました。
ここで紛らわしい部分は、Javaの言語とJavaの仮想マシンが異なることです。標準のJavaプログラムがPCで実行されると、Sun Microsystems Java Virtual Machineで実行するためのバイトコードにコンパイルされたコードが実行されます。基本的に、Androidにはバイトコードも実行する独自の仮想マシンがあります。Androidアプリを実行すると、Android仮想マシンが理解できるバイトコードにコンパイルされた実行中のコード。したがって、Javaは最適な言語ですが、Androidバイトコードにコンパイルする手段があれば、任意の言語でAndroidアプリを技術的に作成できます。(他の言語で利用できるツールはないと思いますが)