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

O C*_*nor 7 java mobile platform

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

Der*_*son 7

我已经使用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一样......

这些文档曾经很糟糕,但是它们对它进行了很大的推动.现在,只要他们能够将IntelliJ/IDEA插件修复到NetBeans插件的级别,我就会变得金黄!


Ben*_*ldt 0

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

我在他们的网站上发现了一些关于过渡的有趣的奇怪事实......来源

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