【IT168评论】跨平台技术一直是业界非常关注的技术,同时在行业应用需求上有极其广泛的应用。Qt作为跨平台技术领域的佼佼者,却在20多年的发展过程中,经历过两次易主,终于在2012年8月被Digia收购之后重新找到了定位和发展方向,值得贺喜。2013年的首个Qt中国开发者大会亮相,也正式宣布Qt的强势回归。
回顾Qt的发展,Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。
Qt技术开始,优势都在桌面和嵌入式系统。2008年,奇趣科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。在诺基亚时代,Qt不支持Android、IOS、黑莓和Jolla。自2012年8月Digia宣布对Qt业务及其技术的全面收购以后,经过一段时间的产品研发取得了一定的成果。现在已经注重移动市场的开发。
据了解,在一些新的开发者或者创业团队眼中,Qt在跨平台业界有比较高的知名度。Digia期望通过不断的加快对移动平台的支持,吸引更多开发者基于Qt平台开发丰富的应用。2011年3月Digia从诺基亚收购了Qt的商业授权和技术支持业务。2012年8月份从诺基亚收购了剩余的Qt平台和知识产权,涉及LGPL的授权,掀开了Qt发展的新篇章。
Digia收购Qt 迎来移动化时代
移动互联网非常火,Qt平台是否能够支持开发者开发移动互联网应用成为了一个关注的焦点。谈到目前业界最为关注的移动技术,Qt项目的首席维护工程师Lars Knoll表示:从Digia角度来讲,正在加大研发的投入,由于历史原因,当时一些操作系统层面的限制,不能把Qt部署到更多的移动操作系统上,现在Digia将移动看成主要的发展方向。从另外一个方面来看,支持更多操作系统付出的精力要比我们支持原来的桌面系统更多,而且Digia也愿意在这方面做长期的承诺和投资。
另外Lars Knoll谈到,从桌面和嵌入式系统从技术层面来讲,Qt是一个非常好的选择。首先,Qt已经在多个平台间实现了一份代码多平台部署。另外,在跨平台上Qt的一大优势是能够尽可能多地利用操作系统原生性能和软件特性,把每个操作系统的特性最大化。所以从技术层面上来讲,Qt通过桌面和嵌入式经验进入移动操作系统是一个比较快的方式。另外,对于移动开发,现在Qt采取的是双重授权策略,企业版授权和LGPL授权。相对来讲这是比较开放的生态系统。
Digia国际化产品高级副总裁Tommi Laitinen表示:Digia和移动互联网,尤其是手机行业有很长的历史渊源,从上世纪90年代Digia就做很多手机方面的软件,那时候智能手机还没有出现,到今天我们还是有一些基于手机方面的软件服务提供给我们的客户。从这个角度来看,Digia一直认为移动互联网是很重要的市场,而且我们有这种历史积累。现在Qt在不同的系统上都有新的进展,我们相信随着市场的壮大,Digia在整个移动互联网的市场上Qt技术会变得越来越重要。
▲ Digia国际化产品高级副总裁Tommi Laitinen
另外,Qt开发应用在不同操作系统上的部署,目前Qt开发环境支持对安卓和IOS的直接部署。也就是在Qt环境下打包可以生成APK文件。IOS是通过X code的方式打包,BlackBerry 10也可以。对于移动互联网应用开发的产品生命周期管理现在比以前更长了,所以从Qt或者Digia角度来讲希望从客户一开始的概念设计或者最初的状态进入到客户的整个研发过程中,所以我们从工具的角度、从部署的角度,我们也都作了相应的考虑。
企业移动化也是Digia战略上的一个方向,作为一家商业公司,Digia有商业软件,企业移动信息化很重要。另外,对于个人开发者或者公众应用开发同样重要,这部分的用户群体和消费能力比较大,Digia正在寻找更有效的方式支持个人开发者。
Qt继续发挥跨平台的优势
优势一、支持原生应用
对于其他跨平台工具,Qt更多是支持原生应用,对于系统性能提高幅度比较大,很多市场上的一些跨平台工具,使用都是Web技术,Web技术对于系统性能可能有一些影响。QML 是Qt中一个创新性的技术,能够让开发者以比较小的代价或者较低的门槛生成非常炫的人机交互界面。在Qt5里面主推的QML2面向多点触摸、3D等特性。在嵌入式领域,尤其对系统性能要求比较高。Qt的一大好处是能够做原生的系统应用。很多时候客户不必先选择操作系统或者硬件。当选择Qt技术的时候,先选择Qt图形框架之后再选择用什么操作系统。以往用户一旦选择操作系统多半就意味着要选择硬件,比如汽车领域是用Linux还是Android,都会对应着不同的硬件选择。
优势二、提高投入产出比
使用Qt的投入产出是企业非常关注的。Qt对于个人开发者或者使用Qt的企业来说,提升投入产出有很大的帮助。目前来看,如果不采用跨平台的技术,加入企业要开发一个IOS应用和Android应用的话,都需要配备专门的开发人员,在移动开发人才紧缺的情况下,投入成本非常高。采用Qt跨平台技术的好处是一个开发团队可以把所有的应用全部用Qt框架做出来,这样对于企业的投入产出有很大的帮助。
Qt的典型案例
在了解这项技术之前,我们很习惯的想知道这项技术究竟能够用到哪些领域。从Digia的介绍来看,Qt的技术应用的确广泛。目前应用的行业主要包括能源行业的石油、电力;国内的军工和国防行业,比如中国航天科技、中国电子科技集团;还有医疗行业的客户,利用Qt开发一些如B超、心电等有人机交换的界面应用或设备。
全球范围来讲Qt应用到的典型客户:比如汽车领域,包括沃尔沃、三菱、大众。一些比较知名的软件包括PhotoShop、Skype、Google Earth。除此之外,现在比较知名的软件,基于Qt开发整个图形,比如说MAYA,金山Office的Linux版本的界面。具体到一些行业应用,日常生活相关比较多的比如机顶盒、冰箱、咖啡机等小型液晶显示界面上的构件。Qt服务于不同行业,在世界其他国家和中国有比较大的相似性,客户的集中程度主要是能源、医疗、军工和国防、汽车、游戏动画视觉效果、芯片、消费电子等。
总结
尽管Qt在发展的过程中经历了众多的历史阶段,但是重新确立了自己的发展方向,将更加具有前瞻性的技术趋势融合到Qt的框架中,能够沿着跨平台技术的需求发展,必将迎来技术的春天。