.NET桌面程序混合开发之一:Winform+H5,WebView2概览
1. 基于Microsoft Edge的WebView2介绍
Microsoft Edge WebView2控件可以将web技术(HTML,css,javascript)应用于原生程序中。WebView2用Microsoft Edge作为引擎来渲染展示在原生程序中的网页内容。有了WebView2,就可以在原生程序的多个不同界面嵌入web内容,也可以构建基于单页面的原生程序。如下图所示:
。
如何构建WebView2的应用,点此查看。
2. 混合应用实践
开发人员经常被如何选择原生还是web类型的程序而困扰。而这需要在程序访问资源‘广度(reach)’和‘深度(power)’两者间做取舍。
- Web应用允许比较广泛的访问资源。作为一个Web开发者,多数的代码是可以跨平台的。
- 要访问本地资源,则需要用到原生应用。

混合应用可以融合二者所长:丰富和强大的网络资源+本地资源的深度访问能力。
3. WebView2的能力
- Web的丰富生态与技术栈。利用整个Web生态的框架、程序库、工具、和广大的从业人才。
- 快速迭代。Web开发可以快速部署与版本迭代。
- 兼容性好。Win7,8,10上都有一致的用户体验。
- 本地访问能力。可以访问整个原生体系的API。
- 代码复用。Web基础代码可以多平台复用。
- 微软支持。微软提供技术支持并持续添加新特性。
- 滚动更新发布。可以利用Chromium内核的平台更新与安全补丁更新机制。
- 锁定版本发布。也可以在应用中打包指定版本号的Chromium内核版本。
- 丰富的可选插件。添加插件到你的应用中。
4. 开始
想要构建和测试基于WebView2的应用,首先得安装WebView2 SDK。Visual Studio 2019中自带,如果没有,可以在Packge Manager控制台(View-Other Windows-Package Manager Console)执行如下代码:
PM> Install-Package Microsoft.Web.WebView2 -Version 1.0.1054.31
WebView2示例包括WebView2的特性和API的使用方法示例。随着更多的特性被加入,这个仓的示例也会随着更新。
5. 支持平台
通用或预览版本的WebView2,在以下开发环境中可以支持:
- Win32 C/C++ (GA)
- NET Framework 4.5 or later
- NET Core 3.1 or later
- NET 5
- NET 6
- WinUI 2.0 (Preview)
- WinUI 3.0
WebView2的应用可以运行在以下Winows平台: - Windows 11
- Windows 10
- Windows 10 IoT Enterprise LTSC x32 2019
- Windows 10 IoT Enterprise LTSC x64 2019
- Windows 10 IoT Enterprise 21h1 x64
- Windows 8.1
- Windows 7 **
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2008 R2 **
.NET桌面程序混合开发之一:Winform+H5,WebView2概览的更多相关文章
- Hybrid小程序混合开发之路 - 数据交互
HTML+CSS是历史悠久.超高自由度.控制精准.表现能力极强.编码简单.学习门槛超低.真跨平台的一种UI界面开发方式. 本文介绍的是微信小程序和H5混合开发的一种数据交互方式. 很多应用在原生界面中 ...
- .NET混合开发解决方案16 管理WebView2的用户数据
系列目录 [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...
- .NET混合开发解决方案13 自定义WebView2中的上下文菜单
系列目录 [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...
- .NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明
系列目录 [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...
- .NET混合开发解决方案14 WebView2的基本身份验证
系列目录 [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...
- .NET混合开发解决方案24 WebView2对比CefSharp的超强优势
系列目录 [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...
- .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件
系列目录 [已更新最新开发文章,点击查看详细] WebView2组件支持在WinForm.WPF.WinUI3.Win32应用程序中集成加载Web网页功能应用.本篇主要介绍如何在WinForm ...
- .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件
系列目录 [已更新最新开发文章,点击查看详细] 在我的博客<.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件>中介绍了WinForm ...
- H5、原生app、混合开发三者比较
一.概念 a) H5:即Html5,接触过互联网的都知道html,所以很明显h5是html的第5次重大修改的一项超文本标记语言的标准协议. b) 原生:使用原生制作APP(Native app),即在 ...
- .NET混合开发解决方案12 网页JS调用C#方法访问WinForm或WPF窗体
系列目录 [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...
随机推荐
- Win7 局域网服务器 - FTP 服务器搭建指南
1. 打开 "开始" 菜单,找到控制面板 2. 选择 "程序" 3. 选择 "打开或关闭 Windows 功能" 4. 选择 "I ...
- Thread.Suspend和Abort 的区别
理解: 在C#中,Thread.Suspend是一个方法,用于暂停当前线程的执行.它会导致线程停止执行并进入挂起状态,直到调用Thread.Resume方法才能继续执行. 然而,Thread.Susp ...
- Web自动化实战:去哪儿网购票流程测试
克隆源码 项目Github地址:https://github.com/gy-7/Web-automation-practice/tree/main/project1_qunar_booking_tic ...
- Vue Mixin 的深入浅出
mixin, 意为混入. 比如去买冰激凌,我先要一点奶油的,再来点香草的.我就可以吃一个奶油香草的冰激凌.如果再加点草莓,我可以同时吃三个口味的冰激凌. 代码表示 假设把你已有的奶油味的称为 base ...
- 力扣394(java)-字符串解码(中等)
题目: 给定一个经过编码的字符串,返回它解码后的字符串. 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次.注意 k 保证为正整数 ...
- [FAQ] PHP+Nginx 架构网站 502 和 504 问题
502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应.504 Gateway Time-out:作为网关或者代理工作的服务器尝试执行请求时,未能及时 ...
- [MongoDB] Mongo 表字段添加索引, 查看索引, 删除索引
查看索引: db.getCollection('xx').getIndexes(); 创建索引: # 1 代表升序,-1代表降序,name 指定索引名 db.getCollection('xx').c ...
- [ERROR] listen tcp :80: bind: permission denied
出现这类提示的时候,表明当前用户没有权限进行 bind 操作. 在某些 Linux 云服务器提供商的运行环境中会出现. 解决方式:使用 sudo 切换为 root,然后在执行原操作. Refer:li ...
- WinDbg 加载 dotnet core 的 sos.dll 辅助调试方法
本文告诉大家如何加载 .NET Core 或 .NET 5 的 sos.dll 文件到 WinDbg 的方法 和 .NET Framework 或 dotnet core 2.0 不相同的是,当前的 ...
- 2019-8-31-NuGet-如何设置图标
title author date CreateTime categories NuGet 如何设置图标 lindexi 2019-08-31 16:55:58 +0800 2019-4-27 17: ...