50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

OpenSilver 3.1 将带来 XAML 跨平台设计器

作者:Edin Kapić

  • 2025-01-29
    北京
  • 本文字数:1018 字

    阅读完需:约 3 分钟

OpenSilver 3.1 将带来 XAML 跨平台设计器

最新推出的 OpenSilver 3.1 是微软退役的 Silverlight 网络应用程序的重制版,将其七月推出的视觉设计器推广至 Windows 外的其他平台。此外,该版本也支持 .NET 9 和一些 WPF 特定功能。


OpenSilver 于 2021 年 10 月,由一家法国公司 Userware 推出,是对 Sliverlight 的开源和 MIT 许可的重新实现。OpenSliver 将 .NET 和 XAML 代码编译成 HTML5 和 WebAssembly,重新实现标准控件特定的第三方控件。它允许开发者复用传统 Sliverlight 或 XAML 应用而无需推倒重写,OpenSilver 的最新版本为 2024 年 7 月更新的 3.0 版本,其中引入了 Visual Code 上的可视化拖拽 XAML 设计器。


新版本的设计器是以 Visual Studio Code 扩展的形式提供,为 macOS 和 Linux 平台带来了全面的设计器支持。它支持一百多个控件,还添加了用于 UI 创建的 AI 助手,其中 AI 助手需要登录微软账号才能使用。



OpenSilver 3.1 XAML 设计器在 macOS 的 VS Code 中运行(图源:Userware)


除了可视化设计器的跨平台兼容支持,OpenSilver 平台上还有其他的一些变化,其中最重要的是对最近发布的 .NET 9 的全面支持。


目前,OpenSilver 一直在模仿 Silverlight 应用和控件的外观和使用感觉,而新版本中开发者可以在“经典”主题和带有扁平化控件且色彩鲜亮的现代主题之间选择。现代主题还有浅色和深色两个版本。



OpenSilver 3.1 的现代用户界面主题(图源:Userware)


OpenSilver 已经涵盖了相当多的 WPF 代码。Sliverlight 虽然发源自 WPF,但有些 WPF 功能在 Silverlight 和 OpenSilver 中都不支持。在 3.1 版本中,部分功能得到实现。目前,Silverlight 可支持 UniformGrid、x:Static attribute、MultiBinding class 和 DynamicResource 标记扩展。


在 Reddit 上的 dotnet 社区中,OpenSilver 3.1 的发布帖下讨论众多,关注重点在于视频的快节奏和效果。不过,在 OpenSilver 和 XAML 设计器的评论总体还是偏向正面的。


Userware 计划在未来的几项功能中扩展 OpenSilver 的能力,其中包括对 WPF 的完全兼容、MAUI 集成、Blazor  组件的互操作性,以及对 XRSharp.io 框架的全 3D 支持。


OpenSilver 的源码已在 GitHub 上公开,其代码块目前有 1006 个 stars 且被 fork 了 117 次。除 Userware 开发团队外,该项目还有 47 位活跃贡献者。OpenSilver 官网称,依赖该框架的公司有拜耳、TATA、毕马威等等。


原文链接:


OpenSilver 3.1 Brings XAML Cross-Platform Designer(https://www.infoq.com/news/2024/12/opensilver-3-1-xaml/)

2025-01-29 14:0016326

评论

发布
暂无评论

阅读对写作的好处

董一凡

写作

OBS推流学习笔记

IT蜗壳-Tango

直播 OBS 推流 B站直播

写给产品经理的信(4):你一定要做产品经理么?

punkboy

生涯规划 产品 程序人生 产品经理 职业规划

一个前端的 Windows10 开发环境

Gadzan

大前端 windows Windows Terminal 环境安装 开发工具

财富的大门给我开了一条缝

YoungZY

读书笔记 读书

ARTS week 1

时之虫

ARTS 打卡计划

【译】并不存在的普通用户(面向极端用户的设计)

Yukun

设计思维 可用性

Java 异步编程:从 Future 到 Loom

理帆

Java 并发编程 kotlin Netty

企业也有中年危机?探讨数字化与永续经营

FinClip

数字化转型 小程序生态

Git数据传输模型及常用命令整理

wangkx

git git flow

在 Go 中使用并发编程 - 第二部分

TuringTuring

并发编程 协程 线程模型 Go 语言

数据与广告系列三:合约广告与与衍生的第三方广告数据监控

黄崇远@数据虫巢

数据挖掘 互联网 广告 移动互联网

[JVM] String#intern 面试必会

猴哥一一 cium

Java JVM string pool string Java 25 周年

Kubernetes in action 笔记

FeiLong

Kubernetes 容器

使用 Python 和 SudachiPy 进行日语分词

Roc

Python 日语 分词

ansible-playbook中when结合tags使用,实现变量控制执行

唯爱

redis数据结构介绍六 快表

Nick

redis 源码 数据结构 源码分析 算法

微信推文无缝滚动是这样炼成的

Geek_3gb7ez

微信 大前端 微信公众号 微信推文 图文混排

教师节H5案例制作思路分享

Geek_3gb7ez

大前端 H5游戏

Windows10 如何正确修改本地用户的名称及目录

Geek_3gb7ez

windows Windows 10 电脑故障 Windows技巧

JUC整理笔记三之测试工具jcstress

JFound

Java

redis数据结构介绍四-第四部分 压缩表

Nick

redis 源码 数据结构 源码分析 算法

使用 Python 分析 Google Calender 日程

Roc

Python 总结 日历

2020全球首创币期权DAPP智能合约强势来袭,闪耀数字经济

极客编

使用 Markdown 制作五线谱

Roc

GitHub markdown 五线谱

KubeFATE 部署多集群联邦学习平台 FATE

亨利笔记

学习 Kubernetes FATE KUBEFATE

平台化服务的基石:用户认证模型设计

孤岛旭日

企业架构 模型 用户权限

redis数据结构介绍五-第五部分 对象

Nick

redis 源码 数据结构 源码分析 算法

ARTS-weekly-31

落英坠露

ARTS 打卡计划

RocketMQ - 如何实现顺序消息

Java收录阁

RocketMQ

学慢点儿,想深点儿

熊斌

学习

OpenSilver 3.1 将带来 XAML 跨平台设计器_性能优化_InfoQ精选文章