注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

我喜欢FireFox(转载)Firefox 4 Beta 9 开发者特性  

2011-01-17 20:51:46|  分类: Firefox |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://mozilla.com.cn/kb/dev/A.52/history/

Firefox 4 Beta 9已经发布了,距离Firefox 4的最终发布又近了一步,估计还会又一个Beta和几个RC,按照前几天外媒的

道加上邮件列表中的讨论,预期是2月份发布Firefox 4。随着Beta 9的发布,Mozilla的产品Director也在HMO上发了一篇

客罗列Beta9中的牛x特性,标题就很吸引人,这里也总结一下…

性能

Firefox 4中一个很重要的主题就是性能。从启动时间到JavaScript引擎的性能,从底层,Mozilla做了很大的改变;从交

上,也有很多前端的变化,提升交互反应时间,改进性能体验等。JaegerMonkey:其实之前JaegerMonkey正式进

Firefox 4的时候也有文章描述过,JM被称作是世界上第一个第三代JS引擎——这个代不知道具体是怎么划分的,在之前3.6

中Trace技术的基础上,加入了Baseline JIT的技术形成JM引擎,我们也有一个专门的网站来比较Sunspider和V8等

benchmark上的表现。Mozilla自己也开始打造新一代的Benchmark系统。硬件加速:硬件加速基本上已经是现代浏览器的

标配了。在Firefox 4中,在Windows 7和Vista平台上通过D2D、DX9和DX10的组合拳提供全面的硬件加速能力,这会为从

Canvas画图到视频渲染等所有环节带来性能上的提升。Windows XP用户也会在很多操作上享用到硬件加速,因为我们已

经在使用支持DX9的新Layers基础结构。Mac OSX的用户则是通过优秀的OpenGL支持做到硬件加速。Compartments

这是个新词汇。其实前一阵子HMO上也有个一篇文章具体写过细节。简单说,Firefox 4开始改变JS对象的管理方式,从全

局Heap分成独立Heap,这种新机制就叫做Compartments,这样做的好处就是大大提升GC的效率,减少GC对于整个程序

的影响和威胁,这个特性是从Beta 7的时候开始研发并提交分支,但是应该是在Beta 9的时候加入构建的,如果想了解这

个,可以看看这篇文章DOM性能和样式解析:现在JS获得了足够多的眼球,不过浏览器的性能中,JS是一部分,还有

一个很重要的部分就是DOM和样式解析的性能,这两个事情也是跟页面读取和渲染速度直接相关的,例如注明的

Reflow/Render过程,他们对于页面性能的影响甚至超过JS,在Firefox 4中,我们做了大量的性能改进,基本上得到两倍的

提升。JavaScript支持类型数组:如果您需要在JS里面处理大量数据,并且需要处理更低层次抽象的数据,那么现在在

Firefox中,您可以使用支持本地类型的数组对象,如果进行WebGL或者图形操作的时候,会大大提升计算的速度。如果您

是通过XHR请求数据然后处理的话,使用mozResponseArrayBuffer也可以利用类型数组来获得性能提升。JS动画调度

API:Firefox 4中添加了用来在JS中调度动画的事件,这样您可以充分利用系统的渲染系统,Gecko内部有一个画图时钟,

最大的渲染速度是60fps,对于没有在前台的标签页,这个时钟还可以被调节到1fps,您可以充分利用这个时钟来调度绘

图,从而节省CPU和电池。Retained Layers:这个词汇之前也出现过,不过一直没有翻译过,大致的意思就是说,现在

火狐的渲染引擎部分重新进行了设计,为了提升画图的性能,Gecko内部有一个系统叫做Layers,做的事情笼统的说基本

就是把绘图过程分成了若干层次,例如图片、固定的背景、inline的视频等,都是作为一个内部层次存在,然后在最后一

部,这些层次进行例如硬件加速进行组合生成最后的渲染结果,这会大大提升页面读取速度和交互体验。异步插件绘画

在Windows和Linux上,第三方插件的绘画是异步的。在以前,当页面重绘的时候,浏览器会同步的跟插件请求数据,那如

果插件很慢或者死掉了的话,基本上,浏览器就会变得很慢。这一步被改为异步后,更进一步分离了浏览器和插件,加强

浏览器的反应。大幅提升的缓存:Firefox 4大大改进了硬盘缓存机制。硬盘缓存启动的更快,运行期也会更快。我们希望网站作者能够

看到Firefox 4中有更高的缓存命中率,我们会根据用户硬盘的可用空间动态的变化缓存区。WebGL

Firefox 4默认开启WebGL。基于原来Vladimir Vuki?evi?的3D Canvas的工作,WebGL已经开始被浏览器厂商们实现。同

时,WebGL也在逐渐形成为国际规范。看看Demo

JavaScript

全新的JaegerMonkey引擎很快,同时他也给我们提供了很多便利的技巧可以利用,我们也希望为开发者提供更好的工具来

帮助演进JS语言。例如:

ECMAScript 5:Firefox4b9中包括了很多新语言特性,包括其中的strict模式。Web Console:Firefox4中会包括Web 

Console,他可以让你在网页运行时监测网页,查看网络活动、使用console.log来记录log信息,查看CSS的警告信息等

等。Firebug:会紧跟Firefox4的开发进度HTML5

Firefox从3.5开始就尝试支持HTML5标准,到了Firefox4,大量全新的HTML5相关特性被加入到Firefox中。

表单:包括新input类型的支持,datalist支持,autofocus和placeholder等属性的支持,解藕表单、表单选项、表单验证机

制、限止验证和新的CSS选取器等等。这里有一篇HMO以前的文章基本涵盖了Firefox 4中对于HTML5表单的支

持;Parser:新的基于HTML5的parser,加入了很多新特性,最出名的要数内嵌SVG了; WebM的支持:这个不用多说什

么了,关注最新科技新闻的应该比较熟悉;视频缓冲API:现在支持HTML5视频的缓冲属性。这意味着开发者更容易精确知

道目前视频缓冲大小,而不用去根据下载速度猜测了;视频“预读取”支持:使用“preload”属性代替了原来的“autobuffer”

性;“历史记录”的pushState和replaceState:Firefox 4支持HTML5定义的pushState和replaceState的历史修改调用。允许开

发者去修改浏览器导航历史列表,这对那些希望直接添加#导航记录的开发者很有帮助——例如HTML的幻灯片结构等;音

频取样和生成API:Firefox音频数据API;DOM

新的DOM特性以及性能提升,例如:

文件上传控件的.click()支持:现在可以直接调用一个隐藏文件空间的.click()方法,这样可以完全构建自己的上传控件,结合

上文件API和进度事件,就可以制作出非常棒的上传体验。文件API中对于.slice的支持:支持Blob API以及其中的.slice

API。这允许开发者只处理文件的一小部分,而不需要将整个文件对象读取到内存中;或者为了提升上传大文件的稳定性,

设计出断点续传的能力;文件API的url属性:支持文件API的.url属性。多点触碰事件支持:很早Firefox就在DOM中开始支持

触碰和多点触碰的事件了。监测点击还是触碰:现在可以通过mozInputSource来判别出用户是在使用鼠标还是手

指;IndexedDB:Firefox 4中会包含还是非常早期的一版IndexedDB,他作为本地存储的标准,目前还处在变化中,还没有

彻底确定下来;FormData:添加FormData对象的支持,可以更加简单的同HTML表单进行交互;SVG动画和SMIL;SVG

作为图片和CSS背景:现在可以使用svg作为<img>标签的源,也可以使用svg定义CSS中的背景;通过Canvas获取文件对

象:很多人希望能够像访问文件对象一样的访问Canvas,可以使用mozGetAsFile来访问Canvas获取图片文件对象;可以改

变大小的文本框:默认是可以改变大小的,不过可以通过resize属性来禁用CSS

同样,Firefox 4中还包括了一堆牛x的CSS支持:

CSS变换:支持CSS变换,不过规范还没确定,所以需要使用-moz前缀;calc():对于calc()的支持还处于早期阶段,使用

-moz-calc;-moz-any():非常有用的一个CSS扩展-moz-any()选取器分组;-moz-element():对于background-image的扩

展,允许使用任何其他元素作为当前元素的背景;-moz-placeholder():用来配合HTML5表单中的placeholder,可以改变作

为placeholder的文字的很多属性;border-radius:不再需要写-moz-border-radius了;box-shadow:同上,不需要在写

-moz-box-shadow了;-moz-font-feature-settings:支持完全定义TrueType字体的特性;一致的CSS单位:现在为了保持同

IE、Safari和Chrome一致,1英寸==96px;支持CSS物理单位:如果您希望使用物理大小,可以使用mozmm单位;device-

pixel-ratio:支持-moz-device-pixel-ratio媒介查询;resize属性:可以禁用text area的改变大小功能;-moz-tab-size;-moz-

focusring:伪选取器,自定义元素被选中时候的样式;-moz-image-rect:使用图片内的矩形部分作为background或者

background-image的图形部分;安全

新的安全特性和支持,包括:

内容安全策略(Content Security Policy):CSP包含一系列工具可以帮助组织不同类型的攻击,例如防止XSS攻击、点击

劫持等;此外,有一个很重要的特性是,一旦安全规则被打破,Firefox会把破坏的信息发送回网站作者,可以帮助改进网

站;X-Frame-Options:Firefox 4支持X-Frame-Options信息头,用来防御点击劫持;HSTS(ForceTLS):Firefox 4支持

HTTP Strict Transport Security (HSTS) 信息头;CORS改进;:visited 改进:之前:visited会暴露出一个长达10年的漏洞,允

许任何网站获取个人的浏览历史,Firefox 4中已经进行了改正,同样WebKit为基础的浏览器也都进行了改正,之后IE9也会

进行改正;

===

内容好多,Firefox 4 Beta 9真是一堆牛x的特性啊!


  评论这张
 
阅读(176)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017