.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 ...
随机推荐
- HarmonyOS极客松“上分秘籍”! 高手们顶峰相见!
HarmonyOS 极客马拉松2023 火热进行中,我们期待与各位开发者相聚一起,践行极客精神,创造无限可能! 我们鼓励各位极客们自由组队,挥洒创意,用HarmonyOS 探索移动应用和服务的更多 ...
- 在python中实现二叉树
二叉树设计 定义节点类 class Node: # 修改初始化方法 def init(self,value): self.value = value # 节点值 self.left = None # ...
- Sparse稀疏检索介绍与实践
Sparse稀疏检索介绍 在处理大规模文本数据时,我们经常会遇到一些挑战,比如如何有效地表示和检索文档,当前主要有两个主要方法,传统的文本BM25检索,以及将文档映射到向量空间的向量检索. BM25效 ...
- Sarsa模型和Q_learning模型简记
1. Sarsa模型 1.1 Sarsa类代码: class SarsaAgent(object): def __init__(self,state_n,action_n,learning_rate= ...
- Quick BI新版本功能解读系列之-V3.5
前言Quick BI V3.5版本于2019年11月底正式发布啦!本次大版本在智能.开放.以及可视化等方面都有重磅上新,具体包含智能小Q.开放数据服务.主题模板.以及散点图.地图系列等一系列功能的发布 ...
- 从 RxJS 到 Flink:如何处理数据流?
简介: 前端开发的本质是什么?响应式编程相对于 MVVM 或者 Redux 有什么优点?响应式编程的思想是否可以应用到后端开发中?本文以一个新闻网站为例,阐述在前端开发中如何使用响应式编程思想:再以计 ...
- OpenKruise v0.8.0 核心能力解读:管理 Sidecar 容器的利器
简介: OpenKruise 是阿里云开源的云原生应用自动化管理套件,也是当前托管在 Cloud Native Computing Foundation (CNCF) 下的 Sandbox 项目.它来 ...
- 阿里云重磅发布业务中台产品 BizWorks,中台发展进入下一个阶段
简介: 业务中台产品BizWorks重磅发布,这可以看作是阿里云在 "做厚中台" 战略上继 "云钉一体"之后的又一个新动作! 10 月 19 日,2021 云 ...
- IphoneX(10) 重启/关机, 强制重启/关机
正常关机是同时长按 音量+ 和 右侧电源键,屏幕出现滑动按钮进行关机. 注意截图是同时短按 音量+ 和 右侧电源键. 强制关机是按照顺序按三个键:音量+ 音量- 长按右侧键 Other:苹果X怎 ...
- python入门_模块2
0.collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdic ...