我想知道是否有可能在google chrome中使用chromium引擎或google chrome本身来在我的WPF应用程序中渲染网页,而不是使用传统的WebView(因为它是IE引擎,它很糟糕-_-)或实现CEFSharp(因为它只为chromium引擎使用了大约200 MB的空间)
因此,在这种情况下,我需要目标PC已安装谷歌Chrome或任何其他(火狐或...)
Soooo......有什么解决办法吗?
先谢了
编辑
我想创建基于Web UI的应用程序,-因为它简单而强大-我知道一些提供此功能的应用程序,例如。CEF Sharp WPF
或electron js
,但它们包括一个完整的 chrome 引擎与应用程序。我不想这样
我想尽可能轻地创建我的应用程序,我的想法是使用现代浏览器的 chrome 引擎,几乎每个人都有一个。
例如,假设用户安装了google chrome。
- 首先我找到安装文件夹
- 我使用
chromium.exe -render path/to/file.html
(imaginary)命令来渲染我的应用程序UI。 - 最后将UI事件绑定到我的本机代码。(例如c#(wpf)或任何可以创建桌面应用程序的语言)
一种解决方案是通过使用浏览器安装网站来创建Web应用程序。但是这样你就不能例如在用户PC中创建或读取一些文件,或者任何类似的操作。
我在寻找最轻量级的解决方案...
3条答案
按热度按时间uttx8gqw1#
有一个新的基于Chromium的
WebView2
控件,您可以使用它在WPF应用程序中嵌入现代Web内容。有关先决条件和如何使用它的详细信息,请参阅文档:
Getting started with WebView2 in WPF
xnifntxz2#
说明
因此,假设您希望您的UI在chromium环境(又名浏览器)中呈现...对吧?
让我们来看看electron js:
因此,您希望使用客户端的浏览器来呈现前端,而不是在其中嵌入浏览器。
好吧,不要嵌入它!!
您可以创建web应用程序(例如,通过在browser 1中输入 localhost: 打开)使用NodeJS并 AJAX 调用或socket连接处理您的IPC(前端和后端之间)。
这样你就做了一个电子应用程序所做的事情,除了电子使用捆绑的浏览器。
现在你让你的应用程序更轻了,如果你的客户端安装了NodeJS,你就不需要捆绑NodeJS了!
---灵感来自Jupyter笔记本---
可能的解决方案
1.使用NodeJS作为后端。
1.使用python并将其与Flask或Django结合作为后端。* (我认为这将是最轻量级的解决方案)*
1.使用PHP作为后端。* (最好的,个人意见)*
1.使用ASP.NET/Blazor作为后台。* (如评论中所述;但似乎不是一个轻量级的解决方案)*
1.或使用任何语言,你可以创建一个网络应用程序!
1.创建一个
runApp.bat
或runApp.sh
来运行你的服务器并自动打开浏览器。wztqucjr3#
我终于找到了我想要的东西!
就是这样!
webui!