我可以使用Java构建跨平台移动应用程序吗?

时间:2016-03-25 03:00:34

标签: java mobile platform

我读过一篇关于Xamarin正在购买RoboVM并使开发人员能够用Java编写跨平台移动应用程序的文章。我不确定现在是否可以使用Java来开发跨平台的移动应用程序。有没有可靠的工具,我可以用Java编写跨平台移动应用程序开发?仅针对潜在的跨平台移动应用程序选择Java是一个不错的选择吗?我不考虑为此目的使用C,C ++,C#,因为我从未专注于其中一个。我为那些语言的粉丝道歉。或者,我最好使用Java for Android应用程序和Swift for iOS应用程序?我计划选择Java作为所有Web应用程序,跨平台移动应用程序和机器人编程开发的主要语言。

3 个答案:

答案 0 :(得分:6)

我已经使用Codename One了很长一段时间了。 Libgdx并不是一个选项,因为我不是游戏开发者。

在选择Codename One之前,我在RoboVM上玩了一下,看起来它更多的是关于iOS的Java而不是关于WORA(Write Once Run Anywhere)。如果这是你想要的,但我更喜欢WORA,这对你来说可能是一个不错的选择。我尝试了RoboVM FX绑定,它们在基本方面可怕地被打破了。

我喜欢Codename One的一些事情是:

  1. 支持 - 我从未使用过如此惊人的免费支持的产品。你最迟会在一天之内得到答案,这对我来说真的很重要。

  2. 不需要Mac - 我在家里使用Mac,但在办公室我需要一台PC。

  3. 自定义和熟悉 - 这几乎是Swing但是更好。就像我们一直希望Swing一样......

  4. 以前的文档非常糟糕,但是它们对它进行了很大的推动。现在,只要他们能够将IntelliJ / IDEA插件修复到NetBeans插件的级别,我就是金色的!

答案 1 :(得分:0)

据我所知,他们与Java不兼容,但他们声称,如果你了解Java,你就可以使用C#。

我在他们的网站上发现很少有关于过渡的有趣的奇怪的事实...... source

  • 在Java中,您只能通过值传递参数,而在C#中,您可以通过引用和值传递。 (C#提供了refout关键字,用于通过引用传递参数; Java中没有这些关键字。
  • 在Java switch语句中,代码可以进入下一个case部分,但在C#中,每个switch部分的结尾都必须终止switch(每个部分的结尾必须以break语句结束。
  • ....

答案 2 :(得分:0)

根据您尝试撰写的内容,libgdx可能是一个很好的解决方案。

您在java中编写一次代码,它基本上编译为所有内容(甚至是html5!)

您必须遵守其编码惯例并使用它的类。 (这对于游戏开发来说非常棒,对其他东西来说并不是很重要......但是你仍然可以随心所欲地做任何事情。)