在去年的 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

原文链接

  https://devblogs.microsoft.com/dotnet/bring-the-best-of-the-web-to-your-net-desktop-applications-with-webview2/

【译】使用 WebView2 将最好的 Web 带到 .NET 桌面应用程序中的更多相关文章

  1. Jena 简介:通过 Jena Semantic Web Framework 在 Jave 应用程序中使用 RDF 模型

    简介: RDF 越来越被认为是表示和处理半结构化数据的一种极好选择.本文中,Web 开发人员 Philip McCarthy 向您展示了如何使用 Jena Semantic Web Toolkit,以 ...

  2. web容器线程数和程序中线程阻塞导致 请求超时

    问题描述: web项目启动之后.调用dubbo的远程服务. 但是有个基础服务报错. 当并发访问用户量上来之后. dubbo服务的报错返回 比正常服务慢 不能正常消费服务 清理服务线程. 也就是dubb ...

  3. 使用Flex构建Web和移动参考应用程序

    范例文件 Shopping Cart Sales Dashboard Expense Tracker 需要的其他产品 Android 2.2及更高版本或Android 3.0及更高版本的设备 仅仅在F ...

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

    系列目录     [已更新最新开发文章,点击查看详细] WebView2组件支持在WinForm.WPF.WinUI3.Win32应用程序中集成加载Web网页功能应用.本篇主要介绍如何在WinForm ...

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

    系列目录     [已更新最新开发文章,点击查看详细] 在我的博客<.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件>中介绍了WinForm ...

  6. Node.js + Web Socket 打造即时聊天程序嗨聊

    前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前 ...

  7. Web 应用程序中的安全向量 – ASP.NET MVC 4 系列

           Web 程序运行在标准的.基于文本的协议(HTTP 和 HTML)之上,所以特别容易受到自动攻击的伤害.本章主要介绍黑客如何滥用应用程序,以及针对这些问题的应对措施.   威胁:跨站脚本 ...

  8. mac版微信web开发者工具(小程序开发工具)无法显示二维码 解决方案

    微信小程序概念的提出,绝对可以算得上中国IT界惊天动地的一件大事,这可能意味着一场新的开发热潮即将到来, 我也怀着激动的心情准备全身心投入其中,不过截止目前,在官方网站上下载的最新版本都无法使用,打开 ...

  9. [转]从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法

    这个方法主要思路是利用自定义URL Protocol来调用应用程序.浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数.对于我这个项 ...

随机推荐

  1. Spring实战第4版PDF下载含源码

    下载链接 扫描右侧公告中二维码,回复[spring实战]即可获取所有链接. 读者评价 看了一半后在做评论,物流速度挺快,正版行货,只是运输过程有点印记,但是想必大家和你关注内容,spring 4必之3 ...

  2. 力扣Leetcode 50. 实现Pow(x, n)

    实现Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 ...

  3. 没想到,Git居然有3种“后悔药”!

    没想到,Git居然有后悔药! 你知道Git版本控制系统中都有哪些"后悔药"吗? 本文通过案例讲解git reset . git revert . git checkout在版本控制 ...

  4. Python画图库Turtle库详解篇

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  5. (Android图片内存优化)Picasso加载图片 教程。。详细版

    Picasso 是 Android 上一个强大的图片下载和缓存库. 示例代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Picasso.with( ...

  6. 【IDEA】【SpringBoot】基于idea对springboot程序远程调试

    一.开启远程调试前提:本地代码与服务器代码一致(实测:不关键的代码稍微有点不一样好像也不会有多大问题). 二.开启远程调试步骤 1.开发工具配置 idea端打开Edit configurations, ...

  7. Java面试题(1):详解int与Integer

    Java面试题(1):详解int与Integer int与Integer的区别 int是Java的基本数据类型之一,Integer是int的包装类 int直接再内存中储存值,Integer进行new操 ...

  8. C++11的decltype关键字

    C++11的decltype关键字 概述 decltype关键字和auto有异曲同工之处 有时我们希望从表达式的类型推断出要定义的变量类型,但是不想用该表达式的值初始化变量(如果要初始化就用auto了 ...

  9. [Java数据结构]LinkedHashMap,TreeMap

    HashMap不能记住插入时的顺序,但LinkedHashMap可以做到这一点. 例程: Map<Integer,String> empMap=new LinkedHashMap<I ...

  10. 难道主键除了自增就是GUID?支持k8s等分布式场景下的id生成器了解下

    背景 主键(Primary Key),用于唯一标识表中的每一条数据.所以,一个合格的主键的最基本要求应该是唯一性. 那怎么保证唯一呢?相信绝大部分开发者在刚入行的时候选择的都是数据库的自增id,因为这 ...