写点什么

Microsoft 标准化了跨 UWP 和 Xamarin 的 XAML

  • 2017-05-23
  • 本文字数:1235 字

    阅读完需:约 4 分钟

Microsoft在BUILD 2017 大会上宣布公开 XAML 标准首个草案。XAML 是一种标记方言(dialect),意在统一用户接口组件的定义方式。

Microsoft 想要统一部分已有的 XAML 语言,它计划能在今年稍后给出 XAML 1.0 版本。 该标准建立后,Microsoft 规划进一步给出支持该标准的 UWP 和 Xamarin.Forms,使得在两个框架间可以共享 UI 定义。

目前该草案中定义的控件包括:Button、TextBlock、TextBox、ComboBox、Grid、StackPanel、Page 和 UserControl。上述控件都包括了一系列的属性,例如 Margin、HorizontalAlignment、VerticalAlignment、 Height 和 Width 等,一些控件还支持多种字体属性。上面并未列出该标准所支持的所有控件,还有不少其它控件和属性得到了请求(Request),并在该项目的议题(Issue)中得以批准,例如 Image、Border、WebView、Slider、ProgressBar 等。基于目前为止所建议的控件名称,看上去 XAML/UWP 将被用作参考,而不是作为 Xamarin 所使用的方言。

按 Microsoft 的说法,开发人员可以继续按以前的方法创建 UWP 和 Xamarin.Forms 应用,随后这些应用“将可在架构间重用和共享,并可扩展到更多的平台上”。此外:

当前开发人员无需做任何更改,可以继续在这两个平台上像往常一样调用同一 API。XAML 标准有助于开发人员重用和共享所有在用户端间共享的通用 UI 代码。

目前该标准的审查专家(Review Board)是由来自 UWP 和 Xamarin.Forms XAML 团队中的代表组成。但是如果未来有新的标准实现者出现,有计划会进一步扩展专家团队。专家们同时指出,“并非所有的XAML API 都会成为XAML 标准的一部分”。一个使用了XAML 的重要技术就是WPF。作为一名.NET 开发人员, Morten Nielsen 参与了周五的 BUILD 大会问答环节,并向 Microsoft 的 Windows 开发者平台副总 Kevin Gallo 提问了 Microsoft 对于 WPF 的未来规划。据Nielsen 说,Gallo 当时给出的回答是:“我们并未规划向WPF 中添加新的XAML 标准功能”。对此Nielsen 补充道:“我认为这类似于宣布‘WPF 已死’,正如你也感觉到的”。另一位开发人员 Bastian Schmidt 谈及了同一话题:“如果Microsoft 决定在标准中剔除WPF,Microsoft 必须发布终结WPF 的正式声明。”

Shaun Tonstad 给出了一种可能的解决方案,他将 WPF 应用转化到 UWP 上,因此无需标准提供对 WPF 的支持:

通过努力,我们实现了将 WPF 和 Silverlight 应用转换到 UWP 上。虽然标准能提供对 WPF 的支持也是一件好事,但是如果兼容 WPF 妨碍了实现用于 UWP 的跨平台 XAML,这是却我所不愿意看到的。无论大家如何看待 WPF,UWP 已经存在了,最好就是从 UWP 开始构建跨平台的互操作。

即使 Microsoft 正式声明终结 WPF(如果他们最终这样做的话),XAML 标准依然是向前迈进了一步,它统一了用于定义应用用户接口的语言,这些应用可以跨 UWP 和 Xamarin.Forms 运行,其中 Xamarin.Forms 被用于创建可在 iOS、Android 和 Windows Phone 上运行的应用。

查看英文原文: Microsoft Standardizes XAML Across UWP and Xamarin

2017-05-23 19:002086
用户头像

发布了 227 篇内容, 共 84.9 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

YashanDB索引优化,提高检索速度

数据库砖家

YashanDB支持容器化部署方案指南

数据库砖家

清源SCA社区版|每一次漏洞判定皆有代码为证

安势信息

清源CleanSource SCA 漏洞可达 清源SCA社区版

AI管理平台重磅发布:企业智能体管理中枢,告别碎片化治理!

奇点云

AI

权威认可!KaiwuDB 连续三年入选信通院数据库产业图谱

KaiwuDB

怎样做YashanDB数据清理,节省存储空间?

数据库砖家

怎样做YashanDB提升数据库容错能力

数据库砖家

怎样做YashanDB应用场景分析,助力业务选择?

数据库砖家

等保测评流程的优化与变革

等保测评

软件工厂,从设想走向现实的半个世纪

DevOps和数字孪生

YashanDB数据库自动化测试方案

数据库砖家

怎样做YashanDB数据一致性校验,确保业务准确?

数据库砖家

Crabc助力企业接口开发效率

Crabc低代码平台

低代码 数据服务 API 管理

怎样做YashanDB数据清理自动化,降低人工成本?

数据库砖家

如何在手机上查看三维图纸?

在路上

cad

赠送 10 张三天通票,和我们来畅聊 CommunityOverCode Asia 2025

阿里巴巴云原生

怎样做YashanDB自动化运维,降低管理成本

数据库砖家

等保测评后的持续改进策略

等保测评

AI技术在英语背单词App中的应用

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语口语

怎样做YashanDB支持高性能事务处理

数据库砖家

YashanDB数据库自定义函数开发指南

数据库砖家

怎样做YashanDB支持异地多活部署

数据库砖家

手机上接收的CAD图纸如何在电脑端查看?

在路上

cad

通义灵码进阶指南:超越基础提示,解锁智能编程新境界

阿里巴巴云原生

阿里云 通义灵码

怎样做YashanDB数据审计,保障业务合规?

数据库砖家

怎样做YashanDB优化SQL语句执行计划

数据库砖家

怎样做YashanDB支持数据库接口API开发

数据库砖家

怎样做YashanDB支持异构数据源整合

数据库砖家

怎样做YashanDB自动扩容策略,支持业务持续增长

数据库砖家

烟草行业信创迁移-企业综合管理平台上线运行

中烟创新

怎样做YashanDB提升检索速度的实用技巧

数据库砖家

Microsoft标准化了跨UWP和Xamarin的XAML_.NET_Abel Avram_InfoQ精选文章