HTML5对浏览器架构演进的影响
Mozilla Online
王辉宇
2011-4-9
1
内容简介
1. 浏览器的主要构成部分
2. 三种典型的浏览器架构
3. HTML5对浏览器架构演进的影响
Mozilla Corporation
3/15/2011
2
浏览器的主要构成部分
1. 内容解析
Parser 、Format、Render、JSEngine …
2. 用户界面
书签、历史记录、网页缩略图、地址栏…
3. 扩展功能
数据同步、FireFox 扩展(Addon)、IE工具条、Chrome扩展…
Mozilla Corporation
3/15/2011
3
三种典型的浏览器架构
1. SpyGlass
内核:Mosaic + Spider Monkey
界面:HTML +JS
扩展:特殊HTML Tag + JS 扩展
2. Chrome
内核:WebKit + V8
界面:平台相关的图形库 + 程序语言
扩展:界面的功能扩展 + HTML + JS
3. FireFox
内核:Gecko的部分功能
界面:XUL脚本+JS扩展 (XPCOM)
扩展:XUL脚本+JS扩展 (XPCOM)
火狐界面本身就是一个扩展
Mozilla Corporation
3/15/2011
4
三种典型的浏览器架构
1. SpyGlass
Mozilla Corporation
3/15/2011
5
三种典型的浏览器架构
SpyGlass是较早的嵌入式设备浏览器之一。
采用HTML +扩展的JS构造用户界面。
优点:
1. 可移植性强,在所有平台上保持一致的用户界面
2. 界面代码少,界面相关文件少于10个
3. 界面功能稳定,可以快速开发新界面
缺点:
1. HTML描述的界面比较呆板,导致这种技术几乎被放弃
2. C代码级别对JS引擎扩展,扩展功能需要重新编译浏览器
HTML5会解决这个问题?
Mozilla Corporation
3/15/2011
6
三种典型的浏览器架构
Chrome
Mozilla Corporation
3/15/2011
7
三种典型的浏览器架构
Chrome浏览器架构的特点:
1. 浏览器趋向于变成后台服务程序。
2. 突出网页内容部分,为Web-Application(HTML5)构建舞台。
3. 用户界面部分没有太多技术亮点。
4. 扩展依靠用户界面扩展功能+HTML+JS
HTML5可以让扩展的
设置界面更漂亮些
Mozilla Corporation
3/15/2011
8
三种典型的浏览器架构
FireFox
Mozilla Corporation
3/15/2011
9
三种典型的浏览器架构
1. Gecko不仅仅是为了设计一款浏览器。
2. XUL 是Mozilla使用XML来描述用户界面的一种技术。
优点:
跨平台
平衡了界面描绘能力和开发难度(介于开发语言和HTML之间)
结合HTML5,界面描绘能力更加强大
缺点:
增加了程序运行负担,需要高端设备
3. XPCOM是一种跨平台组件模型,用来扩展脚本语言。
最先进的功能扩展技术,不需要重新编译浏览器
可以帮助HTML5走出浏览器窗口
Mozilla Corporation
3/15/2011
10
HTML5对浏览器架构演进的影响
HTML5有可能使类似SpyGlass的技术被重新拾起:
(1) 用于装备简易的嵌入式设备?
(2) 写一个完全用HTML描述界面的操作系统(WebOS)?
思考:
(1) HTML界面的轻量级特性会越来越弱?
(2) 主要看中快速开发能力?
Mozilla Corporation
3/15/2011
11
HTML5对浏览器架构演进的影响
基于HTML5构建的Web-Application有可能促使浏览器逐渐隐藏到后台:
(1) Android模式?
思考:
(1) HTML5是否有能力开发出所有桌面应用的替代品?
(2) 需要中间语言平衡?
Mozilla Corporation
3/15/2011
12
HTML5对浏览器架构演进的影响
HTML5为Gecko架构锦上添花(一个例子),也许类似Gecko架构的引擎是未来Web开发者的利器:
思考:
(1) 在中国Gecko优势的发挥取决于中国的设备、网络、网络环境的改善?
(2) 更新更酷的技术?
Mozilla Corporation
3/15/2011
13
谢谢,再见!
Mozilla Corporation
3/15/2011
14