-5

Java を使用してクロス プラットフォーム アプリケーションを開発する方法

4

2 に答える 2

4

Java はプラットフォームに依存しないため、すべてのモバイル デバイスで動作します。したがって、Java でアプリケーションを作成し、iOS、Android、ブラックベリー、およびすべてのモバイル プラットフォームで実行する必要があります。

これは誤解に基づいています。プラットフォーム非依存という Java の主張は、Java がすべてのプラットフォームで実行されることを文字通り意味するものではありません。Java を実行しない、または実行する予定のないプラットフォーム タイプは、おそらく数千に上ります。

Java がすべてのモバイル デバイスで動作するという意味でもありません。

  • iOS 用の Java の実装はありません。IIRC、Apple は、Apple アプリストアの管理を通じて明示的に禁止/除外しました。

  • オラクルはライセンスの付与を拒否しているため、モバイルデバイス用の Java SE はありません... Java ME を保護するためです。

  • Blackberry などは Java SE ではなく Java ME です。実際、Java ME は、さまざまなスマートフォン メーカーが Java ME のさまざまな「プロファイル」を実装しているため、断片化されています。

  • Android は Java ではありません。Java SE の大部分は存在せず、UI ライブラリは完全に異なります。

要するに、あなたがしたいことは現実的ではありません。


「一度書けば、どこでも実行できる」というスローガンは、実際には、Oracle / Sun コードベースに基づく Java SE 実装にのみ適用されます。その場合でも、注意事項があります。

于 2013-01-11T06:03:12.287 に答える
1

非常に的外れな質問ですが、近いうちに閉鎖されるのではないかと思い、理解を深めたいという気持ちでお答えします。質問が単なるトローリングではなく本物であることを願っています。

Java は言語ではなく「環境」であり、プラットフォームに依存しません。Java 環境には、Java 仮想マシンと、特定のリアルタイム ランタイム プラットフォームにフックする一連の標準ライブラリが含まれています。

Java アプリケーションは、Java「環境」が存在する任意のプラットフォームで実行されるという意味で、プラットフォームに依存しません。

Java には、デスクトップで実行することを目的とした Standard Edition (J2SE) など、さまざまなエディションがあります。

Windows、Linux、および OS X 用の J2SE ビルドがあるため、この環境用にビルドされたアプリケーションは、これらすべてのプラットフォームで実行されます。

多機能携帯電話で使用されるいくつかの異なる OS でアプリケーションを実行できるようにする Java のモバイル版 (J2ME) があります (アプリケーションに必要な機能が OS にあると仮定します)。ただし、これは、多機能携帯電話用のいくつかの異なる OS が J2ME** をサポートしているためです。

残念ながら、これは現在の世代のスマートフォンには当てはまりません。主要なスマートフォン OS のすべて (または 1 つでも) でサポートされる標準の Java 環境はありません。

そのため、Java は現在 (スマートフォン) モバイル プラットフォームに依存しないアプリケーションには使用できません。

** 各 OS には J2ME 実装の癖があるようですが、十分に近いため、完全に正しいわけではありません。

于 2013-01-11T05:51:28.760 に答える