隨筆-1  評論-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
          基本的模板庫WTF
          基本的正則表達(dá)式解析模塊PCRE
          基本編碼轉(zhuǎn)換模塊,依賴ICU進(jìn)行
          JS解析/編譯引擎
          JS運(yùn)行庫

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

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

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

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

          source analysis:

          1. bindings  ---將javaScript 中對象和DOM對象進(jìn)行綁定,比如window對象和document對象
          2. bridge ----將javascript對象和自定義的對象綁定
          3. css -------實(shí)現(xiàn)了css 2.0 的標(biāo)準(zhǔn)
          4. dom-------DOM樹的相關(guān)對象
          5. editing-------所有于Edit相關(guān)功能,比如html中的編輯框
          6. html -------html 語言的解析
          7. loader ------- 加載網(wǎng)頁資源以及Cache,F(xiàn)rameLoader ImageLoader
          8. platform----- 和平臺有關(guān)的,比如 圖像decoder,圖形的繪制,網(wǎng)絡(luò)操作,字體等
          9. plugin------實(shí)現(xiàn)了基于Netscape的 NPAPI (Netscape Plugin Application Programming Interface ) 的框架
          10. rendering--------- render tree 相關(guān)對象
          11. resource ------PC 瀏覽器safair 用到的資源,對于android來說沒用
          12. svg ---------- svg 語言的解析
          13. wml----------- wml 語言的解析
          14. xml------------xml 語言的解析以及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對消息進(jìn)行渲染和樣式化
          -iChat AV – Apple
          -MSN Messenger – Microsoft (Mac)
          -Yahoo! Messenger

          RSS Readers:使用Webkit來處理和現(xiàn)實(shí)新聞?wù)约癋eed連接到的完整文檔
          -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
          主站蜘蛛池模板: 巴马| 西乌| 崇阳县| 吴川市| 彩票| 海伦市| 灵丘县| 滁州市| 稻城县| 禄丰县| 县级市| 沽源县| 三都| 新巴尔虎右旗| 安岳县| 龙里县| 兴国县| 定襄县| 大连市| 惠州市| 新巴尔虎左旗| 晋州市| 云林县| 大冶市| 容城县| 都匀市| 衡阳市| 林周县| 婺源县| 湛江市| 西贡区| 萍乡市| 衡阳市| 呈贡县| 永平县| 旺苍县| 德钦县| 鹤山市| 上蔡县| 彭泽县| 宜黄县|