C#应用程序里面集成 electron 的大致流程是怎样的

2022-12-07 17:15:27 +08:00
 movq

我最近需要在一个 C# windows 桌面应用程序里面添加功能

但我主要是 Java 后端和 Vue 前端开发,不太懂 C#窗体应用开发

看了下原本的代码,里面主要是在用 dev express 这种 C#窗体应用程序库

我的想法就是,能不能用 C#打开一个 electron 窗口,然后直接在 electron 窗口里面展示 vue 前端

这样就不用深入学习 C#了,直接就套用 web 开发那一套

1631 次点击
所在节点    程序员
15 条回复
quan01994
2022-12-07 17:16:56 +08:00
那就直接内嵌浏览器内核不好吗,为什么还要套一层 electron 。cef
quan01994
2022-12-07 17:20:20 +08:00
https://github.com/cefsharp/CefSharp/ 直接这个,直接 url 指向你的 vue 前端网页就行了 。
yuhangch
2022-12-07 17:27:31 +08:00
cefsharp 兼容性很好,但体积是真的大
webview2 体积好点,兼容性不好。。
aqtata
2022-12-07 17:28:36 +08:00
WinForm + WebView2
sinnosong1
2022-12-07 17:29:46 +08:00
@yuhangch 都考虑 electron 了,体积就不会是问题
likeunix
2022-12-07 17:34:27 +08:00
你都打算用 electron 了,为啥还要套个 C#?
lower
2022-12-07 17:40:53 +08:00
@likeunix 看起来是个已有的 c#项目。。。op 估计不熟悉 c#,新功能用的 Java
ysc3839
2022-12-07 17:46:16 +08:00
你需要的是调用 WebView ,而不是 Electron 。WebView 可以选 Chromium Embedded Framework (CEF) 或者 Edge WebView2 。CEF 需要你自带相关文件,WebView2 可以使用系统内的,也可以自带文件。CEF 功能更多,但也更复杂。
likeunix
2022-12-07 17:47:09 +08:00
把 Vue 项目打包成一个程序,C#程序启动的时候把 Vue 项目作为子进程启动,C#里用 WebView2 访问,这样后续开发你就一点都不用写 C#代码了。
god7d
2022-12-07 17:48:50 +08:00
原先是个啥项目?如果是有跟硬件交互,套 web 不可行
ysc3839
2022-12-07 17:52:55 +08:00
@god7d 可行,可以暴露接口给 WebView 调用
movq
2022-12-07 18:33:50 +08:00
@god7d 主要查询数据库内容并展示,没什么特别的操作
beyondex
2022-12-07 19:15:11 +08:00
我做的就是 .net + electron

有两种做法,一个是用 electron.net ,它是 .net 对 electron 的包装,这样主启动程序是 .net
第二种是主程序是 electron ,然后在 electron 启动 .net 程序,我用的是后者的方案。
forgottencoast
2022-12-07 23:29:34 +08:00
Java 学 C#很简单的,我觉得还是跟原来的项目保持一致比较好,不然换几个人这项目就没眼看了。
seakingii
2022-12-08 10:59:44 +08:00
最简单的是 c#启用一个空白窗体,窗体里只有一个 WebView2 控件,此控件导航到你的网页,后续所有功能用网页开发.

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

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

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

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

© 2021 V2EX