软件开发大爆炸,被诺基亚错过的Qt正迎来黄金时代

软件开发工具Qt的第一个公众预览版于1995年面世,之后在2008年被诺基亚收购;2011年到2012年,在诺基亚全面转向微软系后,将Qt软件业务出售给了芬兰IT服务公司Digia;2016年Qt公司从Digita独立出来后,在芬兰上市;2017年获得1500万欧元投资;2018年在坚持了20多年后,Qt终于迎来了物联网特别是智能汽车、智能制造业等风口。

作为一个完整的、跨平台的C++图形用户界面应用程序开发框架,Qt不仅有着悠久的历史,也有着其独特的价值。C++是全球前十大受欢迎的编程语言,迄今已有超过35年的历史,支持从服务器到桌面再到各种嵌入式设备的应用开发;而Qt对C++的支持也经历20多年的发展,广泛支持Linux、Unix、Windows、Mac

OS、安卓、iOS以及嵌入式VxWorks等操作系统,有欧洲航天局、松下、三星、EA、AMD、Tableau、特斯拉等客户,知名软件Skype、WPS
Office、Autodesk Maya、Linux
KDE等都是基于Qt开发,Qt在能源、汽车、医疗、军工和工业自动化等70多个行业拥有超过100万开发者。

在当前软件开发大爆炸时代,Qt最大优势在于只需编写一次代码,就能编译部署在任何操作系统和硬件上,以及擅长图形界面开发,如今更扩展到移动及嵌入式设备开发。只需编写一次代码,就能编译部署在任何操作系统和硬件上对于商业软件公司来说极具价值,而Qt是Linux和嵌入式操作系统下的主流图形界面开发环境,此外在诺基亚时代就已经为Qt做好了面向移动开发的几乎所有准备。

2018年4月17日,Qt公司全球销售及业务拓展执行副总裁 Juhapekka Niemi与Qt公司大中华区总经理董任远与笔者在北京车展前夕分享了Qt公司正在走进的软件开发黄金时代。

软件开发大爆炸

20多年前,两位年轻的开发者Haavard
Nord和Eirik
Chambe-Eng坐在挪威公园长椅上讨论一个问题,他们想要构建能在多个平台上运行的单一框架,作为超声波设备的用户界面,这就是Qt的开始。用一种语言连接一个创新的世界,这是Qt最初的想法,也是一直在坚持的方向。在软件开发大爆炸的今天,Qt的价值开始凸显。

2011年,就在诺基亚忙着倒向微软而行将放弃Qt的时候,Netscape创始人、硅谷著名投资人Marc

Andreessen,在华尔街日报上发表了《软件正在吞噬世界》的文章。在该文章中,Marc指出:60年前的计算机革命、40年前的微处理器发明、20年前的互联网兴起,所有这些技术最终都通过软件改变各个行业;而随着创业成本的降低以及对网络服务的巨大市场需求,全球经济将首次实现数字化。

7年后的今天,全球数字经济已经进入了规模化发展期。前不久的首届数字中国建设峰会上发布了《数字中国建设发展报告(2017年)》,报告指出2017年中国数字经济规模达27.2万亿元、同比增长20.3%、占GDP的比重达到32.9%,数字经济规模位居全球第二。无论是全球还是中国市场,软件吞噬世界的现象正在上演。特别是随着物联网设备的繁荣,从汽车仪表盘到智能手表再到各类机器人,触屏控制已经成为了人机交互的主流方式。

然而,正如7年前Marc

Andreessen所经历的,他当时说:“我工作过的每家公司都绝对地缺乏人才”。考虑到Marc工作过的公司都以软件和网络服务为主,因此当时已经显现了软件开发人才短缺,今天则成为了全球性的挑战。Juhapekka

Niemi表示,伴随着互联设备和物联网设备的飞速发展,但从事软件开发的毕业生人数远远不够,而且在软件开发能力上存在非常大的欠缺,Qt则通过一整套跨平台解决方案来解决这个问题。今天的Qt可以运行在12种操作系统之上,尤其支持工业和军工领域常用的VxWorks,支持的设备可以大到船只导航、也可以小到连屏幕都没有的物联网设备,同时Qt在不断开发提供大量类库,以支持原生应用。“没有任何一家竞争对手的软件能像Qt这样有如此广泛的应用”,Juhapekka
Niemi强调。

董任远表示,中国的数字化进程为Qt开启了在中国的黄金时代。发展智能制造和工业4.0,都需要在工业自动化设备中嵌入触摸屏,而且Qt公司开放其软件源代码满足了中国政府的自主可控要求。工业控制是Qt的主要行业,实际上在工业控制领域已经基本上是Qt的天下了。接下来,在众多行业中,Qt正着重拓展汽车行业,而中国正是智能汽车和互联网汽车的重要市场。

智能汽车是软件的下一个战场

在Marc的文章中,特别提到了软件对于汽车的变革。当时他提出,向混合动力以及电动汽车的发展趋势将会加速向软件化的转移,其中电动汽车完全由电脑控制。在当时,谷歌以及一些重要的汽车公司已经在开发由软件驱动的无人驾驶汽车。

在2018年初的一份麦肯锡报告《传统车企正面临出行的数字化颠覆》,指出二十年前买车的决定性因素是驾驶体验,而在今天则变成了车内体验——对于自动驾驶、车载互联、电气化、共享化的需求,比如自动驾驶汽车、互联泊车服务、OTA升级、网络安全等等。而为了可以更好的提升车内体验,汽车行业需要将产品的关注点由原来的硬件驱动转为软件驱动,麦肯锡预测汽车里的软件部分将在2030年的时候在车辆中占到30%的比例,比目前的10%大幅提高。

麦肯锡在2018年4月的另一份报告中预计,中国未来很可能成为全球最大的自动驾驶市场,至2030年,自动驾驶相关的新车销售及出行服务创收将超过5000亿美元。截至目前,传统汽车零部件的开发及汽车的设计和品牌是汽车制造商的关注焦点,但未来自动驾驶占据主导地位之后,一整套新技术和新技能将至关重要,未来自动驾驶价值链最重要的三项能力为自动驾驶软件开发、自动驾驶硬件生产及自动驾驶系统集成。

Juhapekka

Niemi表示,汽车行业是数字化转型和数字化变革的典型代表。数字化正在显著引领整个汽车行业走向自动驾驶,创造基于共享的商业模式,提升车内多屏互动及与移动设备的交互等个性化乘车体验。此外,随着互联网公司造车热,也把互联网产品的快速迭代思维带入了汽车行业,在仪表盘、车载娱乐系统、人车交互等方面都要求快速迭代、快速推向市场。

在这个过程中,软件开发平台和用户交互界面起到了至关重要的作用。之前,Qt已经推出了面向工作站和移动应用开发的Qt
for Application Development,以及面向嵌入式系统开发的Qt for Device
Creation。针对汽车行业,Qt则专门推出了Qt Automotive Suite套件,现已经升级到Qt Automotive Suite
2.0版本。针对图形用户界面设计,Qt为汽车行业推出了3D图形交互界面设计工具Qt 3D
Studio,让开发者能够很轻松地为汽车设计各种3D场景。

2016年,Qt公司发现汽车的数字化软件开发遇到了三大挑战:首先是车内出现了越来越多的数字显示屏,而开发跨屏的统一数字用户体验则非常困难,这是因为不同的汽车厂商

会有不同的软件开发供应商,而不同的软件开发商则采用不同的开发工具和技术,最后在集成的时候就会不可避免地遇到HMI的修改,以保证车内所有数字屏和仪表盘的品牌统一性;其二是代码的复用率很低,不同的项目、不同的厂商都在重复开发代码,这特别体现在车载娱乐系统的开发上,从而导致快速创新以及差异化非常困难,开发周期长且昂贵;三是原先的车载系统是紧耦合在一起,HVAC控制、媒体播放器、收音机等功能都叠加到一个软件堆栈上,特别容易因为一个功能的问题引发连锁反应,也难以把整个系统拆分为小项目以便并行开发,而且还需要维护一个庞大的代码库,一个功能的更新就需要对整个系统重新构建和安装。

Juhapekka

Niemi表示,已经有越来越多的汽车厂商选择Qt作为车内仪表盘和中控的软件开发平台。2017年,Qt正在与全球大型汽车制造商一起研发基于Qt技术的概念车,比如可以通过车内中控或声音来控制导航、娱乐系统。2018年2月,Qt
Automotive Suite 2.0发布,增加了很多新功能,包括新增的Qt 3D Studio、Qt Safe
Renderer等,特别是升级的Neptune UI人机界面设计让车载应用加载速度更快速、体验更好。而在Qt Automotive Suite
2.0之后,Qt还将提供一个全新的UX用户体验设计,System
UI可以像手机桌面一样管理应用程序。这让未来的自动驾驶车像行走的iPhone一样,有着超高的用户体验。

用Qt写就未来

每年Qt公司都会做用户调查。在最新的2017
Qt用户调查中,Qt被应用到从桌面开发到移动应用再到嵌入式系统和无显示屏设备(Headless
Device),涉及70余个领域和行业的软件开发、企业应用、游戏开发工具、机器人、智能家庭与工厂、测试和测量系统、消费器、汽车、医疗实验设备、安全系统、数字电视等,陆地、水上甚至太空都有Qt的应用。

Qt软件有商业版、开源版,Qt公司在芬兰、中国、美国、日本等十个国家拥有300多位员工为Qt商业版提供定制开发的软件功能和专业服务,确保软件开发的稳定性、可靠性和安全性。而Qt全球100多万开发者,也是Qt产品的技术资源,这些开发者在源源不断地指出Qt框架的问题、优化和开发方向,甚至直接贡献代码。一个用户在2017
Qt用户调查中写道:“我感觉有一整个软件工程师团队在为我工作!”

来自2017
Qt用户调查的声音还有:“Qt能够用一套代码库适配多个平台,这每次都让我的客户非常兴奋”;“大型汽车厂商对Qt交付的结果非常满意,他们经常会问‘这是Qt做的吗’?”“我们能够很简单地把积攒了20多年的C++代码库从MFC迁移到Qt,提高了开发流程效率”;“Qt不会把我锁定到某个技术平台上,我有很大的灵活性”;“Qt给用户提供了完整的网页浏览器/HTML5体验”;“Windows/Mac平台的同步开发”;“简单、简洁的API,使用Qt非常有趣味!”;等等。

董任远介绍说,中国是Qt全球业务发展最快的区域,这得益于中国有广大的Qt用户群、全球排名第二的Qt下载量和最大的软件安装量,中国有众多熟悉Qt的开发人员,很多人从学生时代就在使用Qt,实际上中国市场超过40%的Qt下载量来自国内各大高校的学生。

2017年Qt持续向中国投入,加大了销售和服务团队,专注于汽车、工业自动化、国防科技等特定行业,也在持续扩展渠道、招募技术合作伙伴,共建良好的生态系统。Qt也在投入资源,帮助合作伙伴快速进入市场、开发软件。Qt还在加快产业布局,包括为汽车、工业自动化等客户提供定制的解决方案,董任远介绍说Qt研发的给数字座舱换肤、换主题解决方案就是由中国市场用户提出的需求。

随着汽车的电动化、智能化和联网化,用户的数字体验对于汽车行业变得越来越重要。而数字体验不仅仅局限于车内设备,汽车作为一个新的移动终端或者说IOT设备,与其他移动终端设备,例如手机和平板等的无缝连接和互动会变得越来越重要。而连接不同设备在不同平台上部署应用,正是使用Qt进行软件开发的优势所在,这个庞大的商用市场无疑将成为Qt公司面临的巨大机遇,加上中国正在大力推进的智能制造和工业自动化,在一个软件吞噬一切的时代,被诺基亚错过的Qt将迎来自己的黄金时代。(文/宁川)

原文地址:http://blog.51cto.com/cloudtechtime/2107622

时间: 2024-10-03 04:32:31

软件开发大爆炸,被诺基亚错过的Qt正迎来黄金时代的相关文章

软件开发的过程

一: 软件开发大爆炸模式的最大优点是 简单 分析:大爆炸模式的软件开发几乎没有计划,进度和正规的安排所有的精力都发在开发软件和编写代码上,几乎没有什么测试.而且在软件快速完成后的测试就是把软件的确定告诉顾客,并不可能从头在开始修改软件.从项目管理的角度来看,装备交付的软件会因为软件测试员的工作妨碍了交付. 二:  采用便携边修改的模式是如何得知软件发布的时间 采用这种方式的小组通常最初只有粗略的想法,接着进行一些简单的设计,然互开始漫长的来回编写,测试和修改缺陷的过程.等到觉得足够了,就发布产品

Android 软件开发与游戏开发1 至 32系列博文大合集

Android 软件开发与游戏开发1 至 32系列博文大合集Android 软件开发与游戏开发1 至 32系列博文大合集 http://www.qdmm.com/BookReader/17958,65822595.aspxhttp://www.qdmm.com/BookReader/17958,65822597.aspxhttp://www.qdmm.com/BookReader/17958,65822598.aspxhttp://www.qdmm.com/BookReader/17958,65

软件开发培训不得不选传智播客的九大理由

选择传智播客九大理由: 1 有实力不怕炫,我们就爱那个是出书出开源项目 2 引领新技术,让我们学员走在别人最前面,首家推出Hadoop,Unity3D,Nginx. 3 课程知识面广,技术讲解深入易懂,让我们学员不仅会做,还能明白其中原理. 4 培养学员自己解决问题的能力,拒绝成为"只会点击控件"的工具使用者. 5 终结"行尸走肉"的生活,带您走上"积极向上,充满理想"的人生道路. 6 程序员女友来传智播客免费学习设计:原价1800元的网页设计U

软件开发中常见的十大系统瓶颈------转载

在Zen And The Art Of Scaling - A Koan And Epigram Approach中,Russell Sullivan提出了一个非常有趣的总结:软件开发常见的20个传统的系统瓶颈,这听起来像是说有20个故事情节,并且依赖于你如何策划这些故事,或许都是真的,但唯有实践才知道它们带给我们的酸甜苦辣. 有一天,Aurelien Broszniowski给我发了一份电子邮件,把这些瓶颈用列表的方式展示出来.在接下来的交谈过程中,我又把该列表抄送给了Russell,Russ

Android软件开发之盘点自定义View界面大合集(二)

Android软件开发之盘点自定义View界面大合集(二) - 雨松MOMO的程序世界 - 51CTO技术博客 雨松MOMO带大家盘点Android 中的自定义View界面的绘制 今天我用自己写的一个Demo 和大家详细介绍一个Android中自定义View中的使用与绘制技巧. 1.自定义view绘制字符串 相信在实际开发过程中必然很多地方都须要用到系统字 为什么会用到系统字? 方便 省内存 我相信做过J2ME游戏开发的朋友应该深知内存有多么多么重要 而且使用它还可以带来一个更重要的好处就是很方

atitit.提升软件开发效率大的总结O5

#---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建设. 2 #---内部框架/标准类库/api/业务库的建设... 2 #----开发工具集和配置的建设.... 2 #---代码生成跟代码转换工具的集合,互操作等 3 #----经常关注开发语言,类库,框架,工具的新特性,补充到我们的内部框架里面.固化下来. 3 #---代码输入法 3 #----热部署热更新 3 #----DSL & 4gl

Android软件开发之盘点所有Dialog对话框大合集(一)

Android软件开发之盘点所有Dialog对话框大合集(一) - 雨松MOMO的程序世界 - 51CTO技术博客 雨松MOMO带大家盘点Android 中的对话框 今天我用自己写的一个Demo 和大家详细介绍一个Android中的对话框的使用技巧.   1.确定取消对话框 对话框中有2个按钮 通过调用 setPositiveButton 方法 和 setNegativeButton 方法 可以设置按钮的显示内容以及按钮的监听事件.   我们使用AlerDialog 创建对话框 AlertDia

为什么软件开发,人多,事少,还会工作量大?

本文所要分享的是软件开发过程中,亲身经历过的“怪现象”.为什么说怪呢,人多力量大,似乎才符合常理,但是往往在软件项目开展的过程中会出现人多.事少.工作量大的情况,这跟我们以往的认知大相径庭. 首先,要解释下标题的意思.人多,指的是同一个项目团队.同一个小组或者同一个部门的范围内:事少, 指的是做出的效果,真正的产出少:工作量大,指的是,工作时间长,工作忙,实际的投入大. 其实,人多事少工作量大,说白了就是效率低,而影响效率的,原因千万种,有人员问题.沟通问题.流程问题.管理问题.技术问题,下面零

Java软件开发工程师市场需求大不大

Java编程语言是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异.多线程的动态语言.为什么Java开发工程师的待遇一直那么高呢? Java行业市场需求存在巨大的缺口 这几年中国在移动互联网这块发展非常迅猛,各种创业公司.小团队如雨后春笋般冒出来,对Java开发的需要变大.但存在人才发展跟不上市场的需求的现状,相对应的给优秀Java人才开出的薪资待遇随之水涨船高,为此很多大学生看中了这一前景,纷纷加入了动力节点Java培训机构,接受专业的培训,与企业零距离对