Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为何放弃使用Avalonia作为客户端UI #2

Closed
haods opened this issue Apr 23, 2024 · 5 comments
Closed

为何放弃使用Avalonia作为客户端UI #2

haods opened this issue Apr 23, 2024 · 5 comments

Comments

@haods
Copy link

haods commented Apr 23, 2024

Vctoon-framework-version这个仓库中使用的Avalonia作为客户端UI,在新版本中为何改用Blazor编写客户端了,是有什么无法解决的问题么?我现在有一个项目需要跨平台的客户端,后端使用的abp,客户端考虑使用的Avalonia,与您旧版的项目架构基本一致。

@zyknow
Copy link
Owner

zyknow commented Apr 24, 2024

haods 你好 , 感谢你关注本项目。
avaloniaUI 项目非常不错,我正在负责的商业项目客户端使用的也是avalonia。
切换成Blazor 是因为 Vctoon 是一个漫画/视频 管理的开源项目,我希望能支持b/s和c/s,并且b/s优先级更高,虽然Avalonia能编译成webassembly,但是对avalonia web 的表现仍然不满意,以及aot的一些限制。
并且Blazor可以托管在Maui下,为我节省很多工作量。

@haods
Copy link
Author

haods commented Apr 24, 2024

zyknow 您好,感谢您的回复。
我现在的项目考虑使用Avalonia的原因是需要在客户端调用硬件设备,后端使用abp用于前后端分离,一个后端可能对接多个客户端,我现在比较困惑的是在网上该组合集成的项目资料基本找不到,我自己尝试集成未成功。这种组合仅在您的这个开源项目中有使用,请问能否开放一个abp与Avalonia集成的项目模板用于参考,谢谢。

@zyknow
Copy link
Owner

zyknow commented Apr 24, 2024

如果您需要 abp与Avalonia集成的项目模板的话,可以直接参考Vctoon-framework-version,该项目已经实现了基本的框架功能,包括集成Abp Module, 路由导航/路由导航传参,本地化/多语言切换,oidc登录认证,Stores状态共享存储,以及基于Abp本地化的Validations 等...

但是Vctoon-framework-version项目已经半年没有更新,该项目有一些BUG和性能问题我没有在这个项目上解决,但仍然具有非常大的参考价值。

对于您在做的项目,客户端集成调用硬件并且需要跨平台的.net解决方案,对于.net开发平台来说 avaloniaUI 是非常好的选择。

以下我会提供一下我个人对您项目的建议,仅供参考

  • 如果是工业级类型的项目或者对包的打包大小以及启动速度有一定要求的话,我并不建议avalonia在客户端集成abp module,Abp Module中包含了大量的反射等依赖JIT的代码,可以选择基于AOT的开发形式,避免开发中使用反射类似的JIT行为,对接abp后端通过静态代理解决等,以实现AOT。
  • 反之则可以在客户端中集成完整的abp module基于JIT开发,开发起来会比较舒服。

我也在做和您非常相似的项目解决方案,也是跨平台以及硬件SDK调用。
如果您需要商业性的技术性问题解决方案或提供技术服务支持以及寻求商业性的项目合作,欢迎随时联系我😄。

@haods
Copy link
Author

haods commented Apr 25, 2024

zyknow 您好,感谢您的回复。
我这边在做的项目主要是人机交互,在终端上使用SDK调用设备,设备开机后长期运行,对启动速度、包大小暂时没有太高的要求,所以考虑使用在客户端中使用完整的abp module基于JIT开发。
目前就是参考Vctoon-framework-version项目进行开发的,如果可以能详细说一下此项目目前还存在具体什么样的问题么?是否能够抽时间完善一下,谢谢。

@zyknow
Copy link
Owner

zyknow commented Apr 25, 2024

Vctoon-framework-version当前源代码版本中,存在以下问题

  • NativeStore仅测试了Windows,并且存在一些小问题
  • Navigation可以再优化一下
  • oidc跳转登录仅实现了Windows,其他平台并未测试
  • DialogService请重写或使用semi提供的Dialog
  • Validations 基于Abp的本地化,存在一些性能问题

@zyknow zyknow closed this as completed May 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants