何时使用Xamarin.Forms vs Xamarin Native?

我需要在Xamarin.Forms和Xamarin原生应用程序之间进行select。

我想与Xamarin.Forms作为UI代码将被共享。

那么Xamarin.Forms与Native相比有什么缺点?

除了Xamarin网站上显示的要点 ,您还应该考虑:

你的团队的背景

你的团队中有没有人有以前的Android或iOS本地编码经验(使用Java或Obj-C / Swift)? 这个经验在本地Xamarin中被重用,但是他们将不得不学习另一个在Forms中编码的平台。

如果他们对iOS / Android一无所知,但知道一些xaml,情况也是如此。 当然,Xamarin.Forms与WPF / Silverlight不同,但是知道xaml肯定会帮助我使用Forms。

性能

Xamarin表单仍然有一些问题,比如初始化时间。 你应该考虑这是否会成为你最终用户的问题。 我偶尔也会懒得等一段时间才能打开的仪表板应用程序,但是如果消息应用程序发生同样的情况,我也会生气。

交货时间

由于使用表单时代码共享较大,因此您可能希望加快交付速度。

你的应用程序的复杂性

考虑到以前的观点,使用表格,你可能会偶然发现一些显示塞尔的bug(毕竟这是一个非常新的技术),将会使时间增加。 在select之前考虑你的应用程序的复杂性。

Xamarin.Forms

优点

  • 为所有平台创build一个UI
  • 使用所有平台上可用的基本组件(如button,文本框,纺纱器等)
  • 无需学习所有的原生UI框架
  • 快速的跨平台开发stream程
  • 自定义本机渲染器可以让您调整控件的外观和感觉

缺点

  • 这仍然是一个新的框架,仍然包含错误
  • 尤其是Windows RT还不稳定
  • 有时候比直接访问本地控件要慢一些
  • 自定义本机渲染器有边界,logging不完善

Xamarin.Android,Xamarin.iOS,Windows Phone,Windows RT

优点

  • 为每个平台创build一个UI
  • 轻松调整平台特定的UIfunction和组件
  • 从您的用户界面中获得最大的收益

缺点

  • 跨平台开发过程要慢得多
  • 你需要学习所有原生的UI框架
  • 您可能会导致重复的代码 (正如您以三种不同的平台特定方式描述几乎相同的用户界面)

除了Xamarin在https://xamarin.com/forms上说:;

哪种Xamarin方法最适合您的应用程序?

Xamarin.Forms是最好的:

  • 数据录入应用程序
  • 原型和概念validation
  • 需要很less的平台特定function的应用程序
  • 代码共享比自定义UI更重要的应用程序

Xamarin.iOS&Xamarin.Android最适合:

  • 需要专业互动的应用程序
  • 应用程序与高度抛光的devise
  • 使用许多特定于平台的API的应用程序
  • 自定义用户界面比代码共享更重要的应用程序

从Xamarin网站

Xamarin.Forms是最好的:

  • 数据录入应用程序
  • 原型和概念validation
  • 需要很less的平台特定function的应用程序
  • 代码共享比自定义UI更重要的应用程序

Xamarin.iOS&Xamarin.Android最适合:

  • 需要专业互动的应用程序

  • 应用程序与高度抛光的devise

  • 使用许多特定于平台的API的应用程序

  • 自定义用户界面比代码共享更重要的应用程序