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

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


          Webkit Architecture


          Android Browser 主要分成三個部分:

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

          1. JavaScriptCore;
          Javascript 引擎
          KJS進化到Squirrel Fish
          基本的模板庫WTF
          基本的正則表達式解析模塊PCRE
          基本編碼轉換模塊,依賴ICU進行
          JS解析/編譯引擎
          JS運行庫

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

          網絡接口封裝
          HTML解析引擎
          XML解析引擎
          CSS解析引擎
          JS 客戶端對象封裝
          網頁渲染引擎
          BackEnd封裝與實現
          SVG
          HTML Editing
          Plugins
          網頁內容處理,Image/Icon
          。。。

          3. Webkit-------和平臺相關的background實現;
          里面包括了android 平臺的實現,具體是通過JNI和framework 里面的webview。

          WebCore的高層封裝
          提供與BackEnd一直的平臺支撐
          提供給WebCore用戶操控相關的支撐接口

          source analysis:

          1. bindings  ---將javaScript 中對象和DOM對象進行綁定,比如window對象和document對象
          2. bridge ----將javascript對象和自定義的對象綁定
          3. css -------實現了css 2.0 的標準
          4. dom-------DOM樹的相關對象
          5. editing-------所有于Edit相關功能,比如html中的編輯框
          6. html -------html 語言的解析
          7. loader ------- 加載網頁資源以及Cache,FrameLoader ImageLoader
          8. platform----- 和平臺有關的,比如 圖像decoder,圖形的繪制,網絡操作,字體等
          9. plugin------實現了基于Netscape的 NPAPI (Netscape Plugin Application Programming Interface ) 的框架
          10. rendering--------- render tree 相關對象
          11. resource ------PC 瀏覽器safair 用到的資源,對于android來說沒用
          12. svg ---------- svg 語言的解析
          13. wml----------- wml 語言的解析
          14. xml------------xml 語言的解析以及XSLT 轉換,需要libxslt

          軟件應用

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

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

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

          RSS Readers:使用Webkit來處理和現實新聞摘要,以及Feed連接到的完整文檔
          -MiNews
          -NetNewsWire
          -NewsFire
          -PixelNews

           

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

          評論:
          # re: Introduction to Android Webkit[未登錄] 2015-11-18 15:36 | 1
          1  回復  更多評論
            
          主站蜘蛛池模板: 黄平县| 旬阳县| 茌平县| 孝昌县| 海城市| 重庆市| 苏州市| 永春县| 阳朔县| 岗巴县| 周至县| 出国| 陕西省| 深水埗区| 来凤县| 瑞安市| 南通市| 西城区| 留坝县| 邹城市| 文化| 师宗县| 安宁市| 浙江省| 托克逊县| 神木县| 巨野县| 宝鸡市| 化德县| 威远县| 南开区| 吉林省| 桂阳县| 青铜峡市| 庐江县| 鹿邑县| 濮阳县| 烟台市| 洮南市| 宣化县| 台南县|