我最近需要在一个 C# windows 桌面应用程序里面添加功能
但我主要是 Java 后端和 Vue 前端开发,不太懂 C#窗体应用开发
看了下原本的代码,里面主要是在用 dev express 这种 C#窗体应用程序库
我的想法就是,能不能用 C#打开一个 electron 窗口,然后直接在 electron 窗口里面展示 vue 前端
这样就不用深入学习 C#了,直接就套用 web 开发那一套
1
quan01994 2022-12-07 17:16:56 +08:00
那就直接内嵌浏览器内核不好吗,为什么还要套一层 electron 。cef
|
2
quan01994 2022-12-07 17:20:20 +08:00
https://github.com/cefsharp/CefSharp/ 直接这个,直接 url 指向你的 vue 前端网页就行了 。
|
3
yuhangch 2022-12-07 17:27:31 +08:00
cefsharp 兼容性很好,但体积是真的大
webview2 体积好点,兼容性不好。。 |
4
aqtata 2022-12-07 17:28:36 +08:00 1
WinForm + WebView2
|
5
sinnosong1 2022-12-07 17:29:46 +08:00
@yuhangch 都考虑 electron 了,体积就不会是问题
|
6
likeunix 2022-12-07 17:34:27 +08:00
你都打算用 electron 了,为啥还要套个 C#?
|
8
ysc3839 2022-12-07 17:46:16 +08:00
你需要的是调用 WebView ,而不是 Electron 。WebView 可以选 Chromium Embedded Framework (CEF) 或者 Edge WebView2 。CEF 需要你自带相关文件,WebView2 可以使用系统内的,也可以自带文件。CEF 功能更多,但也更复杂。
|
9
likeunix 2022-12-07 17:47:09 +08:00
把 Vue 项目打包成一个程序,C#程序启动的时候把 Vue 项目作为子进程启动,C#里用 WebView2 访问,这样后续开发你就一点都不用写 C#代码了。
|
10
god7d 2022-12-07 17:48:50 +08:00
原先是个啥项目?如果是有跟硬件交互,套 web 不可行
|
13
beyondex 2022-12-07 19:15:11 +08:00
我做的就是 .net + electron
有两种做法,一个是用 electron.net ,它是 .net 对 electron 的包装,这样主启动程序是 .net 第二种是主程序是 electron ,然后在 electron 启动 .net 程序,我用的是后者的方案。 |
14
forgottencoast 2022-12-07 23:29:34 +08:00
Java 学 C#很简单的,我觉得还是跟原来的项目保持一致比较好,不然换几个人这项目就没眼看了。
|
15
seakingii 2022-12-08 10:59:44 +08:00
最简单的是 c#启用一个空白窗体,窗体里只有一个 WebView2 控件,此控件导航到你的网页,后续所有功能用网页开发.
|