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

server/2025/2/12 8:07:01/

您是否需要 .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/server/166674.html

相关文章

RabbitMQ 如何设置限流?

RabbitMQ 的限流(流量控制)主要依赖于 QoS(Quality of Service) 机制,即 prefetch count 参数。这个参数控制每个消费者一次最多能获取多少条未确认的消息,从而避免某个消费者被大量消息压垮。 1. RabbitMQ…

[Redis] Redis分布式锁与常见面试题

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

Qt、C++软件开发之QVedioWidget控件:功能特性以及C++详细用法。

文章目录 前言特性用法创建 QVideoWidget 实例‌:设置视频源‌:处理事件‌:全屏显示‌:自定义外观‌:注意事项前言 在Qt软件开发中,QVideoWidget 是一个用于显示视频内容的控件,是QWidget的子类。它是Qt Multimedia模块的一部分,提供了将视频输出渲染到窗口或屏幕上的…

从云原生到 AI 原生,谈谈我经历的网关发展历程和趋势

作者:谢吉宝(唐三) 编者按: 云原生 API 网关系列教程即将推出,欢迎文末查看教程内容。本文整理自阿里云智能集团资深技术专家,云原生产品线中间件负责人谢吉宝(唐三) 在云栖大会的精…

【实战】excel分页写入导出大文件

类 RequestMapping("export")ResponseBodypublic void export(HttpServletResponse response) {long start System.currentTimeMillis();QueryVo query new QueryVo();// response响应头setResponseHeader(response, "excel");ExcelWriter writer Excel…

android的ViewModel这个类就是业务逻辑层吗

android的ViewModel这个类就是业务逻辑层吗? 相似:业务逻辑代码应该放在ViewModel这个类吗? 嗯,我现在在学习Android架构组件,特别是ViewModel。用户问ViewModel是否就是业务逻辑层,我需要仔细思考这个问题…

基于STM32的智能鱼缸水质净化系统设计

🤞🤞大家好,这里是5132单片机毕设设计项目分享,今天给大家分享的是智能鱼缸水质净化系统。 目录 1、设计要求 2、系统功能 3、演示视频和实物 4、系统设计框图 5、软件设计流程图 6、原理图 7、主程序 8、总结 1、设计要求…

算法14(力扣622)设置循环队列

1、问题 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普…