当前位置 : 主页 > 编程语言 > 其它开发 >

.NET混合开发解决方案24 WebView2对比CefSharp的超强优势

来源:互联网 收集:自由互联 发布时间:2022-06-29
系列目录 【已更新最新开发文章,点击查看详细】 WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NET混合开发解决方案2
系列目录     【已更新最新开发文章,点击查看详细】

WebView2控件应用详解系列博客

.NET桌面程序集成Web网页开发的十种解决方案

.NET混合开发解决方案1 WebView2简介

.NET混合开发解决方案2 WebView2与Edge浏览器的区别

.NET混合开发解决方案3 WebView2的进程模型

.NET混合开发解决方案4 WebView2的线程模型

.NET混合开发解决方案5 WebView2运行时与分发应用

.NET混合开发解决方案6 检测是否已安装合适的WebView2运行时 

.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件

.NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件

.NET混合开发解决方案9 WebView2控件的导航事件

.NET混合开发解决方案10 WebView2控件调用网页JS方法

.NET混合开发解决方案11 网页JS调用C#方法

.NET混合开发解决方案12 网页JS调用C#方法访问WinForm或WPF窗体

.NET混合开发解决方案13 自定义WebView2中的上下文菜单

.NET混合开发解决方案14 WebView2的基本身份验证

.NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明

.NET混合开发解决方案16 管理WebView2的用户数据

.NET混合开发解决方案17 清除WebView2的缓存记录

.NET混合开发解决方案18 调试WebView2应用

  • 使用 WebView2 DevTools 调试应用程序
  • 使用 Visual Studio Code 调试应用程序
  • 使用 Visual Studio 调试WebView2应用

.NET混合开发解决方案19 使用 DevTools 协议帮助程序 

.NET混合开发解决方案20 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用

.NET混合开发解决方案21 WebView2 应用的开发最佳做法

.NET混合开发解决方案22 开发安全的 WebView2 应用

.NET混合开发解决方案23 将 WebView2 应用分发为单个可执行文件

  在本系列的前面多篇文章中介绍了WebView2从入门到集成的详细过程以及核心知识点。我为什么会写这么多篇博客来记录WebView2的使用历程,主要是在开发《建筑工程施工图BIM智能审查系统》过程中,勘察设计单位端与审查专家端(C/S架构 WinForm)的程序集成了Web端BIMFace的功能。第一次使用了CefSharp组件,集成开发结束后,测试及使用过程中遇到了一些无法处理的bug及严重的性能问题。然后又测试对比了其他多种组件,具体情况可以阅读我的博客《.NET桌面程序集成Web网页开发的十种解决方案》。最终选用了微软新出品的基于Edge浏览器的WebView2组件,经过测试及大量客户实际应用,可以直观的感受到WebView2组件的功能稳定性与其他强大、便捷之处。

下面通过多方位的对比WebView2与CefSharp组件,让大家有更直观的感受,抛砖引玉,希望对大家有所帮助。

如有表述不当,请大家及时指出。两者还有一些其他常用功能,这里无法详尽列出,大家可以在使用中再仔细对比。

其中第23项的现象如下

 

其中第24、25项的对比

  • 使用CefSharp组件加载大体量BIM模型渲染失败的现象

  • 使用WebView2组件加载大体量BIM模型渲染成功的现象

(1)CefSharp组件加载Web网页,BIMFACE轻量化后的模型加载到38%左右时,渲染失败,呈现黑色效果,客户端电脑的CPU跑满,内存消耗95%。在建筑工程施工图BIM智能审查应用场景中,BIM模型相对CAD、PDF来说,模型尺寸呈几何级增长,超大模型甚至达到10G,构件数量达到万级、三角片面数量达到百万甚至千万级。 同一台电脑,同一套程序,使用WebView2组件加载相同的大模型时一切正常,且CPU、内存均比使用CefSharp时使用率低。

(2)CefSharp加载大体量模型时,当内存消耗过高时,导致客户端程序闪退。 WebView2组件不存在该问题。

 

  经过对比不难发现 Cefsharp 与 WebView2 组件的功能都非常丰富。客户端程序如果只是集成简单的网页应用,二者任选其一都可以,前提是客户端电脑的缩放比例必须是100%。如果是加载游戏、二维图纸、三维模型等复杂内容时,建议使用微软的WebView2组件,其性能与稳定性比CefSharp处理的更好。

系列目录     【已更新最新开发文章,点击查看详细】

成在管理,败在经验;嬴在选择,输在不学!  贵在坚持!

 

 个人作品

   

    BIMFace.SDK.NET

     开源地址:https://gitee.com/NAlps/BIMFace.SDK

     系列博客:https://www.cnblogs.com/SavionZhang/p/11424431.html

     系列视频:https://www.cnblogs.com/SavionZhang/p/14258393.html

 技术栈

   

 1、Visual Studio、.NET Core/.NET、MVC、Web API、RESTful API、gRPC、SignalR、Java、Python

 2、jQuery、Vue.js、Bootstrap、ElementUI

 3、数据库:分库分表、读写分离、SQLServer、MySQL、PostgreSQL、Redis、MongoDB、ElasticSearch、达梦DM

 4、架构:DDD、ABP、SpringBoot、jFinal

 5、环境:跨平台、Windows、Linux、Nginx

 6、移动App:Android、IOS、HarmonyOS、微信小程序、钉钉、uni-app、MAUI

   

 分布式、高并发、云原生、微服务、Docker、CI/CD、DevOps、K8S;Dapr、RabbitMQ、Kafka、RPC、Elasticsearch。

   

欢迎关注作者头条号 张传宁IT讲堂,获取更多IT文章、视频等优质内容。

 商务合作:IT技术与企业信息化解决方案咨询

   

 微信:zhangsavion    QQ:905442693 

出处:www.cnblogs.com/SavionZhang

网友评论