我们有一个 Android 应用程序,想要重新创建它以实现跨平台。
支持或反对 Xamarin 原生和表单的事实是什么?
原生的优点是,我们可以重用所有 xml 布局,同时必须在 XAML 或 XIB 中重新创建 iOS View ?
有什么东西是真正的拦截器吗?
最佳答案
我将根据 Giorgi 的回答进行评论,并提供一些实际见解,并引用复制的要点:
这是我在过去 6 个月中收集的经验的简历:
Xamarin.Forms 最适合:
- 几乎不需要特定于平台的功能的应用
- 错了。通过 DI,您可以使用您可能想要的任何设备功能。如果您对此有疑问,请查看 GitHub 上的 XLabs。
- 代码共享比自定义 UI 更重要的应用
- 确实是胡说八道。您可以编写自己的渲染器,以您想要的方式表示每个平台的控件。我还为自定义控件(例如 SideDrawer)编写了更困难的渲染器。在 Android 中,我在 2 天之内完成,在 iOS 中大约 2 周(Android 渲染器只是 native 控件的包装器)
- 熟悉 XAML 的开发人员
- 是的,以及任何喜欢方便的 UI 开发的人。请注意,xaml 有一个学习曲线(我在开始 WPF 开发时就已经知道了)。但据我所知,它与 Android 并没有太大不同。
Xamarin.iOS 和 Xamarin.Android 最适合:
- 具有需要 native 行为的交互的应用
- 虽然在 native 破解您的解决方案肯定更快,但如果购买良好的控件/了解良好的 native 实现并将其镜像到 C# 中,则可以相当快地完成,因为 C# 中的 API 与 native API 非常相似。<
- 使用许多特定于平台的 API 的应用
- 不知道为什么 Xamarin 针对表单进行反广告。到目前为止我还没有遇到什么麻烦
- 自定义 UI 比自定义 UI 更重要的应用
代码共享
- 可能是这样,但保持 UI 功能内联也更困难,并且您将需要更多人力。
有关表单的注意事项:
Forms 目前似乎正在稳定下来,我相信微软会尽最大努力将其变成一个坚实、可靠的产品(构建问题在过去有时是一场噩梦,但它已经变得更好了)时间)
与 WPF XAML 相比,Xamarin 的 XAML 开发程度较低,但非常相似。然而,最近的 nuget 更新以令人印象深刻的速度提供了镜像功能。您期望和喜爱的 XAML 绝大多数功能都已具备。
如果您不进行研究,列表性能就会很差 ( here )。性能增加了该区域的负载。
如果我必须再次做出选择,我仍然会选择表格。虽然有时有些事情看起来有缺陷/不好,但您通常可以以某种方式找到一个干净的修复方案,同时花费大部分时间实际开发应用程序。 (有时您仍然会发现一些让您皱眉的事情为什么没有实现,例如 Margin 属性在微软购买 xamarin 后才实现)
- 如果您最终需要嵌套列表,请务必查看嵌入式 native 控件,以实现最大性能 - 这对于我正在开发的产品至关重要。请参阅this
关于xamarin - 对于现有 Android 应用程序,我应该选择 Xamarin native 还是 Xamarin.Forms?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36899096/