Uno Platform 4.9:媒体播放器元素、WebView2 和 Skia 的本地主机支持

Uno Platform 4.9 版本发布总结

本周,Uno Platform 发布了 4.9 版本,该框架用于构建原生移动、桌面和 WebAssembly 应用程序。此版本引入了两个社区期待已久的功能:MediaPlayerElement 控件WebView2 支持。此外,该版本还包括超过 100 项其他改进和增强功能,例如对 Skia 的原生宿主支持。

MediaPlayerElement 控件

  • 功能概述:MediaPlayerElement 控件从 Windows UI 扩展到 iOS、Android 和 Mac Catalyst 平台,并通过 Uno Platform 提供一致的媒体播放体验。
  • 跨平台支持:该控件支持 Web 和 Linux 目标,Linux 目标使用 libVLC 进行媒体渲染。
  • 文档:详细使用说明可在官方文档中找到。

WebView2 支持

  • 功能概述:WebView2 控件支持 Android、iOS 和 Mac Catalyst 平台,允许用户导航到外部网页并显示自定义 HTML 内容。
  • C# 与 JavaScript 通信:该控件支持 C# 和 JavaScript 之间的通信,实现强大的嵌入场景,例如与 JavaScript 图表或数据网格组件交互。
  • 替代 WebView "1":WebView2 取代了 WinUI 中的 WebView "1",提供了更丰富的功能集,并确保现有场景的无缝迁移。

Skia 原生宿主支持

  • 功能概述:新增的 Skia 原生宿主支持允许集成原生控件,增强平台集成能力。
  • 应用场景:该功能使 ContentControl 组件能够接受原生实例(如 GTK Widgets 或 WPF FrameworkElements),并在 Uno Platform 的表面上渲染它们。
  • 文档:开发者可通过官方文档深入了解此功能。

代码示例

以下代码示例展示了如何在 Uno Platform Skia 画布上显示一个新的 Gtk CheckButton 控件:

<ContentControl x:Name="MyControl">
    <ContentControl.Content>
        <CheckButton xmlns="using:Gtk" />
    </ContentControl.Content>
</ContentControl>

其他改进和优化

  • x:Bind 表达式支持:增加了对索引器和 MVVM 工具包的支持。
  • UIElement.ActualOffset 支持:新增了对 UIElement.ActualOffset 的支持。
  • ms-appdata 支持:支持通过 SvgImageSource 加载应用打包的 SVG。
  • 性能优化:WebAssembly 使用 JSImport/JSExport 实现了显著的性能改进,XAML 生成器也进行了性能和内存优化。
  • TextBlock 渲染优化:Skia 头部的 TextBlock 渲染性能得到了提升。
  • Visual Studio 2019 模板弃用:Uno Platform Solution Templates for Visual Studio 2019 已弃用。

资源与文档

  • 官方文档:开发者可访问官方文档获取详细的使用指南和教程。
  • GitHub 仓库:可通过官方 GitHub 仓库查看更多详细信息。
  • 发布日志:完整的改进列表可在发布日志中找到。

此次更新为开发者提供了更强大、更高效的开发体验,进一步扩展了 Uno Platform 的功能和应用场景。

阅读 113
0 条评论