自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談關(guān)于QT中Webkit內(nèi)核瀏覽器

移動開發(fā)
關(guān)于QT中Webkit內(nèi)核瀏覽器是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)QT中webkit中瀏覽器的使用。提起WebKit,大家自然而然地想到瀏覽器,具體內(nèi)容來看本文詳解了解。

關(guān)于QTWebkit內(nèi)核瀏覽器是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)QTwebkit瀏覽器的使用。提起WebKit,大家自然而然地想到瀏覽器。

作為瀏覽器內(nèi)部的主要構(gòu)件,WebKit的主要工作是渲染。給定一個(gè)HTML文件,WebKit的工作是把 HTML 格式的內(nèi)容繪制出來,包括, a. HTML 的布局,譬如左邊是什么,頂部是什么,中間是什么。 b. 根據(jù)用戶設(shè)定,呈現(xiàn)文字,譬如字體是宋體還是楷書,大小尺寸,重體斜體等等。 c. 顯示不同格式的圖片,譬如 JPG , GIF , PNG 等等。所以, WebKit是一個(gè)渲染機(jī)(Rendering Engine )。

瀏覽器與用戶的交互,主要通過 JavaScript 程序控制 。譬如用戶在瀏覽器界面上移動鼠標(biāo),有些圖標(biāo)會放大或縮小,顏色會變化等等。 嚴(yán)格說來,JavaScript Engine不屬于WebKit,但是WebKit自帶了一個(gè)JavaScript Engine,SquirrelFish。

不過在WebKit框架下,可以把SquirrelFish Java Engine替換成其它版本,而不影響WebKit整體工作。譬如,Google的Chrome瀏覽器,內(nèi)部使用的渲染機(jī)是WebKit,但是 Google沒有用SquirrelFish,而是自己另起爐灶開發(fā)了一套JavaScript Engine,取名V8。V8的來歷不清楚,或許是因?yàn)镚oogle的工程師喝多了V8果蔬飲料,所以就取了這么個(gè)名字。就如同Sun Microsystems的工程師喝多了咖啡,于是把他們發(fā)明的新語言定名為Java一樣。

說起渲染機(jī)(Rendering Machine ),微軟的 IE 瀏覽器用的 Rendering Engine ,名曰三叉戟( Trident )。 Firefox 用的 Rendering Engine ,叫 Gecko 。而 Apple 的 Safari ,以及 Google 的 Chrome ,用的 Rendering Engine 都是 WebKit 。

雖然 IE瀏覽器 占據(jù)大部分市場份額,但是似乎談?wù)?Trident 的文章不是很多。而 Firefox使用的Gecko,它 的特點(diǎn)是小,有點(diǎn)像 OS 的微內(nèi)核一樣,擴(kuò)展性很好。最近幾年,談?wù)?WebKit 的文章很多,甚至有人斷言, WebKit是當(dāng)今***的Rendering Engine。WebKit之所以大熱, 估計(jì)與以下幾個(gè)因素有關(guān)。

1. WebKit 的前身是由開源的 Linux 項(xiàng)目組 KDE 設(shè)計(jì)開發(fā)的 KHTML ,后來 Apple 覺得這個(gè)產(chǎn)品不僅開源,而且架構(gòu)設(shè)計(jì)簡潔高效,所以就參與開 發(fā)。再后來,在產(chǎn)品未來開發(fā)計(jì)劃上, Apple 與 KDE 產(chǎn)生分歧,于是各干各的, Apple 把產(chǎn)品名字改為 WebKit 。

2、基于 WebKit , Apple 公司于 2003 年推出 MacOS 平臺的瀏覽器, Safari 。

3、2005 年, WebKit 源代碼向公眾開放。

4、同年, Nokia 推出 S60 平臺的手機(jī)瀏覽器,其內(nèi)部 Rendering Engine ,也是 WebKit 。

5、同年, KDE 宣布放棄 KHTML ,改用 WebKit 。

6、2007 年, Apple 推出手機(jī) iPhone ,引起轟動。 iPhone 自帶的手機(jī)瀏覽器,也使用了 WebKit 。 iPhone 的瀏覽器,縮放自如,引人注目。

7、2008 年, Google 推出瀏覽器 Chrome ,其內(nèi)部 Rendering Engine ,也是 WebKit 。

需要指出的是, Rendering Engine 的用途,并不限于瀏覽器,而是可以充當(dāng)通用的 UI 實(shí)現(xiàn)平臺。譬如,微軟的電子郵件軟件 Outlook ,雖然不是瀏覽器,但是其界面渲染,使用了 微軟的Rendering Engine,Trident 。甚至微軟的 Office 系列軟件,也使用了 Trident 。

為什么要用Rendering Engine來處理渲染,而不是用Java Swing那樣的UI工具?估計(jì)有兩個(gè)原因。

1、方便開發(fā),吸引更多開發(fā)者。

Java Swing固然不難用,但是廣大開發(fā)者更熟悉HTML+CSS+JavaScript。哪個(gè)手機(jī)能吸引更多開發(fā)者,它就能獲得更多更好的應(yīng)用程序。哪個(gè)手機(jī)能擁有更多更好的應(yīng)用程序,它的市場前景就更廣闊。使用C/C++語言的開發(fā)者人數(shù),不如Java的多。Java的用戶,不如HTML+CSS+JavaScript的多。Palm WebOS之所以把GUI的管理基于WebKit基礎(chǔ)之上,估計(jì)主要的目的是吸引廣大Web開發(fā)者,這些人最熟悉的工具就是 HTML+CSS+JavaScript。

目前非常流行的Web開發(fā)工具,Ruby on Rails的***,David H. Hansson,于2007年6月發(fā)表過一篇博客,題為“我就是喜歡HTML+CSS+JavaScript,咋了?”( http://ajax.sys-con.com/node/395424)。文中表達(dá)了這么一個(gè)觀點(diǎn),以 HTML+CSS+JavaScript為代表的Web技術(shù)源于實(shí)踐,它們已經(jīng)發(fā)展和經(jīng)受了10多年的考驗(yàn)?,F(xiàn)在大家要做的,不是去追求無必要的所謂***,而是用好HTML+CSS+JavaScript,把它們的潛力充分挖掘出來。

或許David H. Hansson的觀點(diǎn)有點(diǎn)偏激,但是不可否認(rèn)的是,他的觀點(diǎn)有很多擁護(hù)者。基于WebKit之上的GUI系統(tǒng)設(shè)計(jì),Palm WebOS是不是有意迎合Web開發(fā)者?

2、工作流程的柔性組織。

復(fù)雜一點(diǎn)的應(yīng)用程序,通常由多個(gè)頁面組成,頁面與頁面之間的銜接,稱為工作流程。應(yīng)用程序的更新,不僅涉及每個(gè)頁面的內(nèi)容的更改,而且也涉及工作流程的變更。

WebKit 這樣的Rendering Engine,不僅提供了單個(gè)頁面的渲染,而且也提供了歷史頁面的緩存,支持后退(Back),前進(jìn)(Forward)以及歷史(History)等等功能。同時(shí),WebKit能夠記憶用戶對于每個(gè)頁面做過哪些修改,甚至提供恢復(fù)(Undo)功能。

小結(jié):淺談關(guān)于QTWebkit內(nèi)核瀏覽器的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: CSDN博客
相關(guān)推薦

2011-09-09 18:43:13

Qt Webkit瀏覽器

2011-08-29 14:19:48

QtWebkit瀏覽器

2011-08-08 09:25:55

2013-10-31 14:31:09

2009-11-11 13:00:05

GNOME瀏覽器Webkit內(nèi)核

2011-06-10 16:44:17

Qt 瀏覽器

2010-07-21 15:06:33

2013-02-18 10:39:53

OperaWebkit瀏覽器

2013-03-06 11:10:12

WebKit瀏覽器

2010-01-21 09:02:51

搜狗瀏覽器Webkit

2017-04-26 14:15:35

瀏覽器緩存機(jī)制

2011-08-29 10:22:48

QtWebkit 模塊HTML文檔

2009-06-22 14:06:00

java瀏覽器

2017-05-02 09:25:13

瀏覽器指紋追蹤虛擬化

2010-04-28 10:39:43

Webkit瀏覽器內(nèi)核

2012-02-23 16:09:59

Webkit豌豆莢

2015-07-23 10:17:27

瀏覽器內(nèi)核

2011-09-09 17:39:58

WebKit瀏覽器

2011-08-29 10:01:27

QTWebkit插件

2011-08-29 10:34:36

QTQWebKitJavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號