我们有一个android应用程序,并希望为跨平台重新创建它。
支持Xamarin本地和形式的事实是什么?
本机的优点是,我们可以重用所有xml布局,而我们必须在XAML或XIB中重新创建iOS视图?
有什么是真正的阻断剂?
最佳答案
我将基于Giorgi的回答发表评论,并提供一些实际见解,并参考复制的项目符号要点:
这是我过去6个月中积累的经验的简历:
Xamarin.Forms最适合:
几乎不需要平台特定功能的应用
错误。借助DI,您可以使用可能需要的任何设备功能。如果您对此有疑问,请查看GitHub上的XLabs。
共享代码比自定义UI更重要的应用
真是胡说八道。您可以编写自己的渲染器,以所需的方式表示每个平台的控件。我还为自定义控件(如SideDrawer)编写了更加困难的渲染器。在android中,我需要2天的时间,在iOS中大约需要2周的时间(android渲染器只是本机控件的包装器)
开发人员对XAML感到满意
是的,还有喜欢方便的UI开发的任何人。请注意,xaml有一个学习曲线(我从WPF开发开始时就已经知道了这一点)。但是从我所看到的来看,它与android没有什么不同。
Xamarin.iOS和Xamarin.Android最适合:
互动需要本机行为的应用
虽然以本机破解您的解决方案肯定更快,但如果购买良好的控件/知道良好的本机实现并在C#中进行镜像,则可以更快地完成操作,因为C#中的API与本机非常相似。
使用许多特定于平台的API的应用
不确定Xamarin为什么针对表单进行反广告。到目前为止,我对此没有什么麻烦
自定义用户界面比其他用户更重要的应用
代码共享
可能是正确的,但保持UI功能内联也更加困难,您将需要更多的人力。
有关表单的注意事项:
目前,表单似乎处于稳定状态,我相信Microsoft会尽力将其转变为可靠的可靠产品(过去,构建问题一直是噩梦,但随着时间的推移,它变得越来越好)
与WPF XAML相比,用于Xamarin的XAML开发程度较低,尽管非常相似。但是,最近的nuget更新以惊人的速度提供了镜像功能。存在您对XAML期望和喜欢的绝大多数功能。
如果您不进行研究,则列表性能会很差(here)。性能增加了该区域的负载。
如果我不得不再次做出选择,我仍然会去申请表格。尽管有时候有些东西似乎有缺陷/不好,但是您通常可以花一些时间来真正开发出该应用,然后以某种方式找出一个全新的解决方案。 (有时您仍然会发现一些东西,使您不满意为什么未实现某些事情,例如,仅在微软购买xamarin之后才实现的Margin属性)
如果最终需要嵌套列表,请确保查看嵌入的本机控件以实现最佳性能-这对于我正在使用的产品至关重要。见this
关于xamarin - 我应该为现有的Android应用程序选择Xamarin native 还是Xamarin.Forms?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36899096/