【译】Silverlight 不会消亡 XAML for Blazor 到来

  Userware 正在使用早已消失的、令人怀念的微软 Silverlight Web 开发平台的遗留来支持其新的“XAML for Blazor”产品,该产品允许 .NET 开发人员在客户端 Blazor 应用程序中使用标记语言。

  这家法国软件公司因推出开源软件 OpenSilver 而名声大噪。OpenSilver 是 Silverlight 被微软淘汰后的替代品。

  Silverlight 是一个流行的框架,微软在2021年10月正式停止了对它的支持,尽管它早前的弃用导致了许多忠实的开发人员的焦虑,他们抱怨说,他们在这个框架上投入了太多,却只看到其退场。

  Userware 和其他一些第三方一起,试图保持 Silverlight 技术的活力,最新的例子就是为 XAML for Blazor。这与 Blazor 的 Web 技术(HTML/CSS)相反,后者是微软青睐的方法。Daniel Roth 是 ASP.NET 的主要项目经理。他去年也说过:“我们知道 XAML 是一种流行的 UI 开发技术,但是对于 ASP.NET Core & Blazor 来说,我们的重点是基于 HTML 和 CSS 的 Web 开发。对于那些对基于 XAML 的 Web 开发感兴趣的人,我们建议他们加入各种基于 XAML 的社区:Uno, Avalonia, OpenSilver,. Net MAUI。”

  因此,对于那些喜欢 XAML 方法(但显然不想使用以移动为中心的 .NET MAUI)的人来说, XAML for Blazor 通过 NuGet 包获取,该包允许开发人员并行地利用 XAML 文件和 Razor 文件,将 XAML 呈现为相同 DOM 中的纯 HTML。到目前为止,它只能与 Blazor 的客户端组件(称为 Blazor WebAssembly)一起工作。在 IDE 的市场中,相应的 Visual Studio 扩展可以将模板添加到 Visual Studio 的“add New Item”对话框中,从而方便在 Blazor 项目中创建新的 XAML 文件。

  Userware 首席执行官 Giovanni Albani 在 Reddit 上宣布该工具时说:“我们为 XAML for Blazor 的目标是解决开发人员在将现有的基于 XAML 的应用程序与 Web 应用程序集成时面临的挑战,并帮助弥合桌面和 Web 开发之间的差距。”从许多评论来看,人们对该工具大多持怀疑态度。

  Userware 列出了以下 XAML for Blazor 的好处和用例:

  1 具有 XAML 偏好或专业知识的开发人员现在可以在 Blazor 应用程序中利用他们的技能。他们可以使用熟悉的 XAML 特性,如 MVVM、绑定、样式、模板、面板、自定义控件等。

  2 从现有的基于 XAML 的应用程序(如 WPF、Silverlight、UWP 和WinUI 应用程序)中迁移或重用代码变得更加流畅,因为 Blazor 与 Silverlight 的特性几乎相同,并且与其他技术非常相似。

  3 XAML for Blazor 提供了对强大的 XAML 控件的访问,如 DataGrid 和 DataForm,以及 OpenSilver 针对企业的特性,包括 RIA 服务、WCF SOAP、PRISM、MEF 等等。

  Userware 本周表示:“我们从2014年开始构建 OpenSilver,从 Silverlight 迁移大型企业应用程序的经验,为我们在 HTML 中渲染 XAML 和处理复杂的互操作性场景方面提供了宝贵的洞察力。”

  除了目前缺乏服务器端支持外,已知的限制还包括:

  1 需要 .Net 7 或 .Net 8。目前仅在 Windows 上的 Visual Studio 2022 上测试。

  2 开发人员可以将 XAML 文件和 Razor 文件并排放在同一个 Blazor 项目中,但不能在单个文件中混合和匹配 XAML 和 Razor 的片段。

  3 XAML 主要支持的语言是 Microsoft Silverlight,它是 WPF 的一个浏览器友好的子集。从 WPF、UWP 或 WinUI 移植 XAML 片段相对容易。从 Xamarin Forms 或 .NET MAUI 进行移植需要更多的实质性工作。

  XAML for Blazor 有一个免费版本,不允许商业使用,也有专业版和企业版,价格各不相同。

  为了帮助开发人员开始使用新产品,Userware 在 GitHub 上发布了“入门”文档以及相关的示例应用程序。

  该公司未来的计划包括扩展对 Blazor Server 的支持,丰富文档和示例,以及引入UI设计器。

 

  原文连接:https://visualstudiomagazine.com/articles/2023/07/13/xaml-blazor.aspx

 

posted @ 2023-08-21 07:44  MeteorSeed  阅读(777)  评论(4编辑  收藏  举报