
我假设你问的是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 - 乐贴网