【译】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

【译】Silverlight 不会消亡 XAML for Blazor 到来的更多相关文章
- Silverlight动态载入调用XAML资源
以多语言为例子: ResourceDictionary resourceDictionary = new ResourceDictionary(); //新建资源集合 var culture = ...
- silverlight visifire控件图表制作——silverlight 后台方法ControlChart.xaml.cs
一.构造方法ControlChart 1.前台页面控件赋值 //时间下拉框赋值,下拉框赋选定值 for (int ii = DateTime.Today.Year; ii ...
- silverlight 生产图表(动态图表类型,Y轴数量) .xaml.cs文件
silverlight 页面后台方法 .xaml.cs文件 public void CreateChart(Grid oGrid, ObservableCollection<ListItem&g ...
- 开源一个silverlight上的文本编辑器:SlEditor
控件设置三个状态:编辑.设计.查看. 控件的内容可以打包保存为zip格式,内容可以包含图片等元素(解决了silverlight RichTextBox控件xaml属性无法获取InlineUIConta ...
- SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现
原文:SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft ...
- silverlight与wcf双向通讯 例子
本文将建立一个silverlight与wcf双向通讯的简单实例,以下是详细步骤: 新建Silverlight应用程序,名称WCFtest.解决方案中添加WCF服务应用程序,名称WcfServiceTe ...
- Prism 4 文档 ---第10章 Silverlight和WPF之间共享代码
本主题帮助你理解来自Prism的多目标和它的优缺点.多目标的代码针对两个不同的平台有大致相同的代码库.这允许同时保持代码尽可能多一样能够产生针对两种不同技术的二进制文件.在这种情况下,本节介绍 ...
- Xamarin.Forms之XAML
官网参考 XAML基础知识 XAML(eXtensible Application Markup Language)可扩展应用程序标记语言,允许开发者在Xamarin.Forms应用中采用标记而不是代 ...
- 【炫丽】从0开始做一个WPF+Blazor对话小程序
大家好,我是沙漠尽头的狼. .NET是免费,跨平台,开源,用于构建所有应用的开发人员平台. 本文演示如何在WPF中使用Blazor开发漂亮的UI,为客户端开发注入新活力. 注 要使WPF支持Blazo ...
- Attribute和Property
有时很容易对Attribute和Property混淆,因为中文翻译都是“属性”来解释的.其实这两个表达的不是一个层面的东西. Property属于面向对象理论范畴,在使用面向对象思想编程的时候,常常需 ...
随机推荐
- 2021-05-14:给定一个数组arr,想知道arr中哪两个数的异或结果最大。返回最大的异或结果。
2021-05-14:给定一个数组arr,想知道arr中哪两个数的异或结果最大.返回最大的异或结果. 福大大 答案2021-05-14: 前缀树.一个数,用二进制表示,0走左边分支,1走右边分支.准备 ...
- 【从0开始编写webserver·基础篇#02】服务器的核心---I/O处理单元和任务类
I/O处理单元和任务类 前面写了线程池,那么现在要考虑如何去使用该线程池了 注意,到目前为止,我们还是在解决web服务器的I/O处理单元 即负责处理客户连接,读写网络数据的部分 线程池属于 Web 服 ...
- flutter apk启动闪退问题
今发布一个flutter apk 安装后启动时老是闪退,经过一遍又一遍查找,发现是指定了so的问题 看多次点击启动 一.比对打包后的apk 在出现该问题后也搜索了不少资料,参考过 https://bl ...
- Java工具类Result<T>
枚举类:ResultCodeEnum /** * 统一返回结果状态信息类 * */ @Getter public enum ResultCodeEnum { SUCCESS(200,"成功& ...
- windows10环境下安装RabbitMQ以及延时插件(图文)
安装转载:https://www.cnblogs.com/saryli/p/9729591.html 插件转载:https://blog.csdn.net/nbdclw/article/details ...
- 一分钟学一个 Linux 命令 - ps
前言 大家好,我是 god23bin.欢迎来到<一分钟学一个 Linux 命令>系列,每天只需一分钟,记住一个 Linux 命令不成问题.今天要说的是 ps 命令. 什么是 ps 命令? ...
- 逆向之Ja3指纹学习
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! tls tls实际上前身就 ...
- ApacheSpark:HowtoBuildandDeployaRealtimeDataProcessinga
目录 2.1 基本概念解释 2.2 技术原理介绍 2.3 相关技术比较 3.1 准备工作:环境配置与依赖安装 3.2 核心模块实现 3.3 集成与测试 4.1 应用场景介绍 4.2 应用实例分析 4. ...
- Java打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
代码如下: public static void main(String[] args) { int a,b,c; for(int num = 100;num <= 999;num++) { a ...
- uniapp-chatgpt跨端仿ChatGPT实例|uniapp+vue3+pinia多端聊天模板
基于uniapp+vite4+pinia跨多端实现chatgpt会话模板Uniapp-ChatGPT. uni-chatgpt 使用uni-app+vite4+vue3+pinia+uview-plu ...