是否应该尝试使用 Qt QML 重写 Electron 应用。

查看 455|回复 22
作者:vfs   
正如之前在 ref: https://www./t/1144403#reply14 帖子中所提到的,我自己写了一个 S3 客户端,使用 Electron 作为 UI ,c++ 写的网络库。 目前已经基本完成。
但是最近遇到一个问题: 当我的远程“目录”中文件数量较多的时候,UI 会卡死。原因是我的 UI 中没有在 Table 中使用虚拟化技术。 网上找了一圈,目前 shadcn ui table 的 tanstack-virtualizer 一起工作的例子还没找见,去 shadcn ui 官方 issue 看了一下,有人问过类似问题,但是很长时间了依然没有解决方案。 这只是个引子,这里不讨论如何解决这个问题了。
所以最近在考虑是否应该使用 Qt QML 来重写我的这个工具, 主要有以下考虑:
[ol]

  • 我个人对于 Web 技术的掌握非常浅,大部分事件依赖 AI 给我的方案。AI 解决不了的,大概率我也解决不了

  • Electron 有点儿吃内存,打包大小也有些大。 感觉对与我这种工具来说,有点儿太重了。

  • 我的 c++ 库暴露成 js 需要手动编写 napi wrapper ,也有点儿繁琐
    [/ol]
    4 )但是对于 QML 我也需要重新学习,但是预期这个性能会好很多。
    5 )还多多少考虑到 nodejs/js 中依赖太多,水平质量层次不齐。
    想知道,这里的大佬们如何看待这个问题。 提前谢过!
    感谢各位大佬的分享看法。 大部分人的建议都是找方法来虚拟化当前 electron UI ,那就继续修了。
    至于说 .NET, 一开始就考虑过,就个人来说,这个方案对我来说没有任何吸引力:一则 .NET 依赖于额外的 dotnet 或者 .net framework, 应用不能开箱即用,再者是也没有喜欢的 UI 框架。
    QML 个人之前学过一阵子,确实是能达到和 web 差不多的效果,但是生态太差了,没有现成的 UI 库,需要自己从头开始写,难度应该不会小。 再一点,它的内存使用和性能也并不能达到原生那么快。今天也试了 gemini 来帮我生成一些代码,效果自然也不好,至少是达不到 web 那么好的效果。
            
       
       
       

    Qt, QML, electron

  • NoNewWorld   
    感谢各位大佬的分享看法。 大部分人的建议都是找方法来虚拟化当前 electron UI ,那就继续修了。
    至于说 .NET, 一开始就考虑过,就个人来说,这个方案对我来说没有任何吸引力:一则 .NET 依赖于额外的 dotnet 或者 .net framework, 应用不能开箱即用,再者是也没有喜欢的 UI 框架。
    QML 个人之前学过一阵子,确实是能达到和 web 差不多的效果,但是生态太差了,没有现成的 UI 库,需要自己从头开始写,难度应该不会小。 再一点,它的内存使用和性能也并不能达到原生那么快。今天也试了 gemini 来帮我生成一些代码,效果自然也不好,至少是达不到 web 那么好的效果。
    C64NRD   
    闲的话,可以试试
    spritecn   
    既然你不擅长 web 技术,那也不必犹豫了,just do it!
    weixind   
    @NoNewWorld 写 s3 客户端的人应该不忙
    layxy   
    写都写完了,迁移的收益其实不明显。
    分页 + 搜索 或者上拉加载下一页就行了。没太必要传输所有的文件数据。
    x007xyzabc   
    虚拟列表的性能并不差,可以用支持虚拟列表的 ui 库试下,比如 vxe-table
    iugo   
    是我的话,选择自己实现支持 tanstack-virtualizer 的表格
    masterclock   
    Web 的生态非常丰富, 迁移到 Qt 可能有依赖相关的问题.
    liaohongxing   
    QML 这种神经病还是算了吧
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部