我需要在Xamarin.Forms与Xamarin本机应用程序之间做出选择 .
我想使用Xamarin.Forms,因为UI代码也将被共享 .
那么与Native相比,Xamarin.Forms有什么缺点 .
除了Xamarin网站上显示的points,您还应该考虑:
Your team's background
你的团队中是否有人曾经有过为Android或iOS原生编码的经验(使用Java或Obj-C / Swift)?这种体验在本机Xamarin中重用,但是他们必须学习另一个在Forms中编码的平台 .
如果他们对iOS / Android一无所知但知道一些XAML,情况也是如此 . 当然Xamarin.Forms与WPF / Silverlight不同,但知道XAML肯定帮助我使用Forms .
Performance
Xamarin Forms仍然存在一些问题,例如初始化时间 . 您应该考虑这是否会对您的最终用户造成问题 . 我不愿意等待一段时间才能使用我偶尔打开的仪表板应用程序,但如果发送消息应用程序的话,我会生气 .
Time until delivery
由于使用表单时代码共享更大,因此您可能希望更快的交付时间 .
Complexity of your app
考虑到前一点,使用表单你可能会偶然发现一些显示停止错误(毕竟这是一项非常新的技术),这将使时间收益无效 . 在选择之前考虑应用程序的复杂性 .
Xamarin.Forms
优点
为所有平台创建一个UI
使用所有平台上可用的基本组件(如按钮,文本字段,旋转器等)
无需了解所有本机UI框架
快速跨平台开发流程
自定义本机渲染器使您能够调整控件的外观和感觉
缺点
它仍然是一个新框架,仍然包含错误
特别是Windows RT尚未稳定
它有时比直接访问本机控件慢
自定义本机渲染器具有边界并且记录不足
Xamarin.Android, Xamarin.iOS, Windows Phone, Windows RT
为每个平台创建一个UI
轻松调整平台特定UI功能和组件的能力
从UI中获取最大值
跨平台开发过程要慢得多
您需要学习所有本机UI框架
您可能会导致代码重复(因为您在三种不同的平台特定方式中描述了几乎相同的UI)
除了Xamarin在https://xamarin.com/forms上说:
Which Xamarin approach is best for your app?
Xamarin.Forms is best for:
数据录入应用
原型和概念证明
需要很少平台特定功能的应用程序
代码共享比自定义UI更重要的应用程序
Xamarin.iOS & Xamarin.Android are best for:
需要专门互动的应用
具有高度抛光设计的应用程序
使用许多特定于平台的API的应用程序
自定义UI比代码共享更重要的应用程序
来自Xamarin Website
3 回答
除了Xamarin网站上显示的points,您还应该考虑:
Your team's background
你的团队中是否有人曾经有过为Android或iOS原生编码的经验(使用Java或Obj-C / Swift)?这种体验在本机Xamarin中重用,但是他们必须学习另一个在Forms中编码的平台 .
如果他们对iOS / Android一无所知但知道一些XAML,情况也是如此 . 当然Xamarin.Forms与WPF / Silverlight不同,但知道XAML肯定帮助我使用Forms .
Performance
Xamarin Forms仍然存在一些问题,例如初始化时间 . 您应该考虑这是否会对您的最终用户造成问题 . 我不愿意等待一段时间才能使用我偶尔打开的仪表板应用程序,但如果发送消息应用程序的话,我会生气 .
Time until delivery
由于使用表单时代码共享更大,因此您可能希望更快的交付时间 .
Complexity of your app
考虑到前一点,使用表单你可能会偶然发现一些显示停止错误(毕竟这是一项非常新的技术),这将使时间收益无效 . 在选择之前考虑应用程序的复杂性 .
Xamarin.Forms
优点
为所有平台创建一个UI
使用所有平台上可用的基本组件(如按钮,文本字段,旋转器等)
无需了解所有本机UI框架
快速跨平台开发流程
自定义本机渲染器使您能够调整控件的外观和感觉
缺点
它仍然是一个新框架,仍然包含错误
特别是Windows RT尚未稳定
它有时比直接访问本机控件慢
自定义本机渲染器具有边界并且记录不足
Xamarin.Android, Xamarin.iOS, Windows Phone, Windows RT
优点
为每个平台创建一个UI
轻松调整平台特定UI功能和组件的能力
从UI中获取最大值
缺点
跨平台开发过程要慢得多
您需要学习所有本机UI框架
您可能会导致代码重复(因为您在三种不同的平台特定方式中描述了几乎相同的UI)
除了Xamarin在https://xamarin.com/forms上说:
Which Xamarin approach is best for your app?
Xamarin.Forms is best for:
数据录入应用
原型和概念证明
需要很少平台特定功能的应用程序
代码共享比自定义UI更重要的应用程序
Xamarin.iOS & Xamarin.Android are best for:
需要专门互动的应用
具有高度抛光设计的应用程序
使用许多特定于平台的API的应用程序
自定义UI比代码共享更重要的应用程序
来自Xamarin Website
Xamarin.Forms is best for:
数据录入应用
原型和概念证明
需要很少平台特定功能的应用程序
代码共享比自定义UI更重要的应用程序
Xamarin.iOS & Xamarin.Android are best for:
需要专门互动的应用
具有高度抛光设计的应用程序
使用许多特定于平台的API的应用程序
自定义UI比代码共享更重要的应用程序