【译】使用 WebView2 将最好的 Web 带到 .NET 桌面应用程序中
在去年的 Build 大会上,我们引入了 WebView2,这是一个浏览器控件,可以用新的基于 Chrome 的 Microsoft Edge 来呈现 Web 内容(HTML / CSS / JavaScript)。它最初的范围仅限于 C/C++ 应用程序。今天,我们很高兴地宣布 .NET 应用程序的 WebView2 预览版发布了!WebView2 对 .NET Core 和 .NET Framework 都支持。它可以在 WPF、Windows Form 和 WinUI 3.0 应用程序中使用,一直到 Windows 7。

重要提示:当安装 NuGet 包时,确保选中“Include prerelease”复选框,并选择带有 -prerelease 后缀的版本。否则你将得不到 .NET 的支持。
以后,我们会根据路线图每6周更新一次 SDK,并会得到大家的反馈。您可以在发布说明中了解最新的更新。
关于控件
在 WebView2 控件家族的帮助下,您可以在桌面 .NET 应用程序中托管 Web 内容,并使用 Web 提供的所有好处来增强它们,例如动态内容、现代用户界面和工具。
过去
最初,我们从基于 Internet Explorer 的 WebBrowser 控件开始,因此不再适合现代 Web 内容。然后我们创建了一个基于 Edge 的控件,叫做 WebView。这个控制只能在 Windows 10 上运行,而且不能被包括在你的 app 里。我们听到您的反馈响亮而清楚,你想要一个现代和一致的控件,支持从 Windows 7 开始的所有 Windows 版本。这就是 WebView2 的诞生。它是基于 Microsoft Edge Chromium 平台,一致地支持从 Windows 7 开始的所有 Windows 版本。它每6周一次更新,使您能够使用最新的功能。
现在
WebView2 支持许多特性,如导航、Web 消息传递(应用程序和 WebView2 控件之间的通信)、本地对象注入(直接从 JavaScript 访问应用程序对象)等等。查看我们的文档以了解更多细节。在微软,我们在很多应用程序中使用 WebView2。一个例子是 Outlook 桌面版的 Room Finder 面板。通过使用 WebView2,我们能够重用来自 Outlook Web UI 的代码,并使其可以直接访问桌面版本。

未来
目前 WebView2 处于预览状态,我们正在开发 GA 版本。作为这一努力的一部分,我们将支持 Windows Form 和 WPF 的设计器支持,所以你可以喜欢的熟悉的拖放和所见即所得的方式使用。有关更多信息,请参阅我们的路线图。今天已支持 WindowsForm 的 .NET 框架设计器体验,其他的即将来临。
支持的平台
预览版目前支持以下平台:
Win32 C/C++
.NET Framework 4.6.2 or later
.NET Core 3.0 or later
WinUI 3.0
和以下windows版本:
Windows 10
Windows 8.1
Windows 8
Windows 7
Windows Server 2016
Windows Server 2012
Windows Server 2012 R2
Windows Server 2008 R2
原文链接

【译】使用 WebView2 将最好的 Web 带到 .NET 桌面应用程序中的更多相关文章
- Jena 简介:通过 Jena Semantic Web Framework 在 Jave 应用程序中使用 RDF 模型
简介: RDF 越来越被认为是表示和处理半结构化数据的一种极好选择.本文中,Web 开发人员 Philip McCarthy 向您展示了如何使用 Jena Semantic Web Toolkit,以 ...
- web容器线程数和程序中线程阻塞导致 请求超时
问题描述: web项目启动之后.调用dubbo的远程服务. 但是有个基础服务报错. 当并发访问用户量上来之后. dubbo服务的报错返回 比正常服务慢 不能正常消费服务 清理服务线程. 也就是dubb ...
- 使用Flex构建Web和移动参考应用程序
范例文件 Shopping Cart Sales Dashboard Expense Tracker 需要的其他产品 Android 2.2及更高版本或Android 3.0及更高版本的设备 仅仅在F ...
- .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件
系列目录 [已更新最新开发文章,点击查看详细] WebView2组件支持在WinForm.WPF.WinUI3.Win32应用程序中集成加载Web网页功能应用.本篇主要介绍如何在WinForm ...
- .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件
系列目录 [已更新最新开发文章,点击查看详细] 在我的博客<.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件>中介绍了WinForm ...
- Node.js + Web Socket 打造即时聊天程序嗨聊
前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前 ...
- Web 应用程序中的安全向量 – ASP.NET MVC 4 系列
Web 程序运行在标准的.基于文本的协议(HTTP 和 HTML)之上,所以特别容易受到自动攻击的伤害.本章主要介绍黑客如何滥用应用程序,以及针对这些问题的应对措施. 威胁:跨站脚本 ...
- mac版微信web开发者工具(小程序开发工具)无法显示二维码 解决方案
微信小程序概念的提出,绝对可以算得上中国IT界惊天动地的一件大事,这可能意味着一场新的开发热潮即将到来, 我也怀着激动的心情准备全身心投入其中,不过截止目前,在官方网站上下载的最新版本都无法使用,打开 ...
- [转]从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法
这个方法主要思路是利用自定义URL Protocol来调用应用程序.浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数.对于我这个项 ...
随机推荐
- hyperledger-fabric环境快速搭建踩坑集锦(实用)
安装docker 及 docker-compose 安装docker没什么好说的,一部分教程都给出了指令,在这里就不谈了. docker-compose不同的教程给出了不同的方法,在这里介绍一种极为快 ...
- typepra快捷键
- Idea创建maven加载过慢解决方法
添加标签:archetypeCataloginternal问题解决!
- 无法登陆网站,nginx漏配置
location / { try_files $uri $uri/ /index.php?$query_string; } 这条主要是将index.php入口文件重写掉,所以平常我 ...
- Vuex 注入 Vue 生命周期的过程
首先我们结合 Vue 和 Vuex 的部分源码,来说明 Vuex 注入 Vue 生命周期的过程. 说到源码,其实没有想象的那么难.也和我们平时写业务代码差不多,都是方法的调用.但是源码的调用树会复杂很 ...
- [] !== [] is true
这周工作看见一个小伙伴给我私信发了这样的一个问题,我深剖了一下,希望大家能早点脱掉这个坑. Question: 如果定义了一个空数组,在开发过程中经常会做这样的一个判断,就是这个数组里发生变化不再是空 ...
- 程序员你的maven多模块项目如何对外输出为一个构件?
上图为常见的台式机,程序员,你看了有啥启发? 台式机生产线 我的maven代码工程 xxx 显示器 xxx-web 主机 xxx-app 键盘 xxx-domian 鼠标 xxx-infrastrat ...
- windows远程连接老是出问题?如何使用Radmin进行云服务器的远程连接与文件传输?
(windows远程连接老是出错怎么办?云服务器远程连接一直有问题怎么办?如何用对多台windows电脑远程连接怎么办? 最近发现win的mstsc不好用,偶然想起Radmin这款老牌软件,利用Rad ...
- ES6特性整理
ESMAScript6.0 ES6 兼容 IE10+ .Chrome.Firefox 要想兼容IE10以下的有两种方法: 用 babel 工具 borwer.js ,在 script 标签里添加 ty ...
- 测试JsonAnalyzer2的12个测试用例:
测试用例如下: 01. Compact json text={"status":"","message":"success&quo ...