为什么我要学习qt quick

2020年,是迷茫的一年
没有很清楚的目标,自学了k8s,但是工作中并不会用得到
所以后知后觉,已经没有别的路可以走了,唯一的选择就是在客户端开发上继续前行

作为一个wpf开发,注定只能在windows上玩耍
想将客户端开发进行到底,可惜
几乎可以肯定wpf已经不会考虑跨平台了,因为和windows硬件(显卡)绑定太严重
虽然有个xamarin(maui),但是不温不火的,并且也没有解决wpf的性能问题
uwp性能是的挺高的,但也和win10绑定在一起了,仍然是个半死不活的框架
再者有winui3 ,unio跨平台, 这些看起来有潜力,但是现阶段都是学了找不到工作的
感觉有点孤立无援

所以只能把目光放到其他ui框架上了
这个时候我看到了 flutter和Qt
flutter是谷歌的跨平台方案,使用托管语言dart
社区强大,文档强大 ,入门相对来说比较简单,可以用于安卓 ios 跨平台,也能做h5,但是还不是很成熟,
qt是GPL开源 和LGPL商业授权的跨平台方案 如果你的软件是开源的,那么它就是免费的,如果你的软件不是开源的,那么你需要买
授权 ,否则你需要包一层开源的包装,这样就可以绕过LGPL的限制 当然对于一个盈利的公司来说,授权并不昂贵
qt社区强大,文档强大, 入门相对来说比较难一些,可以用于几乎全平台 andriod ios linux mac window的开发
qt又分 widget和qml (qt quick)
widget 是4.x时就成型了的,特别适合信息密度大的gui开发(桌面),也能开信息密度较发低的gui(移动 ),绘图用cpu,所以ui效果中规中矩
qml 是从5.0开始的, ui用qml(类似json+js的语言)编写 可以把qml对象关联到cPP, 布局用qml,业务逻辑用cpp
qml具有硬件加速,所以可以简单的做出比较炫的ui ,但是如果布局很复杂,可能会降低性能。
5. x版本主要就是做移动端的 qml
6. x版本主要做桌面端的qml
如果你要用qt开发桌面程序,目前你应该选择的是widget, 但如果是移动开发,你的应该选择qml
6.x已经发布了,但是效果如何尚不清楚,但是学了qml,可能将来可以在6.x中用qml快乐的开发桌面程序

我个人有强烈的学习qt的意愿:
1.因为wpf mvvm习惯了,所以个人比较倾向于qt qml的开发方式, flutter在我眼里就是很牛逼的反派份子
2.flutter目前的岗位没有qt多,
3.qt的天花板也比较高,可以有很多学习的乐趣,
4.无论是做什么客户端,开发技能高到某一程序,你总是会碰到cpp,所以cpp会的话,比再多会一种托管语言重要很多
5.我的cpp理论基础好(语法,std),但一直没有实践,可以快速的上手
6. qt 6.x成熟后, qt qml应该也可以用于开发高性能的跨平台桌面程序

以上是我看了部分qt qml的官方教程 和flutter官方的所有视频教程得出的结论

原文地址:https://www.cnblogs.com/nocanstillbb/p/14232236.html