javafx - Kotlin FX - TornadoFx 应用程序可以部署为网络应用程序吗?
问题描述
我对 Kotlin GUI 系统很感兴趣,我发现了 Tornado FX。
我注意到我们可以将 javaFX 应用程序转换为 web 应用程序,所以我的问题是:我们可以对 Tornado FX 做同样的事情吗?如果可以,我们应该怎么做?
解决方案
你可以用 JavaFX 做的任何事情,你都可以用 TornadoFX 做,因为它基本上是 JavaFX 之上的更高级别的 API。
JavaFX 本身没有针对 Web 的呈现功能,但 JPro 相当巧妙地通过使用 WebSockets 将 JavaFX UI 作为 SVG 直接“呈现”到浏览器来实现这一点。
事实上,TornadoFX 具有特殊的支持,可以更轻松地创建基于 JPro 的应用程序。
您的出发点是https://www.jpro.one/
TornadoFX 指南还包含有关如何使用 JPro 的信息:
https://github.com/edvin/tornadofx-guide/blob/master/part2/Scopes.md#using-tornadofx-with-jpro
JPro 是一种商业产品,在撰写本文时(2018 年 11 月 20 日),一台具有 8GB 内存的服务器每月起价为 99 欧元。每个用户都将获得他们自己的应用程序实例,尽管仍然在同一个 JVM 中运行。
虽然这个系统运行得非常好,但它最适合客户端和服务器之间存在低延迟且最好是高带宽的情况,因为每个事件都将通过 WebSocket 连接传输。对于面向公众的网页来说,这通常是一个糟糕的选择,但它是可行的。事实上,http://jpro.one实际上是一个 JavaFX 应用程序!
免责声明:我不隶属于 JPro,我只是告诉您有关通过浏览器提供 JavaFX 应用程序的(唯一)方法。
推荐阅读
- python - 如何使用 tkinter 在 python 中选择多个文件或整个文件夹(显示它包含的所有文件的名称)?
- python - 用于抓取多个页面标题的 Python 问题
- python - 搜索栏带来空白结果页面
- jquery - 通过ajax刷新后重新绑定jquery插件
- r - 无法使用 ggPredict 可视化线性回归
- java - 如何在 IntelliJ 中将目录转换为包
- python - 使用 Plotly add_trace go.scatter for-loop 填充仅具有唯一跟踪名称的图例
- spring-boot - 使用 DiscoveryClient 读取 Eureka 服务器实例的问题
- python - 有没有办法从 PHP 7.4.7 调用 Python3 函数?
- python - 如何拆分数据集并将其与 LSTM seq2seq 模型一起使用?