跨平台富客户端开发的最佳方法

时间:2014-11-01 15:41:41

标签: android user-interface cross-platform

我有多年使用WPF / C#开发客户端和服务器应用程序的经验。我目前正在考虑为富客户端应用程序提供最佳技术选择,该应用程序能够提供相当动态的动画数据可视化;最好使用UI虚拟化等效率措施,这样我就可以有效地利用内存。

WPF和XAML非常适合这类工作;遗憾的是,希望在Android和iOS以及Windows上运行数据可视化客户端,我宁愿不必为每个特定平台开发客户端,因此我正在寻找一个非常好的跨平台客户端库具备这些能力。

这似乎有两个主要选择,两个都有缺点:

  • 构建Web客户端。 HTML5我缺乏经验,但似乎缺乏WPF的丰富性,似乎还没有完全支持。因此,它还不是事实上的通用客户端标记标准。沼泽标准HTML 4和CSS非常难以生成丰富的动画UI。如果有HTML5 / JS经验的人有意见,很高兴对此意见提出质疑。
  • 使用跨平台的UI库,例如Xamarin.Forms - 它支持XAML / WPF。主要优点是我可以使用令人惊叹的C#/ .NET框架与交叉兼容的客户端 - 但我不确定在选择这项技术时我会错过HTML5的开发,并且不知道是否该平台有问题或并发症。

Macromedia Flash似乎正在慢慢死亡。有没有人有任何建议,谁创建了一个适用于Android,Mac和Windows的富客户端应用程序?试图为跨平台解决方案寻找比它的价值更多的麻烦,是否更愿意花时间在每个平台上本地开发相同的客户端视图?

由于

1 个答案:

答案 0 :(得分:2)

这是我的两分钱 - 我认为你找不到一个完美的解决方案,因为还没有一个可用。你应该尽力找到最好的 实现它的解决方案并不完美。

基于HTML5的跨平台解决方案(PhoneGap可能是最成熟的) - 如果您的应用程序富含动画和图形,那可能不是最佳选择。在较旧的设备上,以及在一些新设备中,结果将不会很好(特别是在Android设备上)。我认为HTML5解决方案适用于静态应用程序(在视觉方面是静态的)。

关于Xamarin - 我对Xamarin Forms不太熟悉,看起来很有意思,但我认为它还不成熟,你应该考虑到使用相对较新的产品,你会花很多时间寻找您可以在几秒钟内找到本机开发中的答案。

那就是说,我喜欢Xamarin,因为应用程序的性能(至少Xamarin.iOS我开发了一些应用程序)和本机一样好。 您可以考虑使用Xamarin(部分跨平台)进行开发 - 您可以在其中为每个平台创建UI,并可以共享应用程序的业务逻辑 - 这样您就可以共享50%的代码。

奖励还指出您已经是c#开发者。

Flash / Flex实际上非常适合带有动画的应用,所以如果您熟悉动作脚本,那么这不是一个糟糕的选择。虽然如果你计划未来,它不是最好的投资,因为你可能从其他技术中获益更多。

如果我需要做出这个选择,并且你不想本地开发应用程序,我会选择Xamarin。