Java を使用してクロス プラットフォーム アプリケーションを開発する方法
2 に答える
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 実装にのみ適用されます。その場合でも、注意事項があります。
非常に的外れな質問ですが、近いうちに閉鎖されるのではないかと思い、理解を深めたいという気持ちでお答えします。質問が単なるトローリングではなく本物であることを願っています。
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 実装の癖があるようですが、十分に近いため、完全に正しいわけではありません。