1 Qt Android嵌入式应用层开发方向对比
大家都知道啊,做嵌入式linux设备,一些没有屏幕,比如安防摄像头,门铃之类的,另外一些嵌入式设备是有触控屏,在触控屏上还跑应用软件的,这种比如商场各种自动售卖机,铁路卖票,银行自助服务,车载系统等。
10年前,我大学毕业那个时候,由于安卓刚开始出现在手机上,还没现在这么火爆,那个时候,做嵌入式界面的,一般会选择Qt,或者miniGUI,还有一些高级一点的车载系统会选择vxwidget等。
嵌入式设备这个领域,卖的是硬件,硬件靠的是出货量,所以做硬件开发的老板,都是在想尽各种办法控制成本。能省一毛钱,就一定要省,因为你出1000万台,就省了100万,那就是利润。
所以10年前,当时的手机芯片价格还很高,那个时候,开发带触控屏幕的嵌入式系统,很多公司都会选择Qt,因为当年啊,国外还是有很多出嵌入式linux芯片方案的厂商。
后来由于手机芯片大规模出货以后,导致手机芯片价格大幅降低,这个时候,自己做linux系统,用Qt或者别的UI框架开发嵌入式,无论从芯片还是软件方面,成本就很高了。
而且行业做安卓嵌入式的方案商也非常多。所以当前做嵌入式系统,用Qt一般都是国内外的大公司才有实力去做了。 中小公司,从成本考虑,做带触控屏幕应用的嵌入式设备,首选的就是Android,这也是大势所趋。
做嵌入式不选Qt,但是做pc mac跨平台应用软件,音视频,图像领域的软件,Qt依然是首选。
2 80%的视频剪辑软件都是qt开发的
Qt在2010年之前被Nokia收购,准备用于手机开发,后来因为Nokia手机失败,Qt就变得命途多舛,虽然Qt错过了移动手机开发,但是Qt在PC Mac应用软件开发上,从2010年以后获得了巨大的成功。
Qt最后也独立出来,成为芬兰的一个上市公司。员工有300多人,一年营收几千万欧元。
Qt从5.0之后,跟OpenGL进行了深度整合,正是这个原因,它天然就适合做图像处理类软件,比如3D建模动画软件maya就是用Qt开发的。
大家都知道啊,OpenGL虽然发展了二三十年了,但是发展前十几年,很多电脑其实是不支持的,比如2008年那个时候我的一个台式机,打开OpenGL应用,他就会提示我没有OpenGL驱动。
但是2010年以后,随着intel处理器集成显卡默认支持了OpenGL,于是OpenGL在电脑上后来就成了标配。正是因为这个原因啊,大量的机遇OpenGL的软件应用得以普及。这就导致视频剪辑软件这个行业,发生了翻天覆地的变化。之前的视频剪辑处理,特效很多时候都要靠cpu去处理。
有了OpenGL以后,我们把每一帧图片交给OpenGL,这个时候OpenGL就变成了比phtoshop还强大的工具。视频剪辑软件上大量的动画啊,特效啊,就可以轻松完成了,像行业知名的视频剪辑软件达芬奇啊,各种开源的视频剪辑软件,包括后来的剪映,都在用Qt开发视频剪辑软件。这就导致了市面上绝大多数剪辑软件,都在用Qt,因为它天然适合干这个。
Qt封装后的OpenGL非常的优雅,我之前学OpenGL学了七八年都没啥长进,后来我自己去看了QtOpenGL的源码,很多东西就搞明白了,进步非常快。包括后来我们的视频课程,里面的OpenGL,就借鉴了Qt的OpenGL封装的思想。所以做视频剪辑软件,首选Qt。
Qt还有另外一个优势,就是跨平台,你看达芬奇,去年非常轻松就推出了iPad版本的视频剪辑软件。Qt目前在iOS/Android/PC/Mac/Linux几乎所有平台上都能跑,如果你做类似的软件,写一次代码,稍微修改,可以到处跑。
VR AR MR开发时代,音视频,图像处理开发技术,尤其是OpenGL ES是最基础的技术。
这里给大家推荐我个人的音视频,图像处理开发系列课程。