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



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

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

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

  • 构建web客户端。HTML5我缺乏经验,但它似乎缺乏WPF的丰富性,而且似乎还没有得到完全支持。正因为如此,它还不是一个事实上通用的客户端标记标准。Bog标准的HTML4和CSS非常难以生成丰富的动画UI。如果那些有HTML5/JS经验的人有意见,我很乐意接受质疑
  • 使用跨平台的UI库,如Xamarin.Forms,它支持XAML/WPF。主要优点是我可以使用令人惊叹的C#/.NET框架和交叉兼容的客户端,但我不确定在选择这项技术时,我会错过HTML5的开发,也不知道该平台是否存在问题或复杂性

Macromedia Flash似乎正在慢慢消亡。谁创建了一款适用于Android、Mac和Windows的富客户端应用程序,有人有什么建议吗?尝试跨平台解决方案是否比实际情况更麻烦?然后花时间在每个平台上本地开发相同的客户端视图是否更可取?

感谢

这是我的两分钱-我想你不会找到完美的解决方案,因为还没有可用的解决方案。你应该努力找到最好的解决方案,同时意识到它不会是完美的。

基于HTML5的跨平台解决方案(PhoneGap可能是最成熟的)-如果你的应用程序富含动画和图形,那可能就不是办法了。在旧设备和一些新设备上,结果都不好(尤其是在安卓设备上)。我认为HTML5解决方案可以用于静态应用程序(在视觉方面是静态的)。

关于Xamarin-我对Xamarin Forms不是很熟悉,它看起来很有趣,但我认为它还不成熟,你应该考虑到,对于一个相对较新的产品,你会花很多时间寻找答案,而在Native开发中,你会在几秒钟内找到答案。

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

额外的一点是,你已经是一名c#开发人员了

Flash/Flex实际上非常适合有动画的应用程序,所以如果你熟悉动作脚本,这是一个不错的选择。尽管如果你为未来做计划,这不是最好的投资,因为你可能会从其他技术中受益更多。

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

相关内容

最新更新