隨筆-1  評(píng)論-68  文章-98  trackbacks-0
          整理:徐建祥(netpirate@gmail.com)
          日期:2009/09/09
          網(wǎng)址:http://www.anymobile.org

          市面上主流的瀏覽器:
          a. IE,內(nèi)核Trident;
          b. FireFox,內(nèi)核:Gecko;
          c. Safari, Google Chrome,內(nèi)核:Webkit;
          d. Opera,內(nèi)核 Presto。


          Webkit Architecture


          Android Browser 主要分成三個(gè)部分:

          1. Webkit Engine (C++):JavascriptCore,WebCore,Webkit;
          2. Framework WebView (Java);
          3. Browser app (java).

          1. JavaScriptCore;
          Javascript 引擎
          KJS進(jìn)化到Squirrel Fish
          基本的模板庫(kù)WTF
          基本的正則表達(dá)式解析模塊PCRE
          基本編碼轉(zhuǎn)換模塊,依賴ICU進(jìn)行
          JS解析/編譯引擎
          JS運(yùn)行庫(kù)

          2. WebCore----render engine;
          解析頁(yè)面,生成DOM tree 和 render tree,最終render整個(gè)頁(yè)面到background。

          網(wǎng)絡(luò)接口封裝
          HTML解析引擎
          XML解析引擎
          CSS解析引擎
          JS 客戶端對(duì)象封裝
          網(wǎng)頁(yè)渲染引擎
          BackEnd封裝與實(shí)現(xiàn)
          SVG
          HTML Editing
          Plugins
          網(wǎng)頁(yè)內(nèi)容處理,Image/Icon
          。。。

          3. Webkit-------和平臺(tái)相關(guān)的background實(shí)現(xiàn);
          里面包括了android 平臺(tái)的實(shí)現(xiàn),具體是通過(guò)JNI和framework 里面的webview。

          WebCore的高層封裝
          提供與BackEnd一直的平臺(tái)支撐
          提供給WebCore用戶操控相關(guān)的支撐接口

          source analysis:

          1. bindings  ---將javaScript 中對(duì)象和DOM對(duì)象進(jìn)行綁定,比如window對(duì)象和document對(duì)象
          2. bridge ----將javascript對(duì)象和自定義的對(duì)象綁定
          3. css -------實(shí)現(xiàn)了css 2.0 的標(biāo)準(zhǔn)
          4. dom-------DOM樹的相關(guān)對(duì)象
          5. editing-------所有于Edit相關(guān)功能,比如html中的編輯框
          6. html -------html 語(yǔ)言的解析
          7. loader ------- 加載網(wǎng)頁(yè)資源以及Cache,F(xiàn)rameLoader ImageLoader
          8. platform----- 和平臺(tái)有關(guān)的,比如 圖像decoder,圖形的繪制,網(wǎng)絡(luò)操作,字體等
          9. plugin------實(shí)現(xiàn)了基于Netscape的 NPAPI (Netscape Plugin Application Programming Interface ) 的框架
          10. rendering--------- render tree 相關(guān)對(duì)象
          11. resource ------PC 瀏覽器safair 用到的資源,對(duì)于android來(lái)說(shuō)沒(méi)用
          12. svg ---------- svg 語(yǔ)言的解析
          13. wml----------- wml 語(yǔ)言的解析
          14. xml------------xml 語(yǔ)言的解析以及XSLT 轉(zhuǎn)換,需要libxslt

          軟件應(yīng)用

          Browsers
          -Safari
          -Google Chrome/Chromium
          -OmniWeb
          -Osb-browser – Nokia
          -Web Browser for S60 – Nokia
          -QT Browser Engine

          E-mail Clients:使用Webkit 作Web 內(nèi)容處理
          -Entourage 2008 – Microsoft (for Mac)
          -Mail-Apple
          -Mailplane  特定的Gmail終端

          Instant Messenger/Chat Clients:使用Webkit對(duì)消息進(jìn)行渲染和樣式化
          -iChat AV – Apple
          -MSN Messenger – Microsoft (Mac)
          -Yahoo! Messenger

          RSS Readers:使用Webkit來(lái)處理和現(xiàn)實(shí)新聞?wù)约癋eed連接到的完整文檔
          -MiNews
          -NetNewsWire
          -NewsFire
          -PixelNews

           

          posted on 2010-08-12 02:57 Xu Jianxiang 閱讀(1717) 評(píng)論(1)  編輯  收藏 所屬分類: Android

          評(píng)論:
          # re: Introduction to Android Webkit[未登錄](méi) 2015-11-18 15:36 | 1
          主站蜘蛛池模板: 西丰县| 龙海市| 满洲里市| 唐山市| 新民市| 宁安市| 花莲市| 固镇县| 辉县市| 沙雅县| 扶余县| 瑞安市| 东安县| 金塔县| 高清| 和平区| 南安市| 绥芬河市| 昭平县| 钦州市| 永川市| 岳池县| 石棉县| 诏安县| 敦化市| 抚远县| 栾城县| 宁南县| 东阿县| 深泽县| 绿春县| 寻乌县| 河曲县| 尉氏县| 阜康市| 界首市| 改则县| 龙海市| 扬中市| 宿州市| 东宁县|