最近我参加了关于Xamarin的演讲,我们不鼓励使用XAML进行UI设计.我最近开始进行移动开发,我想知道哪种是设计用户界面的最佳方式; 以编程方式或使用XAML执行此操作?
And*_* N. 12
编辑2017 - 使用XAMLC(XAML-Compiler,在此处阅读更多内容)XAML在构建时编译为IL代码,因此运行时不再涉及XAML解析.在许多情况下,这使得XAML在代码隐藏C#中编码UI的速度非常快或非常接近.随着XAML编译的最新改进,它还提供强类型绑定(在此处阅读更多),这意味着在构建期间捕获绑定错误.当您在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的更多信息
我不是说XAML是完美的.但我认为这比手动编写UI要好.XAML使用相同的C#类和控件属性.XAML语法与XML相同,因为实际上所有XAML文档都是有效的XML文档.XAML基于XML.
当有人说XAML不好时,我不禁想到HTML.HTML也不好吗?在Javascript中创建HTML元素更好吗?显然不是.我知道有些人会说你不能真正比较XAML和HTML,因为XAML不是像HTML一样"本机",但它们都不仅仅与表示层相关吗?
Xamarin(现在是微软)对XAML有一些很好的介绍,你可以在这里阅读.
我认为具有原生iOS背景的开发人员倾向于不使用声明性UI,因为不幸的是,本机iOS开发大多数都是有效的.您被迫使用代码来实现设计器中不可用的不同内容,并且没有可用的本机声明UI标记语言(只有一种,但格式不公开,并不意味着直接修改).
您可能现在知道这一点,但Xamarin Forms并不是使用Xamarin构建应用程序的唯一方法.Xamarin!= Xamarin表格.您可以本机构建UI并仍然共享逻辑(ViewModel,服务等).在Android上,您可以在AXML中构建UI.你会得到更接近Xamarin的金属.但是你需要数据绑定,因此像MvvmCross这样的框架可以帮助解决这个问题.
小智 3
一个非常主观的问题。目前,Xamarin Forms XAML 的状态在设计器支持方面与早期的 Silverlight 类似。同样,在 Visual Studio 中也缺乏 Xaml Intellisence,但如果您使用最新版本的 Resharper,它将为其提供 Intellisence。
调试也可能令人沮丧,因为如果 Xaml 无效,加载 Xaml 的命令可能会导致崩溃。如果您在那里捕获异常,它仍然是可调试的,但自定义代码中的错误会更容易找到。最后,我听到一些轶事证据表明,在某些情况下 XAML 速度较慢,但我尚未证实。
话虽如此,我还是使用 XAML。它往往是使用具有 XAML 的语言进行开发的事实上的标准。我还怀疑 Xamarin Forms XAML 设计师会来。就像 Silverlight 的早期一样,我相信使用 XAML 今天可能不是最简单的,但它可能是为明天准备代码库的最佳选择。一旦你编写了 UI 代码,当工具跟上时,你将需要切换到 XAML。
但正如我之前所说,这是一个主观问题。
| 归档时间: |
|
| 查看次数: |
3000 次 |
| 最近记录: |