Xamarin跨平台用户体验与本机开发

boc*_*gra 3 performance user-interface xamarin

我正在试图评估Xamarin是否适合我的项目.该项目是适用于Android和iOS的大型复杂应用程序,具有大量客户端 - 服务器通信.用户界面是一个重点,必须非常快速和流畅.此外,我们计划大量使用UX图形效果(与Spotify应用程序相当).

目前我们计划使用Java/Objective-C寻找两个独立的本机应用程序.但是,当然,跨平台代码共享的可能性对我们来说非常方便.

到目前为止我听过的大多数意见都说Xamarin - 虽然远比HTML5应用程序好 - 但却无法与本机应用程序的用户体验相媲美.另外,我测试了以下使用Xamarin(在Android上)制作的应用程序:

  • RDIO
  • 市场观察
  • Busch Gardens发现指南
  • Sqor
  • Storyo

从我的印象来看,它们都不能与一个优秀的原生应用程序的速度和平滑度完全匹配.

如果我们专注于一流的用户体验,那么Xamarin真的可行吗?它能真正匹配原生UX吗?我特别期待那些拥有大型复杂跨平台Xamarin应用程序经验的开发人员的意见.一些批评声音会非常有用.

非常感谢!

小智 6

我在Rdio移动开发团队,所以我可以从这个角度做一些个人反思.

Xamarin允许您使用C#编写本机应用程序.任何缓慢,笨拙,丑陋或糟糕的表现通常与Xamarin层本身无关.

您可以节省一些时间在不同客户端之间共享核心业务逻辑,但您仍然从头开始编写UI,特定于平台.你只是用C#编写它.

但是,当你节省时间时,你会以其他方式消费.您想要使用的所有这些SDK可能与开箱即用的Xamarin不兼容.你不会在那个iOS框架上进行pod安装,你可能会为一些事情重新发明轮子.Xamarin利用NuGet仓库,因此您拥有一个组件库,可以处理大多数人需要的东西(分析,测试,Facebook SDK,JSON解析,数据库等等),但它并不涵盖所有内容.它肯定不包括苹果或谷歌产品发布之日的内容.

您希望导入项目的任何第三方代码都将通过编写自定义绑定来完成.虽然通常不困难,但这很耗时.Xamarin拥有一支专门协助您的团队.这个事实说明这个过程有时很混乱.

因此,虽然缓慢,笨拙,丑陋或糟糕的应用可能不是Xamarin的错,但是你可能错误地将时间花在你通常不会去的地方,或者不能利用你通常会有的功能. .如果第三方合作伙伴SDK给您带来问题,那么您的故障排除可能需要两倍的时间,因为有一个您无法控制的图层.

  • 用户界面是一种洗涤.无论如何,你是从头开始写的.
  • 业务逻辑是共享的.如果您构建应用程序以利用它,则取决于可能获胜的应用程序.
  • 缺乏兼容性/出血能力.这可能对你来说无关紧要,或者你可能是那个想要在宣布它的下一个OS版本中利用那个热门新API的人.

我个人的想法,不知道具体细节,就是如果你想要构建一个你计划在几年后的应用程序,这将利用最新和最好的,我会告诉你为每个平台本地编写.除非你能真正看到分享业务逻辑的巨大收益,否则前期收益微乎其微.或者如果你真的喜欢C#.