关于社区开发技术选型之争【Qt Widget/QML】
Tofloor
poster avatar
hxpsd2014
deepin
2018-02-12 03:52
Author
本帖最后由 hxpsd2014 于 2018-2-11 19:59 编辑

由于deepin在技术上选择了Qt作为应用开发语言/框架,所以最近开始学习Qt5,可令人疑惑的是不知道究竟是选择Qt Widget还是Qt QML,两派的口水战一直没停下来过,Widget支持者说QML性能不佳,QML支持者说经过几个版本迭代后性能越来越好了,而且是Qt未来的趋势。现在想请官方出来指点一下我辈究竟该选哪一种技术来为deepin开发应用,谢谢~~,手机上码字不容易,就先写这么多了~~@wangyong
附参考:
KDE将逐步迁移到QML  https://www.ikde.org/custom/new-qml-plasmoid/
Reply Favorite View the author
All Replies
1 / 2
To page
avatar
sudo_free
deepin
2018-02-12 04:00
#1
python,字数补丁
Reply View the author
avatar
hxpsd2014
deepin
2018-02-12 04:02
#2
python由于性能问题这两年被官方抛弃了吧https://bbs.deepin.org/user/19562
Reply View the author
avatar
aName
deepin
2018-02-12 04:17
#3
官方现在用的是Qt Widget吧
Reply View the author
avatar
hxpsd2014
deepin
2018-02-12 04:54
#4
好像是widget
Reply View the author
avatar
sudo_free
deepin
2018-02-12 07:01
#5
https://bbs.deepin.org/post/153181
python由于性能问题这两年被官方抛弃了吧@iamhyc65

不是说你要用什么来开发吗,推荐python啊;不过你要用官方的dtk和其他interface什么的,还没有python版
Reply View the author
avatar
hxpsd2014
deepin
2018-02-12 07:33
#6
现在计划中widget和qml中选一种官方认可的:)
Reply View the author
avatar
白菜
deepin
2018-02-12 07:41
#7
看个人爱好咯
目前Qt在Qt widget上的资料居多,初学者的话建议学习widget
若widget本来就已经相当厉害了可以学习qml
若需求在触屏、界面UI要求比较高的话可以用qml
复杂逻辑推荐用widget
若*掌握就比较好的,那就学习qml
有c,c++基础的学习widget
Reply View the author
avatar
hxpsd2014
deepin
2018-02-12 08:00
#8
谢谢你的建议,我主要开发桌面应用,就选widget好了:)https://bbs.deepin.org/user/55638
Reply View the author
avatar
pikachuhy
deepin
2018-02-12 08:05
#9
听老王说过
qml在龙芯这些国产芯片中运行很慢
忘了是在他哪篇文章中看到的
Reply View the author
avatar
hxpsd2014
deepin
2018-02-12 08:16
#10
老王说的是python吧@pikachuhy@wangyong
Reply View the author
avatar
comzhong
deepin
2018-02-12 08:49
#11
本帖最后由 comzhong 于 2018-2-12 14:05 编辑

简单说用 Qt Widget 会比较繁琐,你需要一个个部件去写,用 Qt QML 就可以以更自然一些的描述性语言来实现,而不用管具体的细节。

这么说吧,Qt Widget 就相当于手动挡汽车,Qt QML 就相当于自动挡汽车,这是我个人感觉,不知道你可明白?
       Qt Widget(手动挡) 适合喜欢自己控制细节的人,Qt QML(自动挡)适合不想关注过程,注重结果的人。当然 Qt QML(自动挡) 使用起来会更加方便,充分满足人类懒惰的需求,甚至可以“一D到底”(当然,想自己控制也有模拟手动挡功能)。

       性能和成本上嘛,还是想想汽车,10 万元左右的家用车,当然是Qt Widget(手动挡) 更具有性价比,质量也更可靠。如果是几十上百万的豪车, Qt QML(自动挡) 自然是一个不错的选择,因为有钱任性,人家的变速箱哪是你买菜车能比的,一个车门都说不定比你一个车还贵。

Reply View the author
avatar
wangyong
deepin
2018-02-12 17:33
#12
qml的技术原理决定了不管它怎么优化都是慢,慢,慢
Reply View the author
avatar
wangyong
deepin
2018-02-12 17:34
#13
comzhong 发表于 2018-2-12 00:49
Qt QML 感觉像是 Qt Widget 扩展了脚本语言支持,简单说用 Qt Widget 会比较繁琐,你需要一个个部件去写, ...

这个不对,qml就是锚点和像js那样界面结构化编程,但是不适合做超大型ui项目
Reply View the author
avatar
hxpsd2014
deepin
2018-02-12 17:45
#14
所以选Widget没错的@wangyong
Reply View the author
avatar
mohistman
deepin
2018-02-12 19:46
#15
无论如何,赶紧写几个软件出来报给社区的应用投递,让官方来检测吧。最好是老百姓经常用的
Reply View the author
avatar
wanggjghost
deepin
2018-02-13 23:28
#16
https://bbs.deepin.org/post/153181
qml的技术原理决定了不管它怎么优化都是慢,慢,慢

这话有失偏颇吧,比如坑掉的unity8,据我所知用了很多qml,也没有感觉多慢?
Reply View the author
avatar
wanggjghost
deepin
2018-02-13 23:31
#17
https://bbs.deepin.org/post/153181
这个不对,qml就是锚点和像js那样界面结构化编程,但是不适合做超大型ui项目 ...

比如深度文件管理器,比如深度进程管理器,有什么理由必须用widget,而不能用qml(或者qml + c++ plugin)?
就我的意见,qml做应用(比如深度的应用轮子系列)绝对够用,但是整个桌面底层的话略欠妥。
Reply View the author
avatar
wangyong
deepin
2018-02-14 02:07
#18
wanggjghost 发表于 2018-2-13 15:28
这话有失偏颇吧,比如坑掉的unity8,据我所知用了很多qml,也没有感觉多慢? ...

你测试过兼容性吗?qml这种opengl程序只能有特定的显卡硬件去适配才行
Reply View the author
avatar
wangyong
deepin
2018-02-14 02:08
#19
wanggjghost 发表于 2018-2-13 15:31
比如深度文件管理器,比如深度进程管理器,有什么理由必须用widget,而不能用qml(或者qml + c++ plugin ...

你可以去试一下deepin 2014,里面有很多qml写的软件。

同时你可以拿低配机,比如奔腾处理器去横向对比测试一下。

这些都是很多年经验对比,并不是你说的偏颇。
Reply View the author
avatar
xuelongqy
deepin
2018-02-16 08:57
#20
HTML趋势,以后硬件都不是问题
Reply View the author
1 / 2
To page