【对比测评】 .NET 应用的 Web 视图控件:DotNetBrowser 或 EO.WebBrowser

news/2025/2/12 6:47:20/

您是否需要 .NET 应用的 Web 视图控件?.NET 生态系统提供了很多东西,有免费的 Web 视图控件,既有开源的,也有专有的。还有一些商业 Web 视图 控件,也是企业经常选择的一种选项。

在这篇博文中,我们比较了商业解决方案:DotNetBrowser 和 EO.WebBrowser。

DotNetBrowser是一个.NET库,允许将基于Chromium的WPF和WinForms组件嵌入到.NET应用程序中,以显示使用HTML5,CSS3,JavaScript,Silverlight等构建的现代网页。

免费下载DotNetBrowser最新版

概述 

EO.WebBrowserDotNetBrowser
Chromium 安全升级(每年)312
支持的 UI 框架窗体,WPFAvalonia、WinForms、WinUI 3、WPF
操作系统仅限 WindowsWindows、macOS、Linux
LGPL 合规性未公开LGPL 合规页面
开源组件未公开OSS 组件列表

Chromium 升级频率 

DotNetBrowser 和 EO.WebBrowser 都在底层使用 Chromium,并在发行版中捆绑浏览器引擎。这样,Chromium 就成为您应用程序的一部分,您有责任向用户提供 Chromium 更新。而且,您只能按照 Web 视图更新 Chromium 的频率进行更新。

为什么这很重要?一切都是为了安全。研究人员经常在浏览器中发现不同严重程度的漏洞,而 Chromium 在及时修复这些漏洞方面做得很好。这推动了高发布节奏:每月发布主要版本,每两周发布一次安全更新。

DotNetBrowser每年至少发布12 次,涵盖每个主要的 Chromium 更新和重要的小更新。EO.WebBrowser 在 2024 年更新了 2 次Chromium ,在 2023 年更新了 3 次。

UI 框架 

DotNetBrowser 为WinForms、 WPF、 Avalonia UI和 WinUI 3提供了 Web 视图控件 。MAUI 支持工作正在进行中。

EO.WebBrowser 为 WinForms 和 WPF 提供控件。

操作系统 

DotNetBrowser 适用于 Windows、macOS 和 Linux 操作系统。它可以与 Avalonia UI 一起使用,以创建具有用户界面的应用程序。对于无头任务,DotNetBrowser 不需要 UI 工具包,可以在 Linux 服务器或 Windows 服务中按原样使用。

EO.WebBrowser 是适用于 Windows 的 Web 视图,可以在用户界面和无头模式下工作。

运行时 

DotNetBrowser 官方支持 .NET Framework 4.6.2+ 和 .NET 5-9。

EO.WebBrowser 支持 .NET Framework 2+ 和理论上 .NET 5-9。

特征 

DotNetBrowser 基于功能齐全的完整版 Chromium 构建。它使用内部集成技术,为开发人员提供大部分 Chromium 功能。

EO.WebBrowser 使用 Chromium 嵌入式框架和专有集成层。这是一个有效的解决方案。

DotNetBrowser 和 EO.WebBrowser 具有类似的 进程外架构,并且通常提供类似的功能,但有一些值得注意的例外。

Chrome 扩展程序 

DotNetBrowser 支持 Chrome 扩展程序。您可以手动或以编程方式安装并充分使用大多数 Chrome 扩展程序。扩展程序使您能够使用 JavaScript 库的开发人员工具、改善可访问性、屏蔽广告以及执行许多其他操作。

在 DotNetBrowser 中打开 Chrome 扩展程序webp?x-oss-process=image/format,png" width="656" />

在 DotNetBrowser 中打开了一个 Chrome 扩展程序。

web-view">覆盖在网页视图之上 

DotNetBrowser 可以以两种模式呈现 Web 内容:直接在表面或轻量级组件上呈现。直接在表面呈现效果很好,但存在所谓的空域问题:您无法在 WPF 和 Avalonia UI 等框架中将 Web 视图与其他控件叠加。

另一方面,渲染到轻量级组件允许其他控件显示在 Web 视图之上。此渲染模式仅在 DotNetBrowser 中存在。

WPF Canvas 在 DotNetBrowser 之上呈现。

TeamDev 定期审查 DotNetBrowser 使用的 Chromium 组件的相关许可证,以确保 DotNetBrowser 和客户产品的商业分发不受限制。

该信息是公开的,并始终在 TeamDev 官方网站上提供,因此可以查看DotNetBrowser 中使用的每个版本的 Chromium 的组件列表和附带的许可证。

遵循 LGPL 的要求,TeamDev 制定了 LGPL 合规程序,以确保正确使用 DotNetBrowser 中包含的 LGPL 组件。(参见DotNetBrowser LGPL 合规性页面)

截至撰写本文时,EO.WebBrowser 所使用的开源组件列表尚未在其网站和分发包中提供。此外,也未找到有关 LGPL 合规性或合规程序的公开声明。


http://www.ppmy.cn/news/1571348.html

相关文章

单片机复杂项目的软件分层设计

单片机复杂项目的软件设计中,合理的分层架构可以显著提高代码的可维护性、可扩展性和可重用性。以下是一个常见的分层架构设计思路,以及需要注意的关键点: 1. 分层架构设计 通常可以将软件分为以下几个层次: 1.1 硬件抽象层&am…

西门子S7-1500 PLC的自动化控制系统解决方案

随着科技的进步和人们对食品安全意识的提升,现代食品工业的发展速度加快,加工范围和深度不断扩展,对生产过程的自动化、智能化和精确控制要求也越来越高。在这一背景下,PLC作为一种高效、可靠的控制系统,在食品行业中的…

蓝耘智算平台硬核部署 DeepSeek, 解锁 AI 内在的无限潜能

用蓝耘智算平台硬核部署 DeepSeek 后,我太惊喜了!它计算能力超强,快速完成模型训练。资源能灵活调配,不浪费。部署稳,技术支持也及时。这一组合解锁了 AI 无限潜能,让我探索 AI 之路更顺;此后麻…

活动预告 | 为 AI 新纪元做好准备:助力安全的业务转型

课程介绍 随着现代办公模式的不断演变和 AI 技术的迅速发展,企业在享受效率提升的同时,也面临着信息安全与数据保护的严峻挑战。在利用 AI 技术释放业务潜力的同时,如何确保数据质量与安全已成为企业发展的关键议题。 在本次线上课程中&…

Spark 源码 | 脚本分析总结

前言 最初是想学习一下Spark提交流程的源码,比如 Spark On Yarn 、Standalone。之前只是通过网上总结的文章大概了解整体的提交流程,但是每个文章描述的又不太一样,弄不清楚到底哪个说的准确,比如Client 和 CLuster 模式的区别&a…

京东 rpc调用h5st

一,jsrpc程序下载,双击启动 https://github.com/jxhczhl/JsRpc 二,注入JS,构建通信环境(/resouces/JsEnv_De.js) var rpc_client_id, Hlclient function (wsURL) {this.wsURL wsURL;this.handlers {_e…

Spring依赖注入方式

写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭&#x…

Spring常用注解和组件

引言 了解Spring常用注解的使用方式可以帮助我们更快速理解这个框架和其中的深度 注解 Configuration:表示该类是一个配置类,用于定义 Spring Bean。 EnableAutoConfiguration:启用 Spring Boot 的自动配置功能,让 Spring Boo…