竹笋

首页 » 问答 » 环境 » 微软的混合开发解决方案WebView2
TUhjnbcbe - 2024/5/5 18:21:00

混合开发

我们都知道对于桌面应用开发来说,人们常用的方式就是采用c++或者c#,java等进行开发,然而这些语言开发效率不够高,不如网页开发灵活。因此,人们思考能否采用html+css+js的方式来开发桌面客户端呢,于是人们就提出了混合开发概念,并且开发了electron框架进行桌面开发。

提到electron开发的桌面应用,就不得不提vscode,这个采用css+js+html开发的编辑器从诞生以来就逐渐占据市场的份额,现在几乎绝大部分的前端开发者都采用vscode进行开发,而且也有很多后端开发者逐渐采用vscode进行后端开发,可以说vscode证明了electron也可以开发出优秀的桌面程序。当然,除了vscode之外,whatsapp和twitch还有slack也是采用electron开发的。

webview2

webview2是微软推出的一组控件,它可以让本地应用程序轻松嵌入web技术。WebView2控件使用MicrosoftEdge作为呈现引擎在本机应用程序中显示Web内容。使用WebView2,您可以将Web代码嵌入到本机应用程序的不同部分,或在单个WebView实例中构建所有本机应用程序。

Webview2应用程序允许广泛的覆盖范围。作为Web开发人员,您可以跨不同平台重用大部分代码。对于要访问本机平台的所有功能,则推荐直接使用本机应用程序。

webview2由来

之所以称为WebView2,是因为它取代了WebView控件,而后者又取代了WebBrowser控件,老派Win32开发人员可能还记得。WebView使用原始的Edge(Trident)渲染引擎,是Windows10唯一的控件。WebView2使用较新的Edge渲染引擎,并支持多种Windows平台。

webview2优点

丰富的网络生态,因为采用web技术,因此丰富的web框架和库都可以拿来直接使用。

迭代和更新变得异常方便

提供了全套访问本地的功能接口。

多个平台的代码可以复用,一套代码多个平台。

微软官方支持开发和维护。

多个版本控制,可以选用不同的chromium进行打包。

webview2使用方式

通过安装开发版的Edge(Chromium),可以支持webview2的开发。

安装独立的WebView2Runtime,它可以独立下载和升级

将Edgechromium内核嵌入到程序之中。

webview2vselectron

Electron为常见的桌面应用程序需求提供API,例如菜单、文件系统访问、通知等。

WebView2是一个组件,旨在集成到WinForms、WPF、WinUI或Win32等应用程序框架中。

Node.js被集成到Electron中。Electron应用程序可以使用来自渲染器和主进程的Node.jsAPI、模块或node-native-addon。

WebView2应用程序支持嵌入到多种编程语言之中。您的JavaScript代码必须通过应用程序主机进程代理执行访问操作系统。

Electron努力保持与WebAPI的兼容性。

Electron具有可配置的Web内容安全模型,从完全访问到完全沙盒。WebView2内容始终被沙盒化.

webview2未来

目前的webview2还只是支持windows的各个版本预览,未来,webview将会支持UWP预览,macOS预览,Xbox预览,HoloLens预览,Linux预览,总之,webview2未来可期。

1
查看完整版本: 微软的混合开发解决方案WebView2