桌面端技术选型求指导

2021-11-25 15:59:10 +08:00
 windpinw

先说背景,公司要做的,小工具辅助客户的级别,商业软件,非大型项目。

  1. 核心逻辑部分已经有十分完备的 java 实现(可以从公司主项目抄过来)
  2. 希望尽量轻量化。
  3. 目前在考虑桌面端的框架。 JavaFx: 不考虑,社区不好,支持少 Swing: 最容易和逻辑部分结合,比较担心 UI 方面能否实现较好的效果,或者 effort 是不是比较大 Electron: UI 不担心,但是逻辑处理的部分需要用 js 重构一次,后续的迭代大概率还要继续参考主项目的代码 进行重构。除非独立部署一个 java web 服务器让逻辑部分单独出来。 Native 类的 C++/C#:主项目就是用这些写的,开发负担比较重,估计不考虑。除非有很好的解决方案。

广泛吸纳意见,希望看看我上面的想法有哪些是过虑的,或者各位有什么建议都可以说说。 如有表达不到位的地方还请指出

8269 次点击
所在节点    程序员
69 条回复
kujio
2021-11-25 16:05:35 +08:00
如果会 android 的话,可以考虑试试 kotlin compose
xuxuxu123
2021-11-25 16:06:17 +08:00
我的想法就是 Electron ,然后 java 器 web 服务
ryougifujino
2021-11-25 16:10:45 +08:00
https://github.com/JetBrains/compose-jb

这个如何,使用 Kotlin ,和 Java 的互操作性不用担心。
luchong
2021-11-25 16:23:51 +08:00
WPF
kujio
2021-11-25 16:24:14 +08:00
kotlin compose Ui 组件可以参考这个:https://github.com/Gurupreet/ComposeCookBook
UI 组件很全,自定义也很灵活,
Otho
2021-11-25 16:39:11 +08:00
Electron + gRpc + Java
bjzhou1990
2021-11-25 16:43:24 +08:00
可以考虑 Flutter ,Desktop 版本也算比较成熟了
maichael
2021-11-25 16:45:49 +08:00
没有跨系统的需求的话不要使用 Electron 和 Flutter 等
yazinnnn
2021-11-25 16:50:32 +08:00
compose
bsg1992
2021-11-25 17:50:08 +08:00
duan602728596
2021-11-25 17:52:21 +08:00
我的想法和 2L 一样,推荐使用 Electron 。然后建议使用 react 或者 vue 全家桶开发单页应用。
用 Electron 的优点就是跨平台,系统的能力有 Node 和 chromium 来解决,编译可以跨平台且直接分发。
这是我个人写的基于 Electron 的项目( https://github.com/duan602728596/48tools ),里面有一堆功能,直接编译到 5 个平台,你可以参考一下。
MasterMonkey
2021-11-25 18:20:27 +08:00
@Otho 我支持这个
happinessnch
2021-11-25 18:23:27 +08:00
重表现,用 Electron
重交互、多系统调用,用 Native ( QT ,WPF ,WinForm 等)
makelove
2021-11-25 18:25:40 +08:00
除非有特别的硬性需求否则无脑上 Electron,最近几年被证明的最佳 UI 方式, java 就单独起个进程就行最好别搞二套逻辑
darknoll
2021-11-25 18:43:41 +08:00
这年头好看>效率,当然用 Electron
juzisang
2021-11-25 19:12:07 +08:00
可以试试 https://github.com/tauri-apps/tauri
体积小,也是 webview 套壳,个人感觉实现比 Electron 规范和优雅很多
ysc3839
2021-11-25 19:25:52 +08:00
JavaFX WebView 或者 JCEF ? https://bitbucket.org/chromiumembedded/java-cef
这两个方案类似 Electron 跨平台,可以用 Web 做界面,但是后端不跟 js 强绑定,可以直接用 Java 代码做后端。(前端当然还得写 js)
IsaacYoung
2021-11-25 19:35:52 +08:00
electron 吧
xiaoyanbot
2021-11-25 19:41:04 +08:00
nw.js
pengtdyd
2021-11-25 19:46:07 +08:00
@bjzhou1990 目前 Flutter Desktop 不推荐使用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/817940

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX