V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
movq
V2EX  ›  程序员

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

  •  
  •   movq · 2022-12-07 17:15:27 +08:00 · 1639 次点击
    这是一个创建于 719 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    有两种做法,一个是用 electron.net ,它是 .net 对 electron 的包装,这样主启动程序是 .net
    第二种是主程序是 electron ,然后在 electron 启动 .net 程序,我用的是后者的方案。
    forgottencoast
        14
    forgottencoast  
       2022-12-07 23:29:34 +08:00
    Java 学 C#很简单的,我觉得还是跟原来的项目保持一致比较好,不然换几个人这项目就没眼看了。
    seakingii
        15
    seakingii  
       2022-12-08 10:59:44 +08:00
    最简单的是 c#启用一个空白窗体,窗体里只有一个 WebView2 控件,此控件导航到你的网页,后续所有功能用网页开发.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3579 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:11 · PVG 19:11 · LAX 03:11 · JFK 06:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.