隨筆-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 主要分成三個部分:

          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運行庫

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

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

          3. Webkit-------和平臺相關(guān)的background實現(xiàn);
          里面包括了android 平臺的實現(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 -------實現(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------實現(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)實新聞?wù)约癋eed連接到的完整文檔
          -MiNews
          -NetNewsWire
          -NewsFire
          -PixelNews

          posted on 2010-12-14 22:43 Xu Jianxiang 閱讀(354) 評論(0)  編輯  收藏 所屬分類: Android
          主站蜘蛛池模板: 秭归县| 昭觉县| 会宁县| 通州区| 枣庄市| 江永县| 新沂市| 梓潼县| 淳化县| 吴旗县| 旬邑县| 大埔区| 中卫市| 梓潼县| 虞城县| 辽中县| 山东| 南木林县| 昆明市| 寿光市| 吐鲁番市| 阳西县| 江都市| 丁青县| 林州市| 聂拉木县| 越西县| 遵化市| 安义县| 沾益县| 洪洞县| 山东省| 子洲县| 阿克陶县| 汪清县| 丰县| 盖州市| 大名县| 金塔县| 象州县| 通城县|