1. 程式人生 > >軟件開發大爆炸,被諾基亞錯過的Qt正迎來黃金時代

軟件開發大爆炸,被諾基亞錯過的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將迎來自己的黃金時代。(文/寧川)


軟件開發大爆炸,被諾基亞錯過的Qt正迎來黃金時代