gpt4 book ai didi

android - Xamarin 用户界面 : Programmatically VS XAML

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:54:13 25 4
gpt4 key购买 nike

最近我参加了一个关于 Xamarin 的演讲,我们被劝阻不要将 XAML 用于我们的 UI 设计。我最近开始进行移动开发,我想知道哪种是设计用户界面的最佳方式;以编程方式还是使用 XAML?

最佳答案

EDIT 2017 - 使用 XAMLC(XAML 编译器,阅读更多 here)XAML 在构建时编译为 IL 代码strong> 因此在运行时不再涉及 XAML 解析。在许多情况下,这使得 XAML 与使用代码隐藏 C# 编写 UI 一样快或非常接近。随着 XAML 编译的最新改进,现在有强类型 数据绑定(bind)(阅读更多 here ),速度更快,并且在构建时 捕获数据绑定(bind)错误.当您在 Visual Studio XAML 编辑器中编辑 XAML 时,XAML 中的一些错误会在设计时被捕获

我假设您问的是 Xamarin Forms。

如果您能说说您听说 XAML 不好的原因,那将会很有趣。

我认为有人会阻止您使用 XAML 的唯一原因是性能。

我在 Xamarin Forms 上看到一些帖子,它们讨论了使用 XAML 创建一些带有 Xamarin Forms 的 UI 时的性能问题。但考虑到 Xamarin Forms 是一项早期技术,我想这些问题是暂时的,将会得到解决。

我不同意声明式 UI (XAML) 与编码 UI 只是个人品味问题。

声明式 UI(今天是 XAML,明天可能是其他东西)可能是比通过代码实现 UI 更好的方法,原因如下:

  • 很巧合,很客观。除少数情况外,XAML 对每个人来说看起来都一样。实际代码不能这么说,比较冗长,有调用的方法,声明的变量等等。

  • 它更易于维护。它比实际代码更易于阅读和修改。

  • 它有助于在 UI 和逻辑之间明确分离关注点。没有 XAML 也可以实现同样的事情,但仅通过使用 XAML,您就更接近这个目标。

  • 工具友好不幸的是,今天的 Xamarin Forms 仍然没有预览器或设计器,但这应该会改变 当您编辑 XAML 时,Visual Studio 中内置了一个 XAML 预览器,但它仍然不起作用100%。查看有关 Xamarin Forms XAML 预览器的更多信息 herehere

我并不是说 XAML 是完美的。但我认为这比手动编写 UI 更好。 XAML 使用相同的 C# 类和控件属性。 XAML 语法与 XML 相同,因为实际上所有 XAML 文档都是有效的 XML 文档。 XAML 基于 XML。

当有人说 XAML 不好时,我不禁想到了 HTML。 HTML 也不好吗?用 Javascript 创建 HTML 元素更好吗?显然不是。我知道有些人会说您不能真正比较 XAML 和 HTML,因为 XAML 不像 HTML 那样“原生”,但两者不都只与表示层相关吗?

Xamarin(现在是 Microsoft)对 XAML 有一些很好的介绍,您可以阅读 here .

我认为具有原生 iOS 背景的开发人员强烈倾向于不使用声明式 UI,因为不幸的是,这正是原生 iOS 开发的主要工作方式。您被迫使用代码来实现不同的东西,这些东西在设计器中不可用,并且没有可用的 native 声明性 UI 标记语言(有一种,但格式不公开,不能直接修改)。

您现在可能已经知道这一点,但 Xamarin Forms 并不是使用 Xamarin.Forms 构建应用程序的唯一方法。 Xamarin != Xamarin 表单。您可以在本地构建您的 UI,并仍然共享逻辑(ViewModel、服务等)。在 Android 上,您可以在 AXML 中构建您的 UI。使用 Xamarin,您将尽可能接近金属。但是您将需要数据绑定(bind),因此像 MvvmCross 这样的框架可以提供帮助。

关于android - Xamarin 用户界面 : Programmatically VS XAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29326656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com