如何使用Java开发跨平台应用程序
答案 0 :(得分:4)
由于java是独立于平台的,因此它适用于所有移动设备。所以我想在java中创建一个apllication,它应该在iOS,Android,blackberry和所有moble平台上运行。
这是基于误解。 Java对平台独立性的主张并不意味着Java将在所有平台上运行。可能有数以千计的平台类型没有也不会运行Java。
它甚至不意味着Java可以在所有移动设备上运行。
没有针对iOS的Java实现。 IIRC,Apple明确禁止/通过他们对Apple appstore的控制将其排除在外。
任何移动设备都没有Java SE,因为Oracle拒绝授予许可证......以保护Java ME。
Blackberry等是Java ME,而不是Java SE。事实上,由于不同的智能手机制造商实施了不同的Java ME“配置文件”,Java ME是分散的。
Android不是Java。 Java SE的大部分都不存在,UI库完全不同。
简而言之,你想做的事情是不现实的。
“一次编写,随处运行”的口号实际上仅适用于基于Oracle / Sun代码库的Java SE实现。即便如此,也有一些警告。
答案 1 :(得分:1)
这是一个非常误导的问题,但我会以进一步理解的精神回答这个问题,以为我担心它会很快被关闭。我希望这个问题不仅仅是拖钓。
Java“环境”不是语言与平台无关。 Java环境包含Java虚拟机和一组标准库,这些库挂钩到特定的实际运行时平台。
Java应用程序是独立于平台的,因为它将在任何存在Java“环境”的平台上运行。
Java有各种版本,例如标准版(J2SE),可以在桌面上运行。
有适用于Windows,Linux和OS X的J2SE版本,因此为此环境构建的应用程序将在所有这些平台上运行。
有一个Java(J2ME)移动版本允许应用程序在功能手机使用的几个不同操作系统中运行(假设它们具有应用程序所需的功能。)但这是因为功能手机的几个不同操作系统支持J2ME **。
唉,目前这一代智能手机的情况并非如此。所有(甚至一个)主要智能手机操作系统都不支持标准Java环境。
因此,Java目前无法用于(智能手机)移动平台独立应用程序。
**并非完全正确,因为每个操作系统似乎都有其J2ME实现的怪癖但足够接近。