Qt webEngine的前世今生

2021-07-11 09:57:33 字數 1648 閱讀 7562

自從qt2023年第一次引入webkit以來,web技術已經發生了很大的變化。從只佔很小的市場份額開始到現在,webit已經成為最廣泛使用的web引擎。qt webkit是除了蘋果之外做的比較好的,很多專案和公司也逐漸加入到這個專案開發中來。

chromium專案在其中發揮了很重要的作用,逐漸成了webkit最大的貢獻者(僅次於蘋果和qt,排第三)。然而,不同的公司在開源專案上的合作困難重重,所以在今年春天,google決定離開webkit,轉而開發自己的webkit分支,名字叫blink。

自從blink被真正整合到chromium中,webkit的發展就有了兩個不同的分支,並且這兩個版本的**迅速分開了。基於這個原因,qt的webkit團隊需要對chromium和webkit這個兩個分支進行詳細的調查,決定在未來使用哪乙個分支,以便給qt的使用者提供更好的web引擎。

經過一段時間對兩個分支的調查研究,我們最終決定使用chromium的webkit。原因如下:

1 chromium是跨平台的,它的瀏覽器已經在許多主要的桌面平台和安卓系統上執行。而這一點webkit是不行的,我們必須花費很大的精力開發去支援所有的作業系統

2 chromium有好多現成可用的功能,而這些可能我們要在webkit上花很大的精力開發。比如跨平台,比如多**和html5的支援

3 由於chromium跨平台,我們就可以把更多的精力放在提供更容易使用的api,和qt無縫整合。

4 chromium有嚴格的質量控制,可以節省很多的測試精力,使我們能夠提供乙個更穩定質量更好的web引擎

5 相比較webkit,chromium可以和widget,qt quick更好的無縫整合

chromium是目前最具活力和發展最快的移動瀏覽器,從戰略發展的角度,我們決定使用chromium做web引擎。根據上面的事實,跟現在的qt webkit比起來,我們一定會提供乙個更好的web引擎。同時,qt整合了一流的瀏覽器引擎,一定會建立強大的產品,特別是在嵌入式裝置上提供良好的ui效能體驗。

基於穩定性和安全性的考慮,chromium中對web頁面的渲染是在不同的程序中。所以,我們暫時無法提供某些api,比如qwebelement api。由於qobject和web頁面的通訊是非同步的,所以也必須修改qobject。這些我們正在修改。

那麼,這些改變對webkit的使用者意味著什麼呢?

首先不用擔心,大多數情況下,應用程式中的qt webkit執行良好,並且在未來的一段時間都會如此。qt5.2版本發布後,我們的精力會主要放在新的qt webengine上。所以呢,如果想使用html5的新特性,建議把應用程式或裝置遷移到我們稍後發布的新的qt webengine上。

我們會盡最大的努力實現qt webkit到qt webengine的無縫移植。對於web view,我們會提供接近100%的相容性。對於基礎的web view api,在新的qt webengine中**是完全相容的。如果使用了qobject bridge或是qwebelement,建議稍等一段時間再移植。在qt webengine的第乙個版本中,可能不會提供這樣的api。

qt webkit不再開發了,現有的版本可以繼續使用。對於商業版本的使用者,digia一定會提供維護幫助。

現在正在進行的工作是能夠盡快提供乙個新的qt webengine的技術預覽。目標是和qt5.2一起發布。完全支援的版本要到明年春天和qt5.3一起發布。第乙個發布版本支援windows,mac os x,linux和嵌入式linux.

漆天程式設計 MetaTrader軟體的前世今生

mt4 metatrader4 是市場 接收軟體,由邁達克軟體公司在2005 年 7 月1 日正式發布,提供免費試用,有中文介面。它包括先前系統所有的特點,並且對這些功能和組成部分進行了進一步的介紹和重組。它適用於外匯,cfd 以及 市場。metatrader4 伺服器明顯在使用率,工作表現,和可信...

PCHAIN曹鋒博士 區塊鏈TPS的前世今生

1 區塊鏈的tps緣起 tps transaction persecond 並不是乙個新的名詞,在傳統資料庫中它代表了每秒鐘可處理的事務 交易 數目。其計算方法,簡單來說就是用單位時間內處理事務數量除以時間長度。tps在傳統資料庫中已經有各種加速方法,並且根據事務的型別進行了細分,分為增加 刪除 修...

歐氏距離和余弦相似度的前世今緣

前幾天在一場報告中和同事聊到了高維向量的距離度量,大家討論的點是 歐氏距離在高維下效果會非常差,那有沒有其他更有效的方法?當時第一時間想到了余弦相似度,印象中在文字相似度 文字匹配 度量中就是用的余弦相似度。而且在深度學習中,也經常通過計算兩個向量的內積來表示相似程度。然後同事說,余弦相似度只是歐氏...