繁体   English   中英

除了代码的可移植性之外,将JavaFX用于android项目而不是android UI本身有什么优势

[英]What is the advantage of using JavaFX for an android project instead of android UI itself other than portability of the code

大多数人在javafx上制作他们的android项目的原因是在不同平台上有相同的代码库(例如ios,桌面,android,甚至可能是使用Bck2Brwsr / teavm / doppio的web)

但我的问题是,与android ui框架相比,javafx ui框架本身有什么优势吗?

我从来没有为Android编写过hello world应用程序,但我打算现在就这样做。 因此,我想知道在javafx中使用代码是否值得付出努力,除了便携性的好处之外,我可以直接在android上开发。

这类问题可能会产生主观/自以为是的答案,但我认为这是一个很好的问题,所以我会提供我的评估。

  1. 在所有这些平台上拥有相同的代码库是巨大的。 不要忽视这一点。 我正在使用Gluon MobileDeep Space Trajectory Explorer (DSTE)的各个方面移植到Android和iOS。 正如您从视频中看到的那样极其复杂的应用程序。 我无法在原生Android中重写它......从成本角度来看,这是不可取的。
  2. 从JavaFX开始开发可以更轻松地制作复杂的视觉效果。 我不只是指传统的2D GUI形式。 再看看DSTE,您将看到我们使用Canvas进行密集渲染,JavaFX 3D与FXyz库一起进行3D渲染。 这些东西在JavaFX中很容易,并且在Android / iOS上再次使用Gluon只是“正常工作”。 实际上,只需要一天的时间就可以将DSTE代码库的这些方面用于Pixel C平板电脑 ,其中大部分都是正确的Gradle构建设置。 现在想象必须将3D代码从JavaFX移植到Native框架? 我是一个3D人,我仍然不会尝试。
  3. 桌面上的测试比移动设备更容易。 这并不意味着桌面上的测试是100%。 有时在桌面上工作的东西“在移动平台上无效”,你必须相应调整。 但是,您可以使用JavaFX节省大量时间站在应用程序上,因为它知道90%的应用程序在移动设备上的工作方式相同。

尽管如此......请记住桌面应用程序不是移动应用程序。 您将很想将桌面应用程序“移植”到您的设备上。 我是我的第一次。 您可以进入其他问题,您为桌面设计的接口和布局在移动设备上“工作”但不合适,因此可用性会降低。 移植时启动缓慢。 想一想应该调动桌面工作流程的哪些方面。 仅移植您在移动工作流程中绝对属于的内容。 省去一些头疼的事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM