+-
android – Xamarin UI:以编程方式VS XAML
最近我参加了关于Xamarin的演讲,我们不鼓励使用XAML进行UI设计.我最近开始进行移动开发,我想知道哪种是设计用户界面的最佳方式;以编程方式或使用XAML执行此操作?
最佳答案
编辑2017 – 使用XAMLC(XAML编译器,阅读更多 here)XAML在构建时编译为IL代码,因此运行时不再涉及XAML解析.在许多情况下,这使得XAML在代码隐藏C#中编码UI的速度非常快或非常接近.随着XAML编译的最新改进,它还提供强类型绑定(阅读更多 here),这意味着在构建期间捕获绑定错误.当您在Visual Studio XAML编辑器中编辑XAML时,会在设计时捕获XAML中的某些错误

我假设你问的是Xamarin Forms.

如果你能提到你听到XAML不好的原因会很有趣.

 我认为有人可以阻止你使用XAML的唯一原因是性能.

 我在Xamarin Forms上发现了一些关于使用XAML创建一些使用Xamarin Forms的UI的性能问题的帖子.
但鉴于Xamarin Forms是一种早期技术,我想这些问题是暂时的,并将得到修复.

我不同意声明性用户界面(XAML)与编码用户界面只是个人品味的问题.

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

>这很巧合,这是非个人的.除了少数几件事,XAML对每个人来说都是一样的.你不能对实际的代码说同样的事情,它更详细,有方法调用,变量声明等等.
>它更易于维护.它比实际代码更容易阅读和修改.
>它有助于在UI和逻辑之间明确区分关注点.没有XAML也可以实现同样的目标,但只需使用XAML就可以更接近这个目标了.
>工具友好.不幸的是,Xamarin Forms今天仍然没有预览器或设计器,但是应该更改在编辑XAML时Visual Studio中有一个XAML预览器,但它仍然不能100%工作.了解有关Xamarin Forms XAML Previewer here和here的更多信息

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

当有人说XAML不好时,我不禁想到HTML. HTML也不好吗?在Javascript中创建HTML元素更好吗?显然不是.
我知道有些人会说你不能真正比较XAML和HTML,因为XAML不是像HTML一样“本机”,但它们都不仅仅与表示层相关吗?

Xamarin(现在的微软)对XAML有一些很好的介绍,你可以阅读here.

我认为具有原生iOS背景的开发人员倾向于不使用声明性UI,因为不幸的是,本机iOS开发大多数都是有效的.您被迫使用代码来实现设计器中不可用的不同内容,并且没有可用的本机声明UI标记语言(只有一种,但格式不公开,并不意味着直接修改).

您可能现在知道这一点,但Xamarin Forms并不是使用Xamarin构建应用程序的唯一方法. Xamarin!= Xamarin表格.
您可以本机构建UI并仍然共享逻辑(ViewModel,服务等).在Android上,您可以在AXML中构建UI.你会得到更接近Xamarin的金属.但是你需要数据绑定,因此像MvvmCross这样的框架可以帮助解决这个问题.

点击查看更多相关文章

转载注明原文:android – Xamarin UI:以编程方式VS XAML - 乐贴网