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

标签 android user-interface cross-platform

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

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

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

  • 构建网络客户端。 HTML5 我缺乏经验,但它似乎缺乏 WPF 的丰富性,而且似乎还没有得到完全支持。因此,它还不是事实上的通用客户端标记标准。沼泽标准的 HTML 4 和 CSS 很难用它来制作丰富的动画 UI。如果有 HTML5/JS 经验的人有意见,我们很乐意接受挑战。
  • 使用跨平台用户界面库,例如支持 XAML/WPF 的 Xamarin.Forms。主要优点是我可以将令人惊叹的 C#/.NET 框架与交叉兼容的客户端一起使用 - 但我不确定在选择这项技术时我会错过 HTML5 的开发,并且不知道该平台是否有问题或并发症。

Macromedia Flash 似乎正在慢慢死去。有没有人有任何建议,谁创建了适用于 Android、Mac 和 Windows 的富客户端应用程序?尝试寻求跨平台解决方案是否比其值(value)更麻烦,那么花时间在每个平台上本地开发相同的客户端 View 是否更可取?

谢谢

最佳答案

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

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

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

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

奖励点还在于您已经是一名 C# 开发人员。

Flash/Flex 实际上非常适合带有动画的应用程序,因此如果您熟悉 ActionScript ,这也是一个不错的选择。不过,如果您计划 future ,这不是最佳投资,因为您可能会从其他技术中获益更多。

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

关于android - 跨平台富客户端开发的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26690888/

相关文章:

Android 凭据 API - 没有符合条件的帐户

user-interface - 如何创建允许在维护模式下运行时卸载特定实例的 MSI UI

c++ - 通过调整窗口大小或移动窗口,使用第二个线程快速更新 GUI 窗口会崩溃

java - 在 Java/Swing 中获取系统字体属性

windows - 跨平台 VNC 客户端库?

ruby - 对 Thrift 感到困惑,它到底有什么作用?

java - 如何仅更改共享首选项中存储的 Json 对象中的一个值

android - 合并 list 中的 NetworkSecurityConfig xml 文件

android - 垂直搜索栏 float 文本问题

Python 使用按钮通过 tkinter GUI 循环字典项