經(jīng)過 24 年的更迭,國(guó)民應(yīng)用 QQ 已成為 80/90 后的回憶,00 后的主戰(zhàn)場(chǎng)。而今,因?yàn)?QQ 一個(gè)最新版本的發(fā)布,吸引了不分年齡層次的技術(shù)人的目光。
7 月 3 日,騰訊正式上線 Windows QQ v9.9.0 體驗(yàn)版本。要說(shuō)這一版有什么特別之處,最大的亮點(diǎn)莫過于其新增了 64 位版本支持,基于全新的 NT 架構(gòu),自此正式實(shí)現(xiàn)了 macOS、Linux、Windows 三端統(tǒng)一,使用操作起來(lái)更加流暢快捷。
macOS、Linux、Windows 桌面版 QQ 采用全新的 NT 技術(shù)架構(gòu)
一直以來(lái),一套代碼能夠多端運(yùn)行,是很多現(xiàn)代應(yīng)用開發(fā)者及團(tuán)隊(duì)始終追求的目標(biāo),包括如今的 QQ 團(tuán)隊(duì)也不例外。
不過,在早期 PC 時(shí)代,Windows 一統(tǒng)天下的時(shí)候,QQ 只有 Windows 版本,所以并沒有這方面的考慮。
直到 2008 年,騰訊相繼推出了 QQ for Linux、QQ for Mac 版本。
而后各平臺(tái)歷經(jīng)十幾年的不斷發(fā)展,據(jù)騰訊客戶端工程師、知乎網(wǎng)友 MagiLu (https://www.zhihu.com/people/m-a-g-i)透露,由于三端最早都是獨(dú)立的團(tuán)隊(duì)和獨(dú)立的代碼實(shí)現(xiàn),Windows 功能最豐富全面,Mac 主打創(chuàng)新體驗(yàn),功能相對(duì)較少,Linux 最簡(jiǎn)陋,隨著移動(dòng)互聯(lián)的洗禮,各種組織架構(gòu)調(diào)整、人才流動(dòng)和業(yè)務(wù)興替,當(dāng)前的桌面端 QQ 處于一個(gè)比較臃腫、難以維護(hù)、缺少更新迭代的狀態(tài)。
基于此,騰訊 QQ 團(tuán)隊(duì)決定在去年啟動(dòng)了 QQ 架構(gòu)升級(jí)計(jì)劃,放棄此前桌面版采用的 Native 開發(fā)方式,而是選用跨平臺(tái)解決方案,帶來(lái)全新的 QQNT 架構(gòu)。
牛逼啊!接私活必備的?N?個(gè)開源項(xiàng)目!趕快收藏
登錄后復(fù)制
所謂 NT,有 New Technology 之意。
作為新版 QQ 桌面端 UI 跨平臺(tái)解決方案,NT 架構(gòu)可以實(shí)現(xiàn)多系統(tǒng)間 QQ 架構(gòu)的統(tǒng)一。
在去年 9 月,騰訊率先對(duì) Mac 版 QQ 進(jìn)行了升級(jí),?這也是騰訊首次對(duì)桌面端 QQ 基于 NT 技術(shù)架構(gòu)的一次全新重構(gòu),因采用最新技術(shù)架構(gòu),性能更穩(wěn)定、發(fā)送更流暢、更易于維護(hù)。
同樣是在去年 12 月,騰訊又緊鑼密鼓地推出了 QQ Linux 3.0 版本,基于 QQNT 技術(shù)架構(gòu)驅(qū)動(dòng)實(shí)現(xiàn)了全新架構(gòu),支持 x64 系統(tǒng)以及 arm64 系統(tǒng),帶來(lái)了多個(gè)功能的提升和拓展。
現(xiàn)如今,騰訊完成了最后一個(gè)桌面版之 Windows QQ 的升級(jí),這意味著采用全新的 NT 技術(shù)架構(gòu),QQ 首次在 Window、macOS、Linux 三個(gè)平臺(tái)上實(shí)現(xiàn)了架構(gòu)統(tǒng)一,也讓 QQ 團(tuán)隊(duì)結(jié)束了被網(wǎng)友調(diào)侃的在代碼上修修補(bǔ)補(bǔ)的日子。
采用?Electron?框架
QQ 平臺(tái)此次推出的新軟件架構(gòu)框架,它主要采用了 Electron 技術(shù),實(shí)現(xiàn)了多個(gè)系統(tǒng)平臺(tái)之間 QQ 架構(gòu)的統(tǒng)一。
不難看出,Electron 在其中起到了不可或缺的作用。
值得一提的是,如今的桌面應(yīng)用軟件基本都需要跨平臺(tái)運(yùn)行,類似于 MFC、Duilib 等技術(shù)都無(wú)法滿足需求。當(dāng)今的跨平臺(tái)桌面應(yīng)用軟件開發(fā)使用 Qt、Electron 較多。
那要問騰訊為什么不選 Qt 而非要使用 Electron 呢?
其實(shí)相比 Electron,Qt 具有運(yùn)行效率高、架構(gòu)健壯、性能強(qiáng)大等優(yōu)勢(shì)。不過,據(jù) MagiLu 分享,之所以不采用 Qt,這與騰訊內(nèi)部的人才儲(chǔ)備與技術(shù)積累有關(guān),其表示,“Qt 的確在性能上是一個(gè)很好的選擇,但目前團(tuán)隊(duì)對(duì) Qt 沒有太多積累,基建基本沒有,而且市場(chǎng)上相關(guān)人才其實(shí)比較匱乏,招聘就更難了。”
所以綜合內(nèi)部的投入成本與積累,其采用了 Electron 技術(shù)。?
具體來(lái)看,Electron(https://github.com/electron/electron)是基于 Node.js 與 Chromium 的跨平臺(tái)桌面開發(fā)環(huán)境,Electron 通過將瀏覽器內(nèi)核和后臺(tái) Node.js 服務(wù)進(jìn)行打包,實(shí)現(xiàn)了一個(gè)使用 JavaScript 的全棧開發(fā)環(huán)境,無(wú)需任何修改就能夠?qū)⒊绦虿渴鸬?Windows、macOS、Linux 平臺(tái)上。
現(xiàn)如今,Electron 已被多個(gè)開源 Web 應(yīng)用程序用于前端與后端的開發(fā),著名項(xiàng)目包括微軟的 Visual Studio Code 等。另外,搜索公眾號(hào)Linux就該這樣學(xué)后臺(tái)回復(fù)“猴子”,獲取一份驚喜禮包。
同時(shí),根據(jù)調(diào)查數(shù)據(jù)顯示,Electron 也是近幾年被選為最受開發(fā)者歡迎的桌面端跨平臺(tái)解決方案。Electron 的多功能性(它可以與任何 UI 框架一起使用,即使它通常與 React 或 Vue.js 相關(guān)聯(lián))也可以解釋為什么它獲得了最高的滿意度。
讓人眼前一亮的新桌面版 QQ
作為一款老牌應(yīng)用程序,QQ 如今依然是不少年輕人的社交工具。而騰訊也一直在致力于打造平臺(tái)一體化,甚至在不久之前宣布 QQ 可以用微信賬號(hào)登錄,繼續(xù)促活 QQ 用戶。
如今采用新技術(shù)架構(gòu)升級(jí)后的 QQ UI 看起來(lái)也更加清爽簡(jiǎn)約。消息界面采用了三欄式設(shè)計(jì),讓頭像、聊天列表、聊天窗口同框。
這看起來(lái)似乎也更像桌面版微信界面了,不是嗎?
此外,Windows QQ 還在聊天中支持語(yǔ)音、視頻一鍵開啟,以及夜間模式、文件和文字一起發(fā)送等功能,更好地滿足桌面用戶的不同需求。
與此同時(shí),騰訊基于 NT 技術(shù)架構(gòu)為 QQ 帶來(lái) Linux、Mac、Windows 多端統(tǒng)一的體驗(yàn),也為行業(yè)內(nèi)國(guó)產(chǎn)軟件的生態(tài)統(tǒng)一提供一定的參考意義。日常撇開 Windows 和 Mac 端不談,很多人不使用基于 Linux 操作系統(tǒng)的重要原因之一便是很多應(yīng)用不兼容。
當(dāng)下,隨著 QQ 實(shí)現(xiàn)三端統(tǒng)一的體驗(yàn),無(wú)疑對(duì)國(guó)產(chǎn)軟件的意義非凡。
“內(nèi)存殺手”之 Electron?
不過,也有些讓人惆悵的是,由于全新的 NT 架構(gòu)對(duì) Electron 的依賴,不少網(wǎng)友擔(dān)憂,新版 QQ 對(duì)于電腦內(nèi)存的需求很可能將遠(yuǎn)遠(yuǎn)高于老版本。
畢竟即使? Electron 的優(yōu)點(diǎn)千千萬(wàn),也難掩其運(yùn)行耗資源的缺點(diǎn)。
正因此,在幾天前,Meta 公司旗下的即時(shí)通信應(yīng)用程序 WhatsApp 宣布棄用 Windows 上基于 Electron 的桌面應(yīng)用程序,促使用戶轉(zhuǎn)而使用新推出的原生應(yīng)用程序以實(shí)現(xiàn)不間斷訪問。
兩個(gè)月前,微軟旗下的 Teams 宣布圍繞著速度、性能、靈活性和智能,重頭構(gòu)建了 Teams 應(yīng)用,其技術(shù)從 Electron 過渡到 WebView 2 渲染引擎。
面對(duì)桌面版 QQ 采用 Electron,有網(wǎng)友表示:
-
遇到微信、釘釘、QQ, 甚至瀏覽器都直接卡死,就能體會(huì)到 Electron 應(yīng)用多么糟糕的體驗(yàn)了;
-
Electron 對(duì)于程序員而言是個(gè)好事,開發(fā)速度更快了。但對(duì)于用戶來(lái)說(shuō),無(wú)疑是個(gè)災(zāi)難,畢竟不是每個(gè)人電腦都有 32 GB 內(nèi)存
針對(duì)這一問題,也有媒體報(bào)道,目前,QQ 技術(shù)團(tuán)隊(duì)已通過多個(gè)階段目標(biāo)的設(shè)定,從單個(gè)進(jìn)程內(nèi)存優(yōu)化到整體內(nèi)存控制,新版本已取得有效的優(yōu)化成果。
最后,據(jù)悉近期,騰訊也有計(jì)劃基于 NT 架構(gòu)發(fā)布移動(dòng)版 QQ。那么,你會(huì)用新版的 QQ 嗎?對(duì)于采用 Electron 的 QQ,你怎么看?
參考:
https://www.zhihu.com/question/570447541/answer/2791939780
https://www.ithome.com/0/703/474.htm
以上就是QQ 用 Electron 重構(gòu)后,終實(shí)現(xiàn) Linux、macOS、Windows 三端架構(gòu)統(tǒng)一!的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!