Uno Platform 5.5 版本发布总结
Uno Platform 近日发布了其最新版本 5.5,带来了新功能、错误修复和性能改进。此次发布的主要目标是简化和加速跨平台桌面应用程序的打包和分发。
Uno Platform 简介
Uno Platform 是一个用于构建多设备应用程序的替代 UI 平台,使用 C# 和 XAML 进行开发。它由加拿大公司 nventive 在多年内部使用后于 2018 年推出,允许开发者编写适用于 Windows、iOS、Android、WebAssembly、macOS 和 Linux 的应用程序。Uno Platform 以 Apache 2.0 开源许可证发布在 GitHub 上。
5.5 版本的主要改进
桌面应用程序打包的优化
在之前的版本中,Uno 已经简化了 iOS 和 Android 上的移动应用程序以及 Web 应用程序的打包。然而,Windows、macOS 和 Linux 上的桌面应用程序打包体验仍较为零散,需要为每个平台执行手动步骤。在 5.5 版本中,dotnet publish
命令得到了扩展,能够检测 Uno 应用程序中的 TFM(目标框架标识符),并为每个平台生成可执行文件:
未来,Uno 还将支持其他打包格式,如 dmg、pkg 和 flatpak。
示例命令:
创建 Linux Snap 包:
dotnet publish -f net8.0-desktop -p:SelfContained=true -p:PackageFormat=snap
创建 macOS .app 包:
dotnet publish -f net8.0-desktop -r osx-arm64 -p:SelfContained=true -p:PackageFormat=app
WebAssembly 构建流程的改进
5.5 版本中,Uno 将自定义的 WebAssembly 构建流程及其依赖项替换为标准的 .NET 9 SDK。WASM 应用程序现在可以使用构建增强功能和目标,如热重载、增量构建、AOT 构建以及直接 VS Code 支持。移动和桌面应用程序已在 Uno 5.3 中迁移到 .NET 9 SDK。
其他重要更新
- WebView2 控制:现已支持 WebAssembly 应用程序。
- GLCanvasElement 控制:提供对 OpenGL 3D 内容的直接访问,支持硬件加速,基于 Silk.Net 库。
- SKCanvasElement 控制:集成 Skia 桌面硬件渲染管道,跳过之前的软件生成步骤。
- ComboBox 控制:新增
IsEditable
属性,允许用户在控件中输入自定义值。
开发者迁移指南
对于准备升级到 Uno Platform 5.5 的开发者,官方提供了详细的迁移指南。
社区反馈与优势
根据 .NET 开发者在社交媒体上的讨论,Uno Platform 相比 MAUI 或 Xamarin 的主要优势在于,它是唯一支持使用 C# 和 XAML 编写 WebAssembly 和 Linux 应用程序的跨平台 .NET 框架。
更多关于 5.5 版本的详细信息,请访问 UNO GitHub 仓库。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。