JavaFx, TornadoFX

c
chebyshev
楼主 (未名空间)

本来我在看javascript,HTML5做桌面软件这块。
后来看很多资料讲electron问题非常多。
(这方面有点意见不一。同样是electron的软件。
postman,atom editor是两个很慢的前端。vs code倒是很好。
不知道诀窍何在。总体上来说骂electron的人很多)。

找来找去,也写了些测试小软件。后来发现居然还是javaFX很好。
自带的webview稳定(可能不够丰富),社区大,问问题有人回答。

还有个go webview的项目看着也不错。
但是我自己的golang写的web后端,吐出来的html
居然不认识(javaFX展示的很好)。可能这个项目还处在早期。

唯一可虑的,就是javaFX会不会像adobe Flash,MS silvelight那样
中间死掉(维护一个webview费用很高)。

好在,现在github有个TornadoFX项目,挂在openJDK上,看着也很好。

总之,桌面app内嵌webview的工具,目前我调研的结果,就是javaFX/TornadoFX最合用。
诸位怎麽看?
s
sanwadie

以后还有个选择:flutter。桌面支持目前还在Alpha阶段,但我已经用它弄了个工具,出6端:
iOS、安卓、MacOS,Linux Desktop、PC、Web,界面元素没有任何问题,但很多Plugin只支持部分平台。

项目进度给人感觉很快,有一桶浆糊多趋势,很适合我这种没有耐心琢磨界面的人 。
唯一的缺点是,狗家的产品,后续支持不好说。

g
guvest

不错。谢谢分享经验。以前的Flash, Silverlight都是说死就死了。我也担心flutter
会有一天走这条路。electron 的设置我觉得挺好,和web 前端技术挂钩。web 前端不
会死,而且会更繁荣。flutter的webview质量怎么样?

【 在 sanwadie(三娃爹) 的大作中提到: 】
<br>: 以后还有个选择:flutter。桌面支持目前还在Alpha阶段,但我已经用它弄了个
工具,
<br>: 出6端:
<br>: iOS、安卓、MacOS,Linux Desktop、PC、Web,界面元素没有任何问题,但很多
Plugin
<br>: 只支持部分平台。
<br>: 项目进度给人感觉很快,有一桶浆糊多趋势,很适合我这种没有耐心琢磨界面的
人 。
<br>: 唯一的缺点是,狗家的产品,后续支持不好说。
<br>

r
repast

CEF呢?

【 在 chebyshev (......) 的大作中提到: 】
: 本来我在看javascript,HTML5做桌面软件这块。
: 后来看很多资料讲electron问题非常多。
: (这方面有点意见不一。同样是electron的软件。
: postman,atom editor是两个很慢的前端。vs code倒是很好。
: 不知道诀窍何在。总体上来说骂electron的人很多)。
: 找来找去,也写了些测试小软件。后来发现居然还是javaFX很好。
: 自带的webview稳定(可能不够丰富),社区大,问问题有人回答。
: 还有个go webview的项目看着也不错。
: 但是我自己的golang写的web后端,吐出来的html
: 居然不认识(javaFX展示的很好)。可能这个项目还处在早期。
: ...................

c
chebyshev

electron所也是用的Chromium ,跟CEF是不是一回事?
这我不懂。你说说这是怎么回事
【 在 repast (xebec) 的大作中提到: 】
: CEF呢?

d
dracodoc

TornadoFX 是用Kotlin的
有大公司在支持,JavaFX肯定能活很久,但是真正用的恐怕比较少,一般都是内部使用。没见过什么针对一般用户的。
其实以前swing就不错了,可以做到很好看,性能也不差,比如IntelliJ。但swing要用好比较难。
我以前用groovy, swingbuilder,还有个layout DSL,写界面很简单,比目前这些
javaFX, css什么的都简洁。

css写界面其实挺费劲的,什么都能做到,什么都得去查,没有个系统的逻辑一致的结
构,然后大家觉得还是需要完全的编程语言,又搞css生成器

最后的结论就是,桌面端没有特别好的方案,自己做,只能凑合着选一个,看对哪个技术熟悉了,Java的话Java体系,web的话前端,还有QT之类。

【 在 chebyshev (......) 的大作中提到: 】
: 本来我在看javascript,HTML5做桌面软件这块。
: 后来看很多资料讲electron问题非常多。
: (这方面有点意见不一。同样是electron的软件。
: postman,atom editor是两个很慢的前端。vs code倒是很好。
: 不知道诀窍何在。总体上来说骂electron的人很多)。
: 找来找去,也写了些测试小软件。后来发现居然还是javaFX很好。
: 自带的webview稳定(可能不够丰富),社区大,问问题有人回答。
: 还有个go webview的项目看着也不错。
: 但是我自己的golang写的web后端,吐出来的html
: 居然不认识(javaFX展示的很好)。可能这个项目还处在早期。
: ...................

s
sanwadie

Webview 没用过。应该就是native web view 套个马夹。最近还发现若干个responsive plugin,能凑合着用

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 不错。谢谢分享经验。以前的Flash, Silverlight都是说死就死了。我也担心
flutter
: 会有一天走这条路。electron 的设置我觉得挺好,和web 前端技术挂钩。web 前端不
: 会死,而且会更繁荣。flutter的webview质量怎么样?
:
: 以后还有个选择:flutter。桌面支持目前还在Alpha阶段,但我已经用它
: 弄了个
: 工具,
:
: 出6端:
:
: iOS、安卓、MacOS,Linux Desktop、PC、Web,界面元素没有任何问题,
: 但很多
: Plugin
: ...................

c
chebyshev

如果只是跨linux,windows,mac桌面的guid的话。那么golang walk看着就不错。
但是我认为前端还是要跟js这个潮流走。社区的力量追fashion,合理。
界面不时髦的话,我个人也不太容易接受。写出来不爽。
【 在 dracodoc (david) 的大作中提到: 】
: TornadoFX 是用Kotlin的
: 有大公司在支持,JavaFX肯定能活很久,但是真正用的恐怕比较少,一般都是内部使用
: 。没见过什么针对一般用户的。
: 其实以前swing就不错了,可以做到很好看,性能也不差,比如IntelliJ。但swing要用
: 好比较难。
: 我以前用groovy, swingbuilder,还有个layout DSL,写界面很简单,比目前这些
: javaFX, css什么的都简洁。
: css写界面其实挺费劲的,什么都能做到,什么都得去查,没有个系统的逻辑一致的结
: 构,然后大家觉得还是需要完全的编程语言,又搞css生成器
: 最后的结论就是,桌面端没有特别好的方案,自己做,只能凑合着选一个,看对哪个技
: ...................

c
chebyshev

谢谢分享。我也会看看flutter社区会怎么走。回头向大家报告。
【 在 sanwadie (三娃爹) 的大作中提到: 】
: Webview 没用过。应该就是native web view 套个马夹。最近还发现若干个
responsive
: plugin,能凑合着用
: flutter

s
sanwadie

js这个观点很多人都同意。js一直用得比较少,但我感觉dart和flutter,基本就是简
化版的js。如果原来用过js,上手就是半天时间。
【 在 chebyshev (......) 的大作中提到: 】
: 如果只是跨linux,windows,mac桌面的guid的话。那么golang walk看着就不错。
: 但是我认为前端还是要跟js这个潮流走。社区的力量追fashion,合理。
: 界面不时髦的话,我个人也不太容易接受。写出来不爽。

w
walkrandom

JavaFx的问题是出来这么多年,一个成功的产品都没有。坑太多
electron好歹出了vscode

以后要桌面改web,electron也是最简单的
w
walkrandom

flutter不看好,没有在业界达到共识
如果劈材走了,这个项目估计也黄了
a
anw

现在最火的是 React Native 吧

【 在 sanwadie (三娃爹) 的大作中提到: 】
: 以后还有个选择:flutter。桌面支持目前还在Alpha阶段,但我已经用它弄了个工具,
: 出6端:
: iOS、安卓、MacOS,Linux Desktop、PC、Web,界面元素没有任何问题,但很多
Plugin
: 只支持部分平台。
: 项目进度给人感觉很快,有一桶浆糊多趋势,很适合我这种没有耐心琢磨界面的人 。
: 唯一的缺点是,狗家的产品,后续支持不好说。

g
guvest

之前我写Android 的时候试验过(大概两年前)。感觉很差。太慢了。装机过程还不稳定。不知现在怎么样了。

你用下来感觉如何?另外我看到有说会把webview移出react native去。此说是真是假?

【 在 anw(道法自然) 的大作中提到: 】
<br>: 现在最火的是 React Native 吧
<br>: Plugin
<br>

a
anw

别的组在用 React Native, 他们没用过 Flutter,
不知道这两者优劣如何

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 之前我写Android 的时候试验过(大概两年前)。感觉很差。太慢了。装机过程还不稳
: 定。不知现在怎么样了。
: 你用下来感觉如何?另外我看到有说会把webview移出react native去。此说是真是
假?
: <br>: 现在最火的是 React Native 吧
: <br>: Plugin
: <br>

t
tfusion

performance is ok I feel.

React Native development is very fast. don't know about Flutter.

I used Angular 1 though. far worse than React Native. But that's 5 years ago. It may be better now.

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 之前我写Android 的时候试验过(大概两年前)。感觉很差。太慢了。装机过程还不稳
: 定。不知现在怎么样了。
: 你用下来感觉如何?另外我看到有说会把webview移出react native去。此说是真是
假?
:
: 现在最火的是 React Native 吧
:
: Plugin
:

s
sanwadie

性能:原生 大于 flutter 大于 React Native,但后两者区别不大。网上有测试报告。

应用尺寸:据说flutter大。我们的几个应用,安卓版都小于10M,但ios尺寸比较大,
有时间要找一下原因。

学习曲线:如果熟悉web前端,react native胜出,但像我这样,我感觉flutter容易很多

处理多平台:我感觉flutter做得很好。我们使用plugin包裹原生代码,隔离了原生代
码,所以flutter层的代码非常干净。react native据说没有那么友好。但原生代码的
调试不太好,可能是我不太熟悉。

稳定:App,目前没有问题,但desktop的应用不太稳定,毕竟还是alpha。

flutter应用有个特点非常好:你可以让应用根据平台自动使用 material 风格或苹果
cupertino 风格,也可以强制使用一种风格,代码几乎没有改动。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 之前我写Android 的时候试验过(大概两年前)。感觉很差。太慢了。装机过程还不稳
: 定。不知现在怎么样了。
: 你用下来感觉如何?另外我看到有说会把webview移出react native去。此说是真是
假?
:
: 现在最火的是 React Native 吧
:
: Plugin
:

g
guvest

谢谢诸位分享和讨论。我觉得软件外观和其他部分一样重要。视觉里有很多值得思考的知识。
哪怕做个Demo,也愿意花很多时间polish。不过相对来说,本版历来UI讨论比例比较低。

【 在 sanwadie(三娃爹) 的大作中提到: 】
<br>: 性能:原生 大于 flutter 大于 React Native,但后两者区别不大。网
上有测
试报告。
<br>: 应用尺寸:据说flutter大。我们的几个应用,安卓版都小于10M,但ios
尺寸比
较大,
<br>: 有时间要找一下原因。
<br>: 学习曲线:如果熟悉web前端,react native胜出,但像我这样,我感觉
flutter
容易很多
<br>: 处理多平台:我感觉flutter做得很好。我们使用plugin包裹原生代码,
隔离了
原生代
<br>: 码,所以flutter层的代码非常干净。react native据说没有那么友好。
但原生
代码的
<br>: 调试不太好,可能是我不太熟悉。
<br>: 稳定:App,目前没有问题,但desktop的应用不太稳定,毕竟还是alpha。
<br>: flutter应用有个特点非常好:你可以让应用根据平台自动使用 material 风格
或苹果
<br>: cupertino 风格,也可以强制使用一种风格,代码几乎没有改动。
: ...................
<br>