抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

Firefox 29 发布:asm.js 性能提升和新的 Web API

2014 年 6 月 03 日

Mozilla 近日发布了Firefox 29 版本。在这一版本中,针对用户界面和 asm.js 的性能提升方面做出了一些改善,并且为开发者提供了更多新的 Web API。

asm.js 是由 Mozilla 开发的一个 JavaScript 子集,它可以使性能密集型的 Web 应用在不使用插件的情况下能够以接近原生应用的速度运行,例如游戏类应用。继 Mozilla 与游戏开发公司 Unity 上个月在 GDC 大会上宣布合作之后,Mozilla Hacks 网站发布了一篇关于Firefox 性能基线测试的文章,测试结果表明Firefox 在性能方面的表现明显优于其竞争对手。

Firefox 29 也为开发者提供了一些新的 Web API,包括网络音频 API(Web Audio API),CSS Flexbox 和最终确定并启用的游戏摇杆 API (Gamepad API)。据 Firefox 桌面工程部门的高级经理 Gavin Sharp 介绍:

将 CSS Flexbox 整合到 Firefox 中,使开发者可以更加容易地构建能够适应浏览器窗口大小的用户界面或根据字体大小自动调整的弹性布局。这一特性能够帮助开发者为其网站或 Web 应用创建跨桌面和移动端的一致的用户界面。通过网络音频 API ,开发者可以构建强大音频引擎,支持位置音频(positional audio)和诸如混响等音频特效,在 Web 上为用户提供融入式的音频体验。这对于游戏开发者来说至关重要。

面向开发者的更新还包括默认启用了 Promise。Promise 接口是一个值代理,在其创建时并不需要知道这个值。通过将某个异步操作的成功或失败与对应的处理函数关联,Promise 让异步方法可以像同步方法一样返回值。这个异步方法返回的是代表将来某时点的值的 Promise,而不是最终的值。

对于普通用户来说,Mozilla 在其更新说明中将 Firefox 29 新的用户界面设计描述为“让您轻松专注于 Web 内容的全新设计”

我们的目标是重新构想和设计 Firefox 来反映人们使用 Web 的现状。最引人注目的是其全新的设计……后台选项卡的淡化让您可以更专注于当前的选项卡,并仍能有效地管理大量的标签。为了搭配全新的设计,我们还在 Firefox 中增加了新的菜单和定制模式,让用户可以方便地定制浏览器,满足自己个性化的需要。Firefox 一直以来都是可定制化程度最高的浏览器,在最新版本中我们将进一步发扬这一特性。对这个新的定制模式我们相当引以为豪,特别是它对令人啧啧称赞的附加组件生态系统的完善。

不过 Firefox 社区对这一全新设计的反应并不那么热烈。社交新闻网站 Reddit 的 Firefox 讨论区中有人发起了一项民意测验“你是否喜欢Firefox 29 的‘Australis’用户界面?”。测验结果显示50% 的受访者不喜欢新的用户界面,而只有32% 的受访者选择“喜欢”。用户UglierThanMoe 如此评论:“新的设计实在是让我觉得不舒服,可让我更失望的是Mozilla 完全不需要将定制化做的如此复杂。”

不过,也有人对新版本Firefox 的设计进行辩护。用户beardeddragonborn 在一篇名为“就我个人来说,还是喜欢29”的帖子中提到“我的确认为新版本Firefox 打破了其原有的定制化模式。不过我仍对Firefox 29 感到激动,它填补了Firefox 长久以来在我内心里遗留下的一项空白。”

Hacker News 上有些人对新版本的反应也很冷淡。用户 dilap评论:“我热爱Firefox——为其所做的,所代表的,所守护的……但是它在Mac 上的表现从未让我感到满意,新版本仍然如此。”

Neue Mediengesellschaft Ulm mbH 公司的开发者媒体部门负责人 Florian Bender 在回复 Next Web 上的一篇文章的评论时提到:

有些人觉得 Mozilla 没有做好它应该做的事,对于这些人,我鼓励他们仔细了解并参与到 Mozilla 的社区中。Firefox 与 Mozilla 所有的项目一样,从概念到实施都是完全开源的,任何人都可以通过反馈意见甚至是编写代码来参与,帮助和推进项目。

Mozilla 表示他们欢迎所有想要参与到项目中的新人,而对于 InfoQ 的读者来说,可以通过多种方式为 Firefox 做出贡献。在 Mozilla 开发者网络上有一个完整的列表,可以从列表中选择不同的贡献方式,在开发者网络上 Mozilla 还发布了一系列 How To 指引,帮助贡献者了解如何为 Mozilla 开发者网络做出贡献。

Firefox 29 中另外一项重要的更新就是引入 Firefox Sync。通过 Firefox Sync,用户可以在计算机和 Android 移动设备之间同步 Firefox 的数据,使桌面和移动端之间能够建立更加紧密的联系,这也是 Mozilla 一直以来的目标。

新版本的其他更新还包括多个安全方面的补丁,包括“严重”级的问题 MFSA 2014-44 “在图片调整大小时被使用后释放的 imgLoader 对象”, MFSA 2014-42 “通过 Web 通知 API 提升权限”, MFSA 2014-39 “HTML 视频文本跟踪管理器的使用后释放”和 MFSA 2014-34 “几个内存安全隐患问题”。

今年十一月份将是 Firefox 1.0 发布的第十个年头。

参考英文原文: Firefox 29 Brings Improvements in asm.js Performance, New Web API


感谢马国耀对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014 年 6 月 03 日 07:401881
用户头像

发布了 75 篇内容, 共 59.0 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

第十周命题作业

菲尼克斯

架构师训练营 W10 学习心得

telliex

LeetCode题解:88. 合并两个有序数组,双指针+从前往后+使用新数组Copy,JavaScript,详细注释

Lee Chen

前端进阶训练营

B 站收藏 10W+,GitHub 标星 6K+,肝了这门计算机速成课!

JackTian

GitHub 编程 程序员 B站 计算机基础

第十周学习总结

菲尼克斯

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第6章表格与表单

Geek_8dbdc1

架构师训练营 week10 - 学习总结

devfan

第十周作业

刘卓

计算机网络怎么学?学会这几个工具有助你理解网络协议!

我是程序员小贱

翻译: Effective Go (4)

申屠鹏会

golang 翻译

mini-vue之proxy代理

晓枫

vue.js

悄咪咪提高团队幸福感 & Surprise!

Kerwin

Java 开源项目

DDD

GalaxyCreater

架构

week10 小结

Geek_196d0f

架构师训练营 W10 作业

telliex

一网打尽 Java 并发模型

cxuan

Java 后端 并发

centos中Anaconda的安装以及keras安装

我是程序员小贱

计算机网络基础(十八)---传输层-TCP的流量控制

书旅

TCP 计算机网络 协议栈 网络层 流量控制

linux终端的快捷命令汇总

良知犹存

Linux

易观方舟70秒可视化埋点SDK全部开源!

易观大数据

埋点

192.168.52.165/25是啥意思?

书旅

IP 网络 CIDR

FastDFS不同步怎么破

心平气和

Binlog 同步 fastdfs

全民加速节:全站加速在游戏行业的最佳实践

阿里云Edge Plus

CDN 动态加速

OpenTSDB 数据存储详解

vivo互联网技术

数据库 时序数据库

哈希算法的设计要点、应用场景

多选参数

哈希 hash 哈希算法

架构师训练营 第十周 总结

CR

week10作业1

SpringBoot 实战:一招实现结果的优雅响应

看山

springboot 实战

第十周学习总结

刘卓

[高冷面试]好不容易走到HR,结果被HR盘了,14题带走

我是程序员小贱

第10周作业

小胖子

Study Go: From Zero to Hero

Study Go: From Zero to Hero

Firefox 29发布:asm.js性能提升和新的Web API-InfoQ