用于真实跨平台应用程序/应用程序的Java解决方案(框架/库/ API)

时间:2012-12-30 15:31:12

标签: java android ios cross-platform packager

我不知道但是对于不同的平台,似乎有几种针对Java(Java SE,ME ...)的solutoins,所以你必须为所有设备(iOS,Android,Windows,Linux)编写相同应用程序的不同版本。 ..)。

(甚至可以在运行Android和iOS的设备上使用Java ME吗?)

是否有Java解决方案只创建一个在所有设备上无缝运行的应用程序?或者我们是否必须为不同的设备重写应用程序?

3 个答案:

答案 0 :(得分:3)

我只知道一种允许在Android / iOs上使用Java的解决方案 - codenameone 。不幸的是,我还没有在实践中尝试过它,但我读过几本艺术品,并对它有了很好的印象。

答案 1 :(得分:2)

我猜,跨移动应用程序的未来是HTM5,CSS3和Javascript。 Java(或DART)可以用作高级语言来生成Javascript。

我建议您查看移动设备phonegapmobilegwt以及桌面Adobe Air

您可以使用mobilegwt在Java中编写移动/桌面应用程序。然后你交叉编译不同浏览器(iphone,ipad,android,blackberry,桌面)的应用程序,并在所有平台的本机应用程序中打包javascript + html + css +图像。

您的应用程序可以从Web服务器运行(下载html,以及所有内容),或者是完全从设备运行的javascript应用程序;或者是两件事的混合:部署到本机应用程序并从设备运行的javascript应用程序,对服务器执行AJAX调用。

这些应用程序经常被称为hybrid applications

最终你可以跳过java部分并开发一个html5 + css3应用程序和带有phonegap的软件包,用于不同的平台。但我发现mobilegwt能够生成看起来像本机应用程序的混合应用程序(具有“外观和感觉”和动画很好实现)。 GWT有助于将Java语言的可伸缩性(可重用组件,工具和OO)引入Javascript。

对于桌面,您可以使用Adobe Air打包html5应用。

对于视频游戏,我认为playn值得一些关注,能够跨桌面Java,HTML5浏览器,Android,iOS,Flash(等)交叉编译游戏,并产生令人印象深刻的结果,如Angry Birds for Chrome (从Java交叉编译为Javascript)。

答案 2 :(得分:0)

Java代码被编译为保证跨平台的字节代码,即可以在任何JVM上执行。

不同的环境可以提供不同的平台相关API,并且需要额外的要求。例如,Java EE提供容器服务,并且需要编写容器管理组件(EJB,Servlet等)。但代码本身仍然是跨平台的。

尽管J2ME已经死亡,但它决定了编写MIDlet。它确实很特别:它不提供常规的JDK,所以我们不要讨论它。

在“大”Mac电脑上运行的iOS可以运行常规java。在windows或linux上运行的java。因此,代码仍然是跨平台的。