繁体   English   中英

JavaFx与TornadoFx

[英]JavaFx vs TornadoFx

我已经开始研究javafx 我想知道javafxTornadofx之间的区别。 它们如何相互关联,彼此不同。

还在何时使用什么。

是否有任何情况下javafxTornadofx更有用/建议使用,反之亦然?

JavaFX更像是一个工具包(它具有构建GUI所需的所有基础)。 它是一个功能完整的“工具包”,但它非常冗长,语法包含样板代码,这使得它很难维护。 这就是TornadoFX的用武之地.TornadoFX就像一个基于该工具包的框架,它取消了所有样板代码,并使GUI构建声明,使其类似于HTML。

此外,即使可以从Java使用TornadoFX,它也可以在Kotlin中使用(JavaFX也可以在Kotlin中使用,没有任何问题)。

TornadoFX简化并简化了GUI构建过程(使代码更清晰),但它“使用JavaFX”,因此可以与JavaFX互操作。 例如,您可以使用纯JavaFX代码创建窗口小部件,然后在TornadoFX中使用它,或者,例如,在TornadoFX中创建整个窗口,然后从JavaFX调用它。

这里的主要内容是TornadoFX不以任何方式限制JavaFX,您仍然可以从TornadoFX获得低级JavaFX。

除了GUI构建器之外,TornadoFX还包含有用的工具,如ViewModel类,它们分离GUI和逻辑(可用,但不以任何方式强制),以及一些其他有用的工具。

就个人而言,我总是使用TornadoFX,因为它使代码非常简洁,易于维护,同时,JavaFX的任何功能都不会丢失。

目前接受的答案没有回答这一部分

是否存在javafx比Tornadofx更有用/建议使用的情况

接受的答案是,对于标准的简单GUI,Kotlin与TornadoFX相结合将使您快速运行。 这是真的。 直接JavaFX更好的一些例子:

  • JavaFX 3D子场景
  • 与Swing的互操作(我不知道你怎么会在这里使用Kotlin,但也许TornadoFX本身可以工作)
  • 基于画布的渲染
  • 高性能自定义事件处理

显然,这些场景并不代表大多数GUI应用程序,而是高性能和自定义渲染类型应用程序。 所以一般来说,如果你是从头开始...即......你还不熟悉JavaFX,那么使用TornadoFX是一个很好的起点。

在那个选择使用Kotlin作为起点的说明也很有趣。 我个人认为它不仅仅是在JavaFX中写作有利,但我对JavaFX有很多经验,所以我可能会有偏见。 此外,虽然你没有被迫这样做...但是在没有smartJ的情况下开发kotlin是痛苦的,这也是该公司制定Kotlin的计划的一部分。

所有这些说:

并且语法包含样板代码

这在某种程度上是正确的,并且Tornado确实通过强制您通过标准化的API集来减少样板。 但...

这使得它很难维护。

我不同意。 维护并不“难”。 它是您复制/粘贴一次的代码,可能永远不会再次更改。 在将“鱼雷”射入我们演出的一侧时,我们不应该急于以“可维护性”的名义模糊和封装我们代码库中的每个最后一个ASCII字符。

暂无
暂无

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

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