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

news2025/2/13 1:42:04

您是否需要 .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 扩展程序

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

覆盖在网页视图之上 

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.coloradmin.cn/o/2297098.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis 数据类型 String 字符串

Redis 中的 String 数据类型 是最基础且使用最广泛的数据类型之一。它本质上是一个字节序列,可以存储各种类型的数据,如字符串、整数、浮点数等,其字符串类型的值包含⼀般格式的字符串或者类似 JSON、XML 格式的字符串;还可以存储…

查询语句来提取 detail 字段中包含 xxx 的 URL 里的 commodity/ 后面的数字串

您可以使用以下 SQL 查询语句来提取 detail 字段中包含 oss.kxlist.com 的 URL 里的 commodity/ 后面的数字串&#xff1a; <p><img style"max-width:100%;" src"https://oss.kxlist.com//8a989a0c55e4a7900155e7fd7971000b/commodity/20170925/20170…

业务开发 | 基础知识 | Maven 快速入门

Maven 快速入门 1.Maven 全面概述 Apache Maven 是一种软件项目管理和理解工具。基于项目对象模型的概念&#xff08;POM&#xff09;&#xff0c;Maven 可以从中央信息中管理项目的构建&#xff0c;报告和文档。 2.Maven 基本功能 因此实际上 Maven 的基本功能就是作为 Ja…

机器学习 - 词袋模型(Bag of Words)实现文本情感分类的详细示例

为了简单直观的理解模型训练&#xff0c;我这里搜集了两个简单的实现文本情感分类的例子&#xff0c;第一个例子基于朴素贝叶斯分类器&#xff0c;第二个例子基于逻辑回归&#xff0c;通过这两个例子&#xff0c;掌握词袋模型&#xff08;Bag of Words&#xff09;实现文本情感…

【Android开发】Android Studio汉化

前言 该插件是官方支持插件&#xff0c;未对任何软件进行修改和破解 Android Studio 是基于 IntelliJ IDEA 社区版开发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于Android应用程序的开发。以下是为什么 Android Studio 能使用 IntelliJ IDEA 插件的原因&am…

后端java工程师经验之谈,工作7年,mysql使用心得

mysql 工作7年&#xff0c;mysql使用心得 mysql1.创建变量2.创建存储过程2.1&#xff1a;WHILE循环2.2&#xff1a;repeat循环2.3&#xff1a;loop循环2.4&#xff1a;存储过程&#xff0c;游标2.5&#xff1a;存储过程&#xff0c;有输入参数和输出参数 3.三种注释写法4.case …

ArcGIS Pro批量创建离线服务sd包

背景&#xff1a; 主要针对一个工程内有多个地图框项&#xff1a; 处理方法&#xff1a;通过Python脚本处理打包。 运行环境 在Pro的Python环境中去运行编写的Python脚本。 Python 脚本参考 import arcpy import os# Set output file names outdir r"d:\data\out&…

基于DeepSeek API和VSCode的自动化网页生成流程

1.创建API key 访问官网DeepSeek &#xff0c;点击API开放平台。 在开放平台界面左侧点击API keys&#xff0c;进入API keys管理界面&#xff0c;点击创建API key按钮创建API key&#xff0c;名称自定义。 2.下载并安装配置编辑器VSCode 官网Visual Studio Code - Code Editing…

信创领域的PostgreSQL管理员认证

信创产业&#xff0c;全称为信息技术应用创新产业&#xff0c;是中国为应对国际技术竞争、保障信息安全、实现科技自立而重点发展的战略性新兴产业。其核心目标是通过自主研发和生态构建&#xff0c;逐步替代国外信息技术产品&#xff0c;形成自主可控的国产化信息技术体系。 发…

使用 Visual Studio Code (VS Code) 开发 Python 图形界面程序

安装Python、VS Code Documentation for Visual Studio Code Python Releases for Windows | Python.org 更新pip >python.exe -m pip install --upgrade pip Requirement already satisfied: pip in c:\users\xxx\appdata\local\programs\python\python312\lib\site-pa…

IEEE期刊Word导出PDF注意事项

在系统上提交论文时候一般要求PDF文档&#xff0c;但是word直接转PDF可能存在一些问题&#xff1a; 部分图片不清晰。字体未嵌入PDF。间距发生了变化。字体发生了变化。一张图片显示不完全。 下面介绍word转PDF最稳妥的技巧以及如何实现全部字体的嵌入。 1. 操作流程 ① 另…

如何在 Elasticsearch 中设置向量搜索 - 第二部分

作者&#xff1a;来自 Elastic Valentin Crettaz 了解如何在 Elasticsearch 中设置向量搜索并执行 k-NN 搜索。 本文是三篇系列文章中的第二篇&#xff0c;深入探讨了向量搜索&#xff08;也称为语义搜索&#xff09;的复杂性以及它在 Elasticsearch 中的实现方式。 第一部分重…

DeepSeek的出现会对百度有多大影响?

当DeepSeek与ChatGPT等大模型接管搜索入口&#xff0c;我们正见证百年一遇的信息革命。 01 传统搜索已死&#xff1f;AI助手正在重写游戏规则&#xff01; 当DeepSeek与ChatGPT等大模型接管搜索入口&#xff0c;我们正见证百年一遇的信息革命。 就像汽车淘汰马车、触屏终结按键…

PyQt学习记录01——加法计算器

目录 PyQt学习记录01——加法计算器 PyQt学习记录02——串口助手 0. 安装配置 0.1 安装相关库 首先打开你的PyCharm程序&#xff0c;然后新建一个目录用于学习&#xff0c;其次在terminal中输入 pip install pyqt5如果你不具有科学上网能力&#xff0c;请改为国内源 pip …

jenkins备份还原配置文件

下载ThinBackup插件 方式1 从插件市场直接下载 Manage Jenkins->Manage Plugins->可选插件搜索 注意&#xff1a;有时可能因为网络或者版本问题下载不了&#xff0c;好像是默认下载最新版本&#xff0c;可选择手动安装&#xff01; 方式二 手动安装插件 点击查看手…

02.11 数据库

1.思维导图 2.题目 将 epoll 服务器、客户端拿来用客户端&#xff1a;写一个界面&#xff0c;里面有注册登录服务器&#xff1a;处理注册和登录逻辑&#xff0c;注册的话将注册的账号密码写入数据库&#xff0c;登录的话查询数据库中是否存在账号&#xff0c;并验证密码是否正…

Spring Boot整合DeepSeek实现AI对话(API调用和本地部署)

本篇文章会分基于DeepSeek开放平台上的API&#xff0c;以及本地私有化部署DeepSeek R1模型两种方式来整合使用。 本地化私有部署可以参考这篇博文 全面认识了解DeepSeek利用ollama在本地部署、使用和体验deepseek-r1大模型 Spring版本选择 根据Spring官网的描述 Spring AI是一…

苹果转型独立AR眼镜:一场技术与创新的深度探索

在科技日新月异的今天,增强现实(AR)技术正逐渐从科幻电影走进我们的日常生活。作为科技界的领头羊,苹果公司的每一步动向都备受关注。近期,苹果宣布暂停原定的Mac连接式AR眼镜计划,转而全力研发一款独立的AR眼镜。这一战略调整不仅反映了苹果对AR市场的深度洞察,也预示着…

Java小白入门基础知识(一)

1.初识Java java源程序通过javac 编译生成字节码文件&#xff0c;通过java命令运行java程序 总结&#xff1a; 1&#xff09;在一个Java文件中&#xff0c;只能有一个public class 2&#xff09;public class一定要和文件名一致 3&#xff09;类里面包含方法 4&#xff09…

通过 Docker 安装和部署 KeyDB v6.3.4 的详细步骤

KeyDB 是一种高性能的开源内存数据库&#xff0c;最初是基于 Redis 项目开发的&#xff0c;但在性能、特性和功能上进行了许多增强和改进。它兼容 Redis 的大部分命令和数据结构&#xff0c;因此可以作为 Redis 的替代品使用&#xff0c;尤其是在需要更高性能和多线程支持的场景…