Flutter macOS WebView(3.24 后)
WebView 是客户端 App 开发中经常使用的组件。对于 Flutter 开发,在移动端下对 WebView 有较好的支持。
在 Flutter 中集成 WebView,需要基于 Flutter 的 PlatformView 机制。PlatformView 是一种将平台原生的视图嵌入到 Flutter 布局中的技术。
在桌面场景(Windows/macOS/Linux)下,PlatformView 机制长期处于缺位状态,这导致了在桌面端下,WebView 也是长期缺失的。
随着 Flutter 3.24 版本的发布,macOS 下的 PlatformView 实现完成了,这就代表 Flutter 在 macOS 下能使用 WebView 了。
目前,macOS 下的 WebView 实现仍处于早期阶段,尚未正式发版,在本文中,我们使用 webview_flutter
库的未发布分支,进行前瞻体验。
stuartmorgan/packages
stuartmorgan 向 packages 中提交了一个 PR,为 webview_flutter
提供了 macOS 下的实现。该提交是早于 Flutter 3.24 的,只是在 3.24 之前,macOS 下 PlatformView 的支持还不完整,直到 3.24 发布才变得可用。
webview_flutter
官方库还未正式支持 macOS,因此我们只能使用 stuartmorgan/packages 的 fork 版本。具体方法为:
- clone stuartmorgan/packages
- 切换到 webview-macos 分支
- 在本地项目中,按照本地路径方式,引用依赖
webview_flutter_wkwebview:
path: /path/to/stuart-packages/packages/webview_flutter/webview_flutter_wkwebview
Demo
使用方式可参见 stuartmorgan/packages 的 example,还是基于 webview_flutter
的统一接口(webview_flutter_platform_interface
),因此使用方式与移动端是一致的。
在我电脑上的运行效果如下:
网络资源
本文作者:Maeiee
本文链接:Flutter macOS WebView(3.24 后)
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!