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

博卡内格拉

我正在尝试评估Xamarin是否适合我的项目。该项目是适用于Android和iOS的大型,复杂的应用程序,具有许多客户端与服务器之间的通信。用户界面是主要焦点,必须非常快速和流畅。另外,我们计划大量使用UX图形效果(与Spotify应用相比)。

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

到目前为止,我听到的大多数意见都说Xamarin尽管比HTML5应用程序要好得多,但它不能与本机应用程序的UX相匹配。另外,我测试了Xamarin制作的以下应用程序(在Android上):

  • 里迪奥
  • 市场观察
  • 布什花园发现指南
  • 平方
  • 故事

从我的印象来看,它们都无法与出色的本机应用程序的速度和平滑度相提并论。

如果我们专注于一流的用户体验,那么Xamarin是否真的是一个可行的选择?它真的可以与本机UX相匹配吗?我特别希望从具有大型和复杂跨平台Xamarin应用程序经验的开发人员那里寻求意见。一些批评的声音将非常有帮助。

万分感谢!

加布·坎加斯(Gabe Kangas)

我在Rdio移动开发团队中任职,因此我可以从这个角度提出一些个人看法。

Xamarin允许您使用C#编写本机应用程序。Xamarin层本身通常任何缓慢,简陋,丑陋或不良应用无关。

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

但是,在节省时间的同时,您会以其他方式花费时间。您想使用的所有这些SDK可能都与Xamarin不兼容。您不会在该iOS框架上安装Pod,而您可能会重新发明一些东西。Xamarin利用了NuGet回购的优势,因此您拥有一个组件库,可以处理大多数人需要的许多东西(分析,测试,Facebook SDK,JSON解析,数据库等),但是它并未涵盖所有内容。当然,它也不会涵盖Apple或Google产品发布当天就发布的内容。

您要导入到项目中的任何第三方代码都将通过编写自定义绑定来完成尽管通常并不困难,但很耗时。Xamarin拥有一群专门为您提供帮助的人员。这个事实说明该过程有时很混乱。

因此,虽然速度慢,简陋,丑陋或不适是Xamarin的错,但这可能是您花时间在通常不会使用的地方或无法利用通常会使用的功能上的错误。如果该第三方合作伙伴SDK给您带来了问题,那么由于存在您无法控制的层,您的故障排除可能会花费两倍的时间。

  • UI是一种洗礼。无论如何,您都是从头开始编写的。
  • 业务逻辑是共享的。如果您构建应用程序以利用它,则可能取决于应用程序,这取决于应用程序。
  • 缺乏兼容性/出血边缘能力。这对您可能根本不重要,或者您可能是想要在发布之日的下一个OS版本中利用该热门API的人。

我个人的想法(不知道具体情况)是,如果您要构建一个计划从现在开始大约数年的应用程序,并且可以利用最新和最大的优势,我会告诉您为每个平台编写本机。除非您能真正看到共享该业务逻辑的巨大收益,否则前期收益微乎其微。或者,如果您真的喜欢C#。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章