V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
find456789
V2EX  ›  问与答

Qt Quick(Qt Qml) 和 electron 似乎没啥区别? 所以 qt 努力了几十年, js 早就到山顶等着了?

  •  
  •   find456789 · 44 天前 · 1957 次点击
    这是一个创建于 44 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我因为要准备 c\c++考试,所以要间接学到 qt ,所以发出此问

    学习门槛:

    electron 完胜 ( 要让 qml 完美工作,不会点 c++肯定不行)
    

    生态:

    electron 完胜( electron 自身生态+ 整个 js 生态, 现在的 qml 几乎没有生态可言)
    

    性能:

    qml  是  在运行的时候,把 js 、qml 从 二进制里提取出来, 放到临时目录 ,进行渲染工作 ,可能比 electron 性能强一点点(猜测,并没有实测)
    

    结论:

    qml 似乎 没啥地方比得过 electron 呀?
    

    虽然 qt 公司在推广 qml ,那我为什么不去学 electron 呢?

    本来界面、逻辑用 c++写,打包后,还可以保护界面和逻辑代码

    但如果,一个软件,完全基于 qml 来写,界面、逻辑都被人家看光光了( qml 写的程序,打包后,二进制里,可以看到 qml 源文件,和 js 源码)

    第 1 条附言  ·  43 天前

    谢谢大家, 目前我在 electron 和 pyqt5/pyside6 之间纠结

    开了个新贴:

    [electron 和 pyqt5/pyside6 在性能、体积、代码安全性上,差别大吗?] https://v2ex.com/t/810467

    28 条回复    2021-10-27 09:55:12 +08:00
    wtfdsy
        1
    wtfdsy  
       44 天前
    Qt Quick 只是整个 Qt 环境的一部分,Qml 拿来快速实现 UI 的而已,说到底 Qt 还是个 C++为主的生态
    zk8802
        2
    zk8802  
       44 天前 via iPhone
    真正测试一下性能就知道了。
    pengtdyd
        3
    pengtdyd  
       44 天前
    单纯写界面是这样的,如果是和硬件交互那就是另外一回事了
    adeweb
        4
    adeweb  
       44 天前
    经历过把 Electron 应用重构成 Qt+QML 应用,性能强很多啊。
    同样的业务复杂度和逻辑,QML 应用能在赛扬处理器+2G 内存上欢快地跑;而 Electron 应用卡成狗。
    业务场景:POS 机收银。
    efaun
        5
    efaun  
       44 天前
    从我一个用户的体验来讲,Electron 安装包很大,且不能更改默认安装路径
    wzzzx
        6
    wzzzx  
       44 天前
    两个都搞过好一阵子。
    学习门槛:
    QML 完全可以独立工作。但是一旦涉及与 C++的交互,QML 的开发体验直接完爆 electron. 开发体验上,QML 写起来比 electron 爽的多
    生态:
    生态缺失是 QML 的弱势,但是很多 C++库 electron 不方便用,QML 可以比较方便的导入
    性能:
    QML 也可以编译的, https://doc.qt.io/archives/QtQuickCompiler/index.html
    find456789
        7
    find456789  
    OP
       43 天前 via iPhone
    @wzzzx
    qml 这个编译 也是会泄漏代码的。现在新版是默认开启了 qml 编译选项的
    find456789
        8
    find456789  
    OP
       43 天前 via iPhone
    @adeweb

    我目前基本决定 选 electron 了、其次是 maui 、flutter 。。c++生态是硬伤啊
    find456789
        9
    find456789  
    OP
       43 天前 via iPhone
    @efaun
    不能选安装目录吗? 我还没有开始学。回头学学看
    ysc3839
        10
    ysc3839  
       43 天前
    @efaun @find456789 不能改安装路径这不是 Electron 的锅,是安装程序没提供选项。
    安装包大小问题这个暂时无解。目前微软在搞 Edge WebView2 ,但是短时间内功能是比不上 Electron 的。
    singerll
        11
    singerll  
       43 天前 via Android
    electron 的应用都说不出来的卡顿,就是再流畅,我也感觉有种莫名的卡顿
    qua
        12
    qua  
       43 天前
    不如 Wail ,前端 JavaScript 后端 Go
    ihipop
        13
    ihipop  
       43 天前 via Android
    你的山顶和 qml 的山顶不是同一个。
    agagega
        14
    agagega  
       43 天前
    QML 应该出现得比 Electron 早不少,你这个逻辑不成立
    chengxiao
        15
    chengxiao  
       43 天前
    qt 也不一定非要 C++啊,有很多语言可以用啊,pyqt 写起来其实也挺愉快的,
    很多其他语言也有 bind 方法 golang/ruby
    find456789
        16
    find456789  
    OP
       43 天前
    @chengxiao

    我目前在 electron 和 pyqt/pyside6 之间纠结, 这 2 个不知道 性能、体积上,究竟差别多大
    Showfom
        17
    Showfom  
       43 天前
    几十年= =
    ysc3839
        18
    ysc3839  
       43 天前 via Android
    @find456789 直接说用途
    find456789
        19
    find456789  
    OP
       43 天前
    @ysc3839


    谢谢

    我用来 开发不那么底层的软件, 一些工具软件, 比如 迅雷、百度网盘 这种

    目前 在 electron 和 pyqt5/pyside6 之间纠结

    开了个新贴:

    [electron 和 pyqt5/pyside6 在性能、体积、代码安全性上,差别大吗?] https://v2ex.com/t/810467
    ashong
        20
    ashong  
       43 天前
    套壳 chromium + js 😄
    crysislinux
        21
    crysislinux  
       43 天前 via Android
    qml 性能强的多。我 10 年前在 arm9 上都挺流畅,虽然屏幕分辨率不大
    Lemeng
        22
    Lemeng  
       43 天前
    就只是看看算了
    bg7lgb
        23
    bg7lgb  
       43 天前
    pyside2, j1900 上跑得还可以。
    dddd1919
        24
    dddd1919  
       43 天前
    用过 switchHosts 和 postman 的客户端,都是基于 electron ,通病:程序运行时间越长会越卡,开时间长了程序莫名崩溃,只能重启解决
    ysc3839
        25
    ysc3839  
       43 天前 via Android
    @find456789 那还是建议 Electron ,或者别的基于 Web 的技术。Qt 以及 Python 在这方面没有太大优势,基于 Web 框架可以快速开发出好看的界面。
    zqx
        26
    zqx  
       43 天前 via Android
    各有各的场景
    你说 mfc 太落后了,现在的 360 天擎还在用,篡改劫持驱动程序之类的逻辑,c++有可能比 web 技术栈可靠一些
    alexkkaa
        27
    alexkkaa  
       43 天前 via Android
    Js 的生态哪是 qt 可以比的
    hxnets
        28
    hxnets  
       42 天前
    @adeweb 你这让我想起来了当年在 客凯易的时候 v4 版本的 pos 系统,当时演示那个卡的我怀疑人生
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3536 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:04 · PVG 18:04 · LAX 02:04 · JFK 05:04
    ♥ Do have faith in what you're doing.