資源描述:
《webkit介紹及總結(jié)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、·WebKit介紹及總結(jié)一.WebKit簡介Webkit是一個開放源代碼的瀏覽器引擎(webbrowserengine),最初的代碼來自KDE的KHTML和KJS(均開放源代碼)。蘋果公司在Webkit的基礎(chǔ)上做了大量優(yōu)化改進工作,此時的AppleWebkit已經(jīng)和Webkit有了不少差別,最后開發(fā)出了著名的Safari,可以說Safari是一個相當成功的產(chǎn)品,但是Safari卻不是開放源代碼的?;赪ebKit的瀏覽器產(chǎn)品有:蘋果的Safari和iPhone,Google的Chrome和And
2、roid,Nokia的S60,傲游3(Maxthon3);WebKit目前支持HTML4/5,CSS1/2,DOM1/2,HTTP/FILE,GIF/JPEG/PNG,XML,SVG,RSS2.0等;同類的瀏覽器引擎有:Trident(IE內(nèi)核),Gechko(Netscape,Mozilla和Firefox內(nèi)核),Presto(Opera內(nèi)核,不免費),Tasman(IEforMAC內(nèi)核),等等,而WebKit因為其功能強大、速度快而且免費備受歡迎。二.用到的庫:除了平臺相關(guān)的庫,WebKit
3、···需要用到的一些主要的后臺庫有:ICU:InternationalComponentsforUnicode,一個成熟,廣泛使用的一套為C/C++和Java庫提供Unicode的全球化支持軟件;XSLT:eXtensibleStylesheetLanguageTransformation,W3C定義的用于XML文檔轉(zhuǎn)換的規(guī)范;Curl:一個利用URL語法的命令行數(shù)據(jù)傳輸工具,基于libcurl。Sqlite:SQLite是實現(xiàn)了SQL92標準的SQL數(shù)據(jù)庫引擎,它能在一個庫里組合數(shù)據(jù)庫引擎和接
4、口,將所有數(shù)據(jù)存儲于單個文件;Gperf:一個很完美的哈希函數(shù)生成器;Flex:FastLex,快速詞法分析生成器;Bison···:語法分析生成器,可以將一段帶注釋的上下文無關(guān)語法轉(zhuǎn)化成LALR或GLR語法;Enchant:一個拼寫檢查庫,提供單詞的拼寫檢查、糾錯等功能;三.代碼目錄結(jié)構(gòu)WebKitTools一些測試WebKit實現(xiàn)功能的程序;WebKitLibrariesWebKit用到的庫以及系統(tǒng)調(diào)用接口定義;WebKitExamplePlugins一些來自Netscape的插件,比如輸入
5、法、動畫和Cocoa環(huán)境等;WebKitSite:保存了www.webkit.org網(wǎng)站的WebKit此目錄位于WebKit···的最上層,定義了與應(yīng)用相關(guān)的一些接口,因此它是平臺相關(guān)的,每個子目錄都是對應(yīng)平臺的完整實現(xiàn):cf:CoreFoundation,MACOSX上的系統(tǒng)級C語言API接口;win:Windows;mac:MACOSX;qt:QToolkit,其公司已被Nokia收購;gtk:GimpToolkit;scripts:一些腳本,目前只有一個關(guān)于WebKit版本的腳本程序;ch
6、romium:GoogleChrome開發(fā)平臺;wx:wxWindows,一種可移植的C++和PythonGUI工具箱,byJulianSmart;haiku:一種開源OS,從BeOS而來,2001開始,2009···發(fā)布首版;efl:EnlightenmentFoundationLibraries,Enlightenment平臺;WebCoreWebKit的核心部分,定義了瀏覽相關(guān)的數(shù)據(jù)IO、頁面加載、腳本分析、UI組織、事件處理、網(wǎng)絡(luò)分析、平臺相關(guān)的具體實現(xiàn)等內(nèi)容。xml:提供xml相關(guān)的內(nèi)
7、容;html:提供html相關(guān)的內(nèi)容;其下的Canvas目錄定義了3D畫布以及WebGL庫相關(guān)的內(nèi)容;wml:WirelessMarkupLanguage;css:提供css相關(guān)的內(nèi)容;dom:提供dom相關(guān)的內(nèi)容;editing:編輯相關(guān)的功能;page:瀏覽相關(guān)內(nèi)容,并非是我們看到的一個頁面,在一次瀏覽會話中,它只有一個實例;rendering:頁面渲染相關(guān)的內(nèi)容,在對頁面腳本進行DOM樹分析之后,需要對這些元素進行渲染和顯示;notification:內(nèi)部模塊間的事件通信;history:
8、頁面瀏覽歷史記錄相關(guān)的內(nèi)容;svg:矢量圖形功能,有選項,--svg;···mathml:W3C為網(wǎng)頁中的數(shù)學(xué)表達式制定的規(guī)范;有編譯選項,--mathml;loader:加載資源及Cache;workers:“WebWorkers為WEB前端網(wǎng)頁上的腳本提供了一種能在后臺進程中運行的方法。一旦它被創(chuàng)建,WebWorkers就可以通過postMessage()向任務(wù)池發(fā)送任務(wù)請求,執(zhí)行完之后再通過postMessage()返回消息給創(chuàng)建者指定的事件處理程序(通過onmessage進行捕獲)。We