4、没有Java虚拟机,JavaFX不能运行在Android上 我希望有人能通过一个例子来证明这个观点是错误的。我曾经与我的朋友讨论过关于让JavaFX在Android运行这个问题。简而言之,在Android上使用JavaFX唯一实用的方式就是在Android上运行一个Java虚拟机。Android的交叉编译特点将非常复杂的扩展到JavaFX。如上所述,JavaFX不仅仅是一个库,而是一个完全不同的被编译成Java字节码的语言。因此,Android编译器将不得不进行大量的工作来将一个Java/JavaFX应用程序移动到一个非Java虚拟机上。这并非不可能,但是却很难。因此,简单重申一下,你可以在Android上运行JavaFX,但是你需要一个Java虚拟机 5、并非绝大多数设备都支持Java Sun喜欢自称Java已经在数十亿设备上使用。尽管单纯从数学角度讲着可能是真的,但实际上并没有这么多的开发者真正关注移动Java。现在到处是iPhone、Android、Plam Pre和移动Web。这些大名鼎鼎的手机多数并不默认支持Java,安装一个Java运行时环境可能是一件比较麻烦的事情。举例来说,以下手机就没有确定的Java虚拟机支持:iPhone、Android G2/HTC-Magic和Treo 750 WinMobile(至少我在自己老版本的Tre 750 WinMobile上没有发现它)。而J2ME市场相当分散。当你在手机开发一个Java应用时,很难测量它究竟可以用在哪些手机上。具有讽刺意味的是,由于JavaFX需要运行最近、最庞大的Java虚拟机,它甚至不能运行在众多J2ME设备上。(对此持不同观点的朋友可能会说诺基亚和多数索爱手机都支持Java) 作为一个软件架构师/企业家,我的确喜欢使用Java,但是我讨厌夸大事实。我非常希望Java和JavaFX能够在移动和PC市场上都取得成功,但是作为一个社区,如果希望达到目标,我们需要客观的认清当前的实际情况。在这一方面我同意斯科特的观点:如果拉里设法说服苹果总裁乔布斯让iPhone支持Java,它肯定将是一个游戏改变者(然而,这可能有悖苹果的“围墙”策略。) 原文欣赏:http://openwebdeveloper.sys-con.com/node/994363 |