隨筆-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  回復  更多評論
            
          主站蜘蛛池模板: 九龙城区| 桑日县| 鄂尔多斯市| 蒙自县| 大渡口区| 东源县| 奎屯市| 南乐县| 张家川| 桐城市| 平远县| 定边县| 和林格尔县| 肇庆市| 衡阳县| 凤凰县| 长岛县| 郓城县| 咸宁市| 淄博市| 建瓯市| 盐山县| 金坛市| 石景山区| 西和县| 阿瓦提县| 馆陶县| 易门县| 呼玛县| 犍为县| 辽宁省| 江安县| 保定市| 卢湾区| 沙坪坝区| 鄯善县| 普兰店市| 安宁市| 民丰县| 鄂尔多斯市| 台州市|