我不知道,但似乎有不同平台的Java(Java SE,ME …)有几个solutoins,所以你必须为所有设备(iOS,Android,Windows,Linux …)编写相同应用程序的不同版本.
(甚至可以在运行Android和iOS的设备上使用Java ME吗?)
是否有Java解决方案只创建一个在所有设备上无缝运行的应用程序?或者我们是否必须为不同的设备重写应用程序?
解决方法:
我想,跨移动应用程序的未来是HTM5,CSS3和Javascript. Java(或DART)可以用作高级语言来生成Javascript.
我建议你看一下phonegap和mobilegwt的手机,以及桌面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).