• ベストアンサー

JavaFX アンドロイドスタジオ

アンドロイドスタジオで使われているJavaは「JavaFX」とはまた違うものなのでしょうか? android.java swing.java JavaFX はそれぞれ別物なんでしょうか? プログラミング初心者です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まず、スタンダードなJavaから説明しますと 「Java(無印)=Java1」は(ボタンなどの)GUI(Graphical User Interface)はAWTコンポーネントであり、それはブラウザの機能を使っていたのでブラウザごとに挙動が違うと言う問題点がありました。 「Java2(確か「Java SDK 1.2」以降だったか…)」では、その問題点を踏まえ(ボタンなどの)GUI(Graphical User Interface)にSwing(GUIシステム)を導入しました。 「JavaFX(無印)=JavaFX1」はスタンダードなJavaとは全く別物であり、そのためにJavaプログラマーを完全に置き去りにしてしまい、泣かず飛ばずでした。 (問題が発生します)Androidアプリ開発用言語としてグーグルが勝手にスタンダードなJavaとはAPI(Application Programming Interface)が全く別物のJava"互換"言語(シンタックスに非常に高い互換性がある)を"Java"と呼称します(それはガーベージ・コレクションも無かった)。 グーグルが"Java"と呼称する開発言語は、スタンダードなJavaではないので当然 (勝手に"Java"と言う名前を使うなと)問題になりました。 (Javaを開発した)Sun Microsystemsは2010年1月27日にOracle(オラクル)に買収され、スッタモンダのあげく、Oracle(オラクル)が方針転換し、スタンダードなJavaとはAPI(Application Programming Interface)が全く別物のJava"互換"言語(シンタックスに非常に高い互換性がある)をJavaFX2とする事で合意します(これでグーグルは正式に"Java"の名前を使えるようになりました)。 ちなみに(そのような経緯のために)「JavaFX(無印)=JavaFX1」と「JavaFX2」は全く別物です(それはガーベージ・コレクションも導入されました)。 「JavaFX2」の定義はスタンダードなJavaとはAPI(Application Programming Interface)が全く別物のJava"互換"言語(シンタックスに非常に高い互換性がある)を「JavaFX2」としました(Android Java以外でも作って良いと言う事になります)。 つまり、Android Javaとは正式には「JavaFX2」と言う事になりますが、その辺の経緯を知らない人に(「Android Java」を)「JavaFX2」とか言っても通じないので「Android Java」と呼称して下さい。 ちなみに「Android Java」はスタンダードなJavaとシンタックスに非常に高い互換性がありますが、(現時点では)完全に100%互換と言う訳ではありません(当然スタンダードなJavaとはAPI(Application Programming Interface)が全く別物です)。 ちなみに(シンタックスではありませんが)基本的な仕様のカラーがスタンダードなJavaはオブジェクト、Android Javaは整数になっているので、勘違いしやすいです。

その他の回答 (1)

回答No.2

>「Android Java」はスタンダードなJavaとシンタックスに非常に高い互換性がありますが、 >(当然スタンダードなJavaとはAPI(Application Programming Interface)が全く別物です)。 その辺はimportするパッケージ名を比較してみれば一目瞭然でしょう。

関連するQ&A