Performance Xamarin跨平台用户体验与本机开发
我正在尝试评估Xamarin是否是我项目的一个好选择。该项目是一个大型、复杂的Android和iOS应用程序,需要大量的客户机-服务器通信。用户界面是一个主要的焦点,必须非常快速和流畅。此外,我们计划大量使用UX图形效果(与Spotify应用程序相当) 目前,我们计划使用Java/Objective-C开发两个独立的本机应用程序。不过,跨平台代码共享的可能性对我们来说当然非常方便 到目前为止,我听到的大多数观点都认为Xamarin——尽管远远优于HTML5应用程序——无法与本地应用程序的用户体验相媲美。此外,我还测试了以下使用Xamarin(在Android上)开发的应用程序:Performance Xamarin跨平台用户体验与本机开发,performance,user-interface,xamarin,Performance,User Interface,Xamarin,我正在尝试评估Xamarin是否是我项目的一个好选择。该项目是一个大型、复杂的Android和iOS应用程序,需要大量的客户机-服务器通信。用户界面是一个主要的焦点,必须非常快速和流畅。此外,我们计划大量使用UX图形效果(与Spotify应用程序相当) 目前,我们计划使用Java/Objective-C开发两个独立的本机应用程序。不过,跨平台代码共享的可能性对我们来说当然非常方便 到目前为止,我听到的大多数观点都认为Xamarin——尽管远远优于HTML5应用程序——无法与本地应用程序的用户体验
- Rdio
- 市场观察
- 布施花园探索指南
- Sqor
- 故事
Xamarin.Forms
。但你不会被迫使用它。当您的Xamarin.Android
或Xamarin.iOS
应用程序中仍存在性能问题时,请在代码中生成这些问题
Android应用程序的基准测试结果比较了Xamarin.Android
和Java
应用程序:
正如你所见,随着时间的推移,Xamarin的内部表现越来越好
结论:是的,您可以使用Xamarin编写流畅的本机应用程序。我是Rdio移动开发团队的成员,因此我可以从这个角度进行一些个人思考 Xamarin允许您用C#编写本机应用程序。任何缓慢、刺耳、丑陋或糟糕的幸福感通常与Xamarin层本身无关 您可以节省一些时间,以便在不同的客户机之间共享核心业务逻辑,但您仍然在从头开始编写特定于平台的UI。你只是用C写的 但是,当你节省时间的时候,你却在用其他的方式。您想要使用的所有SDK可能都与Xamarin不兼容。您将不会安装该iOS框架,您可能正在重新发明一把轮子来处理各种事情。Xamarin利用了,所以您有一个组件库,可以处理大多数人需要的许多事情(分析、测试、Facebook SDK、JSON解析、数据库等),但它并没有涵盖所有内容。它当然不包括苹果或谷歌产品发布当天的内容 您希望导入到项目中的任何第三方代码都将通过编写完成。虽然通常不难,但很费时。Xamarin有一个团队专门为您提供这方面的帮助。这一事实说明这个过程有时是混乱的 因此,虽然缓慢、刺耳、丑陋或糟糕的幸福感可能不是Xamarin的错,但也可能是你花时间在通常不会去的地方,或者无法利用通常会用到的功能。如果第三方合作伙伴SDK给您带来了问题,您的故障排除可能需要两倍的时间,因为存在一个您无法控制的层
- 用户界面是一个清洗。反正你是白手起家写的
- 业务逻辑是共享的。根据应用程序的不同,如果你设计应用程序来利用它,这可能是一个胜利
- 缺乏兼容性/前沿能力。这对你来说可能根本不重要,或者你可能是希望在下一个操作系统发布当天利用这一热门新API的人
我个人的想法是,在不知道具体细节的情况下,如果你想构建一个你计划在几年后开发的应用程序,并且能够利用最新和最好的技术,我会告诉你为每个平台编写本机应用程序。除非你能在分享业务逻辑中看到巨大的收益,否则前期收益是微乎其微的。或者如果你真的喜欢C#。我问了一个类似的问题,做了和你一样的测试:Storyo、snap attack和MarketWatch。但我的印象是,它非常平滑,并不觉得它不是“真正的”本地应用程序。你能测试一下这些应用程序,也许现在能给我们你的印象吗?