我应该为现有的Android应用程序选择Xamarin native或Xamarin.Forms吗?

Ali*_*iMC 13 xamarin.ios xamarin.android xamarin xamarin.forms

我们有一个Android应用程序,并希望为跨平台重新创建它.

Xamarin原生和形式的事实是什么?

本机的优点是,我们可以重用所有的xml布局,而我们必须在XAML或XIB中重新创建iOS视图?

什么是真正的阻挡者?

Dbl*_*Dbl 17

我将基于Giorgi的回答和一些实际见解发表评论,并参考复制的要点:

这是我过去6个月收集的经验的简历:

Xamarin.Forms最适合:

  • 需要很少平台特定功能的应用程序
    • 错误.使用DI,您可以使用任何您可能想要的设备功能.如果您对此有疑问,请查看GitHub上的XLabs.
  • 代码共享比自定义UI更重要的应用程序
    • 真是胡说八道.您可以编写自己的渲染器,以您希望的方式表示每个平台的控件.我还为自定义控件(如SideDrawer)编写了更难的渲染器.在android中我完成了2天,iOS大约2周(android渲染器只是本机控件的包装器)
  • 开发人员熟悉XAML
    • 是的,还有任何喜欢方便用户界面开发的人.请注意,xaml有一个学习曲线(我从WPF开发时就已经知道了).但据我所知,它与android没有什么不同.

Xamarin.iOS和Xamarin.Android最适合:

  • 具有需要本机行为的交互的应用
    • 虽然在本地修改解决方案肯定更快,但是如果购买好的控件/知道一个好的本机实现并在C#中镜像它,你可以相当快地完成,因为C#中的API与本机API非常相似.
  • 使用许多特定于平台的API的应用程序
    • 不确定为什么Xamarin正在对表格进行反广告.到目前为止我没有遇到什么麻烦
  • 自定义UI比代码共享更重要的应用
    • 可能是真的,但是保持UI功能内联也更难,你需要更多的人力.

关于表单需要考虑的事项:

  • 表格目前似乎趋于稳定,我相信微软会尽最大努力将其变成一个可靠,可靠的产品(有时候构建问题一直是个噩梦,但随着时间的推移,它会变得更好)

  • 与WPF XAML相比,Xamarin的XAML不太发达,尽管非常相似.然而,最近的nuget更新以令人印象深刻的速率提供了镜像功能.您期望和喜爱XAML的绝大多数功能都存在.

  • 如果你不做你的研究(这里),列表表现是不好的.性能增加了该区域的负载.

  • 如果我不得不再次做出选择,我仍然会选择表格.虽然有时会出现一些看似有缺陷/有缺陷的事情,但您通常可以通过某种方式找到一个干净的修复方式,同时花费大部分时间来实际开发应用程序.(有时候你仍会发现让你皱眉的事情,为什么没有实现某些东西,比如只在微软购买xamarin之后才实现Margin属性)

  • 如果您最终需要嵌套列表,请务必查看嵌入式本机控件以获得最佳性能 - 这对于我正在使用的产品至关重要.看到这个


Gio*_*rgi 7

根据Xamarin.Forms主页:

Xamarin.Forms最适合:

Apps that require little platform-specific functionality
Apps where code sharing is more important than custom UI
Developers comfortable with XAML
Run Code Online (Sandbox Code Playgroud)

Xamarin.iOS和Xamarin.Android最适合:

Apps with interactions that require native behavior
Apps that use many platform-specific APIs
Apps where custom UI is more important than code sharing
Run Code Online (Sandbox Code Playgroud)