
先说背景,公司要做的,小工具辅助客户的级别,商业软件,非大型项目。
广泛吸纳意见,希望看看我上面的想法有哪些是过虑的,或者各位有什么建议都可以说说。 如有表达不到位的地方还请指出
1 kujio 2021-11-25 16:05:35 +08:00 如果会 android 的话,可以考虑试试 kotlin compose |
2 xuxuxu123 2021-11-25 16:06:17 +08:00 我的想法就是 Electron ,然后 java 器 web 服务 |
3 ryougifujino 2021-11-25 16:10:45 +08:00 |
4 luchong 2021-11-25 16:23:51 +08:00 WPF |
5 kujio 2021-11-25 16:24:14 +08:00 kotlin compose Ui 组件可以参考这个:https://github.com/Gurupreet/ComposeCookBook UI 组件很全,自定义也很灵活, |
6 Otho 2021-11-25 16:39:11 +08:00 Electron + gRpc + Java |
7 bjzhou1990 2021-11-25 16:43:24 +08:00 可以考虑 Flutter ,Desktop 版本也算比较成熟了 |
8 maichael 2021-11-25 16:45:49 +08:00 没有跨系统的需求的话不要使用 Electron 和 Flutter 等 |
9 yazinnnn 2021-11-25 16:50:32 +08:00 compose |
11 duan602728596 2021-11-25 17:52:21 +08:00 我的想法和 2L 一样,推荐使用 Electron 。然后建议使用 react 或者 vue 全家桶开发单页应用。 用 Electron 的优点就是跨平台,系统的能力有 Node 和 chromium 来解决,编译可以跨平台且直接分发。 这是我个人写的基于 Electron 的项目( https://github.com/duan602728596/48tools ),里面有一堆功能,直接编译到 5 个平台,你可以参考一下。 |
12 MasterMonkey 2021-11-25 18:20:27 +08:00 via iPhone @Otho 我支持这个 |
13 happinessnch 2021-11-25 18:23:27 +08:00 重表现,用 Electron 重交互、多系统调用,用 Native ( QT ,WPF ,WinForm 等) |
14 makelove 2021-11-25 18:25:40 +08:00 除非有特别的硬性需求否则无脑上 Electron,最近几年被证明的最佳 UI 方式, java 就单独起个进程就行最好别搞二套逻辑 |
15 darknoll 2021-11-25 18:43:41 +08:00 这年头好看>效率,当然用 Electron |
16 juzisang 2021-11-25 19:12:07 +08:00 可以试试 https://github.com/tauri-apps/tauri 体积小,也是 webview 套壳,个人感觉实现比 Electron 规范和优雅很多 |
17 ysc3839 2021-11-25 19:25:52 +08:00 JavaFX WebView 或者 JCEF ? https://bitbucket.org/chromiumembedded/java-cef 这两个方案类似 Electron 跨平台,可以用 Web 做界面,但是后端不跟 js 强绑定,可以直接用 Java 代码做后端。(前端当然还得写 js) |
18 IsaacYoung 2021-11-25 19:35:52 +08:00 via iPhone electron 吧 |
19 xiaoyanbot 2021-11-25 19:41:04 +08:00 nw.js |
20 pengtdyd 2021-11-25 19:46:07 +08:00 @bjzhou1990 目前 Flutter Desktop 不推荐使用 |
21 zjsxwc 2021-11-25 20:01:07 +08:00 via Android 这种 electron 与 java 全都要? https://github.com/jreznot/electron-java-app |
22 Buges 2021-11-25 20:10:17 +08:00 via Android 已经用 Java 写好了,那肯定继续用 Java 。 啥情况都无脑推 electron 的,是内存太多没地方用吗? |
23 nojsja 2021-11-25 20:36:08 +08:00 之前一直写 electron ,现在正在学习和尝试 tauri+rust |
24 amai0w0 2021-11-25 21:45:09 +08:00 via Android @bjzhou1990 现在用 Flutter 开发 Windows 桌面程序的都是真勇士,Desktop 应该还没发正式版吧 |
25 jlkm2010 2021-11-25 21:47:54 +08:00 JavaFX WebView |
26 MakHoCheung 2021-11-25 22:13:35 +08:00 小工具的话用 jfx 没啥问题吧,直接上 java17 ,可以 jlink 成一个自包含的应用,如果类库不怎么多反射的话还可以用 gluon substrate 编译成原生二进制程序。当然楼主一开始就否了 jfx ,我这回复多余的 |
27 nicevar 2021-11-25 23:05:36 +08:00 给什么人用?如果只是少量用户很单一,什么选型都不重要,但是用户复杂的话,不要用 Electron 这种,开发出来了可能会被拒绝使用,体积大效率低,很多开发者喜欢用 Electron 开发,但是做出来的软件自己都不用。 Flutter 就更不要用了,这种不成熟的东西用起来就是坑,现在连 Android 上开发出来的软件问题都很多,编辑框的问题到现在还没解决 |
28 ashong 2021-11-26 00:10:27 +08:00 via iPhone chromium + js + c++ |
29 akira 2021-11-26 05:07:39 +08:00 Native 类的 C++/C#:主项目就是用这些写的 主项目用这个写,说明你们主要的技术栈就是这个了,那还换啥语言啊 |
30 mirage13 2021-11-26 08:34:26 +08:00 用 qt 啊 |
31 kun775 2021-11-26 09:03:07 +08:00 windows 桌面应用无脑 winform 或 wpf 就 OK 了 |
32 skinny 2021-11-26 09:03:39 +08:00 别信什么 Electron 体积大效率低什么的说法,一般应用根本到不了那个瓶颈,除非你的 UI 代码和知乎微博那些桌面网页代码一样实在烂得没边 |
33 ming159 2021-11-26 09:11:31 +08:00 C#吧,Winform ,拖拽个界面。使用 HTTP 协议与 Java 通信交换数据,例如 Flurl ; 然后 Java 端内置一个 Jetty 作为 web 服务; 缺点: 仅适用于 Windows ,无法跨平台;界面稍微不注意会很丑 优点: 快,Java 端逻辑可以完全复用。 |
34 youxiachai 2021-11-26 10:59:52 +08:00 |
35 youxiachai 2021-11-26 11:02:25 +08:00 @nicevar 不是写着商业项目吗.... Electron 感觉完美...美团饿了么商家端程序都是这个.. |
36 sgissb1 2021-11-26 11:11:24 +08:00 Electron 就可以了,界面这一块不该投入太多去搞。h5 做界面多快啊。 |
37 newmlp 2021-11-26 11:34:49 +08:00 Electron 看看客户接不接受,不接受就 Qt ,基本靠谱的桌面开发就这两个了 |
40 caryyu 2021-11-26 11:41:54 +08:00 如果主项目已经有了前端展示,直接上 Electron ,移植到桌面。 |
41 youxiachai 2021-11-26 11:49:27 +08:00 @newmlp 我用 win 10 的 atom 都跑过 electron.... 在怎么古董也不至于此吧...能给几十万甚至上百万的项目的,不至于吧 |
42 hez2010 2021-11-26 11:58:16 +08:00 via Android 可以用 Avalonia 开发跨平台 GUI: https://github.com/AvaloniaUI/Avalonia |
43 newmlp 2021-11-26 11:59:51 +08:00 @youxiachai 什么奇葩环境和用户都有,没遇到是你运气好 |
44 heytap 2021-11-26 12:18:10 +08:00 尽管很多人吐槽 但我还是得推下 electron |
45 WenhaoWu 2021-11-26 12:34:32 +08:00 via Android 自己开发 electron ,但是很抗拒 electron 的 app +1 。BTW, Flutter 的桌面端至少在 Mac 上比 Electron 流畅 |
46 auroraccc 2021-11-26 12:58:59 +08:00 商业软件不推荐 flutter 或者 tauri 。。 |
47 icyalala 2021-11-26 13:24:53 +08:00 论社区当然是 Electron ,和其他方案不是一个级别的,但前提是重构 /重写。 如果不想重写,想复用 Java 栈,那还是考虑下 JavaFX 吧。 |
48 icyalala 2021-11-26 13:27:14 +08:00 至于上面说的 Flutter ,如果愿意承担 Dart 重写的成本,那还不如用回 Electron 呢。 |
49 Accessing 2021-11-26 13:27:45 +08:00 JavaFx 没你想的那么糟糕,实际上这个工具很不错。你如果觉得不行,那你就给出哪个地方具体不行的理由,而不是笼统的说生态不好之类的。当你这么做之后,你可能会发现完全可以满足自己的需要。 |
50 s127 2021-11-26 13:47:57 +08:00 如果没有复杂的界面布局,没有高性能显示要求(大量绘图、3D 图等),仅仅是一个小工具,建议上 javaFX 。既然公司核心是 java ,自然不缺 java 开发人员。javaFX 入门用不了几天,官方文档也还不错。后期如果有其他非 win 系统部署,迁移更容易。 |
51 silencelixing 2021-11-26 14:10:20 +08:00 Electron 和 QT ,对样式要求高就用 electron ,对流畅图要求高就用 qt ,当然如果两者都要求高的话,那可以考虑考虑 flutter () |
52 ainimuyan 2021-11-26 14:19:22 +08:00 如果是对项目负责,当然延续 Java 使用 JavaFX ,除非你对其他桌面技术非常非常熟悉,重写或翻译逻辑非常快。 如果你出于个人原因想搞点别的技术,建议整个小项目自己玩。 |
53 longear 2021-11-26 14:20:36 +08:00 nw.js 到底行不行, 用过的人来说一说 |
55 SilenceLL 2021-11-26 15:33:57 +08:00 |
56 3dwelcome 2021-11-26 15:45:41 +08:00 electron+1 ,毕竟前端 npm 轮子多多。 你用 Native 只能写点简单的页面,复杂的组件还要自己造轮子,多累。 |
57 abcbuzhiming 2021-11-26 16:03:43 +08:00 @skinny Electron 就是体积大效率低,怎么,烂还不准人说是把? Electron 这东西唯一的好就是对"开发者友好",尤其是对前端出身的开发者友好,做出来的东西,性能和原生差几条街,用户的机器不当钱,吃 CPU 内存没有上限。想吹 Electron ,麻烦等用原生程序成长起来的那一代使用者死光了再说 想用 Electron ,我不反对,反正这东西,程序员用起来是很爽,骂娘的都是用户 |
58 skinny 2021-11-26 16:10:00 +08:00 @abcbuzhiming 行,这就扣上吹 Electron 帽子了,你爱用 native 就用 native ,SB |
59 3dwelcome 2021-11-26 16:30:32 +08:00 @abcbuzhiming “做出来的东西,性能和原生差几条街,用户的机器不当钱,吃 CPU 内存没有上限。” 那要看具体是做什么了,以前有不少 V2 开发者提问,为什么十几万的树节点,在 vue 里拖动那么卡。 我只能说,网页端确实不适合处理这种超大数据的应用。 可是普通的小工具小应用,用 JS 写写,还是异常方便的。 |
60 iikebug 2021-11-26 16:48:37 +08:00 @abcbuzhiming Electron + 原生插件绑定,效果不会差的,纯 js 的性能确实不太行 |
61 wdwwtzy 2021-11-26 16:57:31 +08:00 我觉得桌面开发首选 C#,其他的你都会踩到各种各样的坑 |
62 superchijinpeng 2021-11-26 17:03:12 +08:00 Kotlin Compose |
63 creanme 2021-11-26 17:33:28 +08:00 WPF ?不太喜欢 Electron |
65 yolee599 2021-11-26 22:01:36 +08:00 via Android Electron 不好用,体积大还吃配置,推荐的应该都是写 web 的程序员 |
66 rockddd 2021-11-27 01:04:51 +08:00 Electron 和 WPF 都敲过,投 Electron 一票 |
68 windpinw OP 最新更新,希望有了解 compose 的说说看法 |
69 Edward4074 2021-11-30 09:30:17 +08:00 @windpinw 最近刚开始用 compose desktop 搞个小工具,感觉还是比较友好的。官方 git 中有些 demo 可以参考,kotlin 、java 无缝衔接,展示内容为主的话应该没什么好犹豫的了 |