翻譯|使用教程|編輯:吳園園|2020-05-28 15:37:50.410|閱讀 604 次
概述:Qt2020年路線圖。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
相關(guān)鏈接:
Qt是目前最先進(jìn)、最完整的跨平臺(tái)C++開(kāi)發(fā)工具。它不僅完全實(shí)現(xiàn)了一次編寫(xiě),所有平臺(tái)無(wú)差別運(yùn)行,更提供了幾乎所有開(kāi)發(fā)過(guò)程中需要用到的工具。如今,Qt已被運(yùn)用于超過(guò)70個(gè)行業(yè)、數(shù)千家企業(yè),支持?jǐn)?shù)百萬(wàn)設(shè)備及應(yīng)用。
2020年對(duì)Qt來(lái)說(shuō)將是激動(dòng)人心的一年,因?yàn)槲覀兗磳l(fā)布很多優(yōu)秀產(chǎn)品。起點(diǎn)是即將發(fā)布的Qt 5.15 LTS,預(yù)覽版本已可用。為了提高工作效率,我們?yōu)樵O(shè)計(jì)師和開(kāi)發(fā)者提供了許多新功能。隨著Qt for MCUs的推出,我們擴(kuò)展到全新系列的目標(biāo)平臺(tái)。最重要的是,我們將在年底發(fā)布Qt的下一個(gè)重要版本 —— Qt 6。
在深入探討2020年計(jì)劃的新項(xiàng)目之前,我要感謝所有Qt開(kāi)發(fā)者的貢獻(xiàn)。我們擁有一個(gè)貢獻(xiàn)者眾多的偉大生態(tài)系統(tǒng),多年來(lái)提供了許多極有寶貴的貢獻(xiàn),并在未來(lái)繼續(xù)塑造Qt。除了那些代碼貢獻(xiàn)者,還有許多活躍在Qt項(xiàng)目論壇、郵件列表、以及評(píng)審代碼和測(cè)試Qt開(kāi)發(fā)版本的人們。
從一開(kāi)始,Qt就是為開(kāi)發(fā)者打造的框架和工具,而且長(zhǎng)期以來(lái),Qt也提供了自己的Qt Creator IDE。早期,我們?yōu)殚_(kāi)發(fā)者提供了一個(gè)可視化的拖拽式設(shè)計(jì)工具,并作為產(chǎn)品的一部分,但是最近幾年,我們花了很多精力來(lái)改善我們?yōu)樵O(shè)計(jì)師提供的產(chǎn)品。那么,讓我們先從設(shè)計(jì)師工具開(kāi)始介紹Qt的發(fā)展規(guī)劃。
設(shè)計(jì)師工具
去年12月我們?cè)赒t Design Studio中發(fā)布了在2D設(shè)計(jì)工具中加入3D設(shè)計(jì)功能的首個(gè)技術(shù)預(yù)覽版本。目前,我們正在完善即將發(fā)布的Qt Design Studio 1.5,打磨2D和3D集成設(shè)計(jì)的體驗(yàn)。在2020年下半年的后續(xù)版本中,我們將完善Qt Design Studio統(tǒng)一的2D和3D設(shè)計(jì)體驗(yàn)和其他功能。
Qt Design Studio 1.5中改進(jìn)了對(duì)Qt Quick 3D的支持,并充分利用了Qt Quick 3D在Qt 5.15 LTS中的所有改進(jìn)。通過(guò)添加停靠widget使得可用性得到了改進(jìn)。Qt Design Studio的各種視圖和控制窗口可以在所有顯示器之間自由移動(dòng)。這使得設(shè)計(jì)師可以創(chuàng)建一個(gè)工作空間,該工作空間能匹配個(gè)人偏好和進(jìn)行中項(xiàng)目的設(shè)置。
全新的UI流設(shè)計(jì)功能帶來(lái)了一個(gè)可視化編輯器,用于創(chuàng)建不同的視圖并定義它們之間的交互。這個(gè)需求呼聲很高的功能即使對(duì)于復(fù)雜的應(yīng)用程序也可以直觀、快速地創(chuàng)建完整的應(yīng)用程序設(shè)計(jì)。Qt Design Studio 1.5的另一個(gè)重要且備受推崇的功能是支持僅在設(shè)計(jì)和開(kāi)發(fā)期間可見(jiàn)的注釋。這些注釋允許設(shè)計(jì)師和開(kāi)發(fā)者在設(shè)計(jì)應(yīng)用程序時(shí)交流。下半年,我們將致力于改善多語(yǔ)言應(yīng)用程序的設(shè)計(jì)體驗(yàn),并支持直接從Qt design Studio生成UI/UX規(guī)范文檔。
Qt Design Studio已經(jīng)支持各種內(nèi)容的導(dǎo)入。Photoshop和Sketch可以直接集成,3D內(nèi)容可以通過(guò)常見(jiàn)的交換格式(如FBX)導(dǎo)入。每個(gè)新版本都將進(jìn)一步改進(jìn)這些功能。為了擴(kuò)展可用的圖形設(shè)計(jì)工具集成,我們計(jì)劃為Adobe XD等新工具提供額外集成。對(duì)素材導(dǎo)入格式的改進(jìn)也在進(jìn)行中,特別是在創(chuàng)建3D應(yīng)用程序中常用的格式,如FBX和glTF。除了設(shè)計(jì)工具集成,還可以集成到外部AR/VR應(yīng)用程序,如Autodesk VRED,我們正在考慮集成外部模擬應(yīng)用程序。
開(kāi)發(fā)者工具
Qt開(kāi)發(fā)者也有各種各樣的專用工具,我們正在不斷改進(jìn)它們。Qt Creator是我們?yōu)殚_(kāi)發(fā)者提供的主要工具,它匯集了許多其他工具,一般都作為Qt Creator IDE的插件創(chuàng)建。當(dāng)然,開(kāi)發(fā)者也可以使用我們的設(shè)計(jì)工具,它們也為那些主要編寫(xiě)代碼的人提供了諸多明顯的好處。事實(shí)上,設(shè)計(jì)工具是基于Qt Creator的,只是隱藏了那些對(duì)設(shè)計(jì)過(guò)程沒(méi)有價(jià)值的部分。因此,讓我們深入了解我們正在為Qt Creator和其他開(kāi)發(fā)工具所做的工作。
Clang已經(jīng)存在很長(zhǎng)一段時(shí)間了,我們一直在不斷地改進(jìn)對(duì)Clang及其附屬工具的支持和使用。目前,我們正致力于通過(guò)Clang、Qt Creator和其他工具改善對(duì)C++的支持。在Creator中一旦可以更新Clang將使C++ 20得到支持。當(dāng)我們?yōu)镃/ C++啟用基于Clang的解析器時(shí),升級(jí)的翻譯工具將從Clang的支持中收益。
Qt Creator IDE提供了突顯多種語(yǔ)言語(yǔ)法的功能。目前正通過(guò)語(yǔ)言服務(wù)器協(xié)議(LSP)推廣對(duì)不同語(yǔ)言的支持。對(duì)于用戶來(lái)說(shuō),這意味著改進(jìn)了對(duì)Python和QML的支持。對(duì)于Qt Creator中的其他項(xiàng)目,我們正在研究簡(jiǎn)化Qt Creator擴(kuò)展構(gòu)建的步驟。這將有助于通過(guò)Qt Marketplace創(chuàng)建和提供單獨(dú)的Qt Creator擴(kuò)展。
我們將繼續(xù)在Qt中改進(jìn)對(duì)CMake的支持,并與Kitware合作解決CMake上游需要修復(fù)的問(wèn)題。利用CMake還意味著Qt用戶可以從新CMake版本中添加的功能中獲益,比如最近發(fā)布的CMake 3.17。
良好的文檔是Qt的基本價(jià)值,隨著Qt 5.15 LTS的推出,我們將擴(kuò)展QDoc來(lái)生成DocBook,這是一種專用于軟件文檔的標(biāo)準(zhǔn)化XML格式。該功能是我們開(kāi)源社區(qū)做出寶貴貢獻(xiàn)的一個(gè)范例。除了不斷增強(qiáng)文檔內(nèi)容之外,還有很多進(jìn)行中的幕后工作,以確保我們的文檔在Qt 5.15 LTS、6.0和更高版本中保持世界級(jí)水平。
Qt for MCUs
隨著越來(lái)越多基于微控制器的設(shè)備具有顯示功能,我們希望進(jìn)入這一細(xì)分市場(chǎng)。在嘗試將Qt縮小到所需水平之后,我們意識(shí)到這種方法對(duì)于大多數(shù)常見(jiàn)用例都不可行。為了正確應(yīng)對(duì)這一細(xì)分市場(chǎng),我們開(kāi)發(fā)了Qt for MCUs,并在去年年底發(fā)布了第一個(gè)完全支持的版本。在2020年,我們將支持新設(shè)備和操作系統(tǒng),并呈現(xiàn)許多重要功能。
Qt for MCUs的核心是一個(gè)完全重寫(xiě)的Qt Quick Ultralite圖形運(yùn)行時(shí),具備適用于受限設(shè)備的QML功能子集。隨著Qt 5.15 LTS和相應(yīng)Qt for MCUs版本的發(fā)布,我們?cè)赒ML語(yǔ)言層面提供了完全的兼容性。由于Qt Quick Ultralite只支持QML的一個(gè)子集,所以兼容性僅限于所支持的功能。這使得以Qt for MCUs為目標(biāo)的應(yīng)用程序可以直接運(yùn)行在Qt 5.15 LTS上——并且可以高效利用Qt工具。對(duì)于同時(shí)在微控制器和微處理器上使用Qt的組織來(lái)說(shuō),完全的兼容性至關(guān)重要。
Qt for MCUs已有一些很棒的工具了,我們將在2020年大幅改進(jìn)這些工具。對(duì)于開(kāi)發(fā)者而言,我們正在擴(kuò)展Qt Creator IDE的使用,并將整個(gè)開(kāi)發(fā)者體驗(yàn)提升到Qt用戶熟悉的Qt for Device Creation級(jí)別。我們還增加了Qt Design Studio對(duì)MCU的支持,讓設(shè)計(jì)師和開(kāi)發(fā)者能在微控制器的開(kāi)發(fā)上無(wú)縫協(xié)作。
Qt 5.15 LTS
Qt 5.15 LTS已發(fā)布了三個(gè)測(cè)試版,正處于開(kāi)發(fā)的最后階段,計(jì)劃在5月底發(fā)布。對(duì)于商業(yè)許可證持有者而言,Qt 5.15 LTS將獲得三年支持,就像Qt 5.12 LTS和Qt 5.9 LTS一樣。對(duì)于開(kāi)源用戶來(lái)說(shuō),Qt 5.15是一個(gè)普通的Qt版本,沒(méi)有長(zhǎng)周期支持,就像Qt 5.14和Qt 6.0一樣。
Qt 5.15 LTS最重要的新功能之一是完全支持的Qt Quick 3D,它為Qt應(yīng)用程序添加3D功能提供了易于使用且高效的API。3D引擎是基于與Qt 3D Studio相同的運(yùn)行時(shí)——深度集成了Qt Quick并增強(qiáng)了性能。Qt Quick 3D的一個(gè)關(guān)鍵優(yōu)點(diǎn)是能夠?qū)?D和3D Qt Quick無(wú)縫結(jié)合到一個(gè)應(yīng)用程序中,包括用于動(dòng)畫(huà)的統(tǒng)一定時(shí)器。
圖形領(lǐng)域的另一個(gè)重要新項(xiàng)目是RHI的技術(shù)預(yù)覽—— Qt全新的渲染硬件接口。RHI是Qt 5.15 LTS的一個(gè)可選功能,可以用于在Metal和Vulkan等新圖形API上運(yùn)行Qt。但也有一些限制,例如,RHI在Qt 5.15 LTS中只支持Qt Quick (2D),而、尚不支持新的Qt Quick 3D。RHI將是Qt 6.0的圖形基線,但對(duì)于那些想要嘗試的人來(lái)說(shuō),Qt 5.15 LTS已經(jīng)提供了RHI。
其他與圖形相關(guān)的重要項(xiàng)目是Qt 3D的多項(xiàng)改進(jìn),提高了性能和功能。有人可能會(huì)問(wèn)為什么有兩種不同的3D方法:Qt 3D和Qt Quick 3D。部分是由于歷史的原因 —— 過(guò)去,我們也曾考慮過(guò)將這些方法組合在一起。然而,Qt Quick 3D和Qt 3D用途不同 —— 一個(gè)是將3D內(nèi)容添加到Qt應(yīng)用程序的易于使用的API,另一個(gè)是轉(zhuǎn)換和調(diào)整3D渲染的多種特性的通用框架(甚至可以用它創(chuàng)建自己的渲染器)。
雖然我們?cè)赒t 5.15 LTS中有很多新的圖形功能,但這還不是全部。我們?cè)赒ML中也做了很多工作來(lái)改進(jìn)語(yǔ)言和功能。大多數(shù)新功能是為Qt 6開(kāi)發(fā)的,但是我們已盡可能多地為Qt 5.15 LTS進(jìn)行了調(diào)整。Qt 5.15 LTS中新的QML功能包括QML類型注冊(cè)和一些其他特性。
與以往一樣,許多部分將在Qt 5.15 LTS中得到有價(jià)值的增量改進(jìn)。Qt for WebAssembly, Qt for Python,以及用戶要求的許多不同模塊的Qt功能。安卓支持將獲得許多可用性改進(jìn)、文檔完善和一些新功能,如使用本機(jī)文件對(duì)話框。除了增加新功能外,我們?yōu)镼t 5.15 LTS所做的重要事情之一就是標(biāo)記那些我們計(jì)劃在Qt 6.0中更改或刪除的API。當(dāng)開(kāi)發(fā)者將他們的應(yīng)用程序移植到Qt 6時(shí),這將有很大的幫助。
Qt 6
Qt下一個(gè)重要版本將于今年年底推出。
Qt 5.0于2012年12月發(fā)布,因此Qt的重要版本之間相差8年,這與Qt 4.0和Qt 5.0之間的7.5年非常接近。就像Qt 4一樣,Qt 5在這些年里添加了很多東西——我們正計(jì)劃對(duì)Qt 6做同樣的事情。Qt 6.0開(kāi)發(fā)的最初重點(diǎn)是Qt Essentials功能。我們希望確保在Qt 6.0發(fā)布之前完成所有需要的更改,以便能夠在整個(gè)Qt 6系列中保持二進(jìn)制和源代碼的兼容性。我們正努力將Qt 6打造為滿足2020年需求的平臺(tái),而Qt 6.0只是這段美好旅程的開(kāi)始。
我們將在今年推出許多關(guān)于Qt 6.0的博客文章和網(wǎng)絡(luò)研討會(huì),所以請(qǐng)繼續(xù)關(guān)注我們的頻道。
行業(yè)解決方案
除了我已經(jīng)介紹過(guò)的通用工具和框架項(xiàng)目之外,我們還專門(mén)針對(duì)不同行業(yè)的需求開(kāi)發(fā)了產(chǎn)品。Qt Automotive Suite將基于Qt 5.15 LTS,并且Qt Automotive Suite的用戶可使用所有Qt 5.15 LTS的功能。經(jīng)安全認(rèn)證的Qt Safe Renderer將有重大更新,為創(chuàng)建動(dòng)態(tài)、安全關(guān)鍵的用戶界面提供更多功能。今年,它還將在更多的平臺(tái)上進(jìn)行預(yù)集成和認(rèn)證。Qt for Automation協(xié)議會(huì)不斷更新到新的Qt版本,并根據(jù)客戶反饋進(jìn)一步開(kāi)發(fā)。
Marketplace
我們?cè)?019年Qt全球峰會(huì)上宣布推出Qt Marketplace,并在同年底上線,最初的內(nèi)容來(lái)自多個(gè)合作伙伴和社區(qū)成員。越來(lái)越多的開(kāi)發(fā)商正不斷添加新的內(nèi)容。如果您從未訪問(wèn)過(guò),我建議您從//marketplace.qt.io進(jìn)入。
除了來(lái)自第三方的內(nèi)容,Qt公司還將利用Marketplace在Qt框架和工具的基礎(chǔ)上提供額外的內(nèi)容。2020年,我們將不斷改進(jìn)Marketplace的用戶體驗(yàn),尤其是購(gòu)買(mǎi)和安裝體驗(yàn)。Qt Creator 4.12集成了Marketplace,允許通過(guò)Qt Creator IDE直接查看市場(chǎng)內(nèi)的可用選項(xiàng)。我們今年還將創(chuàng)建集成Marketplace的全新Qt安裝程序。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: