Avalonia 如何开发跨平台应用程序?

问题描述 投票:0回答:2

我是一名 WPF 开发人员。我们的团队正在寻找一个好的跨平台解决方案来替代使用 WPF 开发的旧桌面产品。我们最近发现 Avalonia 可能是最好的方法之一,但似乎没有太多演示案例或深刻的见解。只有一个好处是https://www.reddit.com/r/csharp/comments/dgfxbl/my_experience_developing_crossplatform_app/

请分享您的经验,非常感谢。

我们想知道:

  1. 跨平台性能。
  2. Avalonia 开发的应用稳定性
  3. 与其他跨平台解决方案(如 JAVA、QT、WEB 等)的优点和缺点
.net cross-platform avalonia
2个回答
18
投票
  1. 由于使用 Skia 进行渲染,在某些工作负载上的工作速度比 WPF 更快,但由于框架的某些部分仍未优化,因此在其他工作负载上的工作速度较慢。就平台覆盖范围而言,它几乎可以在任何 x86 Linux 发行版(非基于 glibc 且 ARM 需要自定义 SkiaSharp 版本)、Windows 7+ 和 OSX 10.13+ 上开箱即用。您将获得跨平台 GUI,甚至现在还支持全局菜单。托盘菜单预计会在下一版本或之后的版本中出现。目前缺少的是适当的东部地区支持,没有预计时间,可能是 2020 年第四季度。
  2. 得益于
  3. Wasabi Wallet 项目(这是使用 Avalonia 的成功案例之一)的帮助,0.8.x 和 0.9.x 版本在各种系统(甚至是 Qubes OS 等奇异的 Linux 发行版)上进行了严格的测试,顺便说一句)。

3.1。专业人士:

  • 它是 C# 和完整的 XAML(即没有控件包装,您可以完全控制模板),因此您拥有一种出色的编程语言,具有自动内存管理和编译时类型检查功能,以及具有 MVVM 支持的可靠可定制 UI 标记。
  • 如果您从 WPF 移植并使用“手动”MVVM、ReactiveUI、Prism 或 MEF,则可以重用整个视图模型层。
  • 您可以通过 P/Invoke 完全访问平台 API(您在基于 Electron 的应用程序中无法轻松获得这些 API)

3.2。缺点:

  • 直到 2021 年才会支持移动平台
  • 没有像基于 Web 的框架那样有那么多现成的快速原型制作组件
  • 将会发生重大变化。不过,几乎所有基于网络的技术都是如此。尝试更新一个复杂的 React 应用程序的依赖项,该应用程序已经一年没有人碰过了。

0
投票
v11 带来了新的改进,移动支持、性能支持、Web 组装,以及性能、动画、选择器等其他内容;我使用 React Native 开发至少有六年了,但现在我已经改用 F# 的 AvaloniaUI,因为它很强大。您可以访问用例页面来查看使用 Avalonia 创建了什么样的软件。

© www.soinside.com 2019 - 2024. All rights reserved.