Safari已默认支持WebAssembly!JavaScript执行速度比Chrome快80%

Posted WebAssembly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Safari已默认支持WebAssembly!JavaScript执行速度比Chrome快80%相关的知识,希望对你有一定的参考价值。

( 图片来自 @Latham Arnott )

奇舞周刊的编者按:本文由橙橙橙在众成翻译平台上翻译。 传说中Safari 11.0 比谷歌的Chrome浏览器快了80%,小编特别期待。但是对于Web开发者来说,我们还是最关心它的新特性,比如说它默认支持了WebRTC标准和WebAssembly格式,下面是Safari官方的文档说明,我们一起看看这个史上最快的浏览器到底牛在哪里?


Safari 11.0 新特性

兼容性

Safari 11.0 可运行于 ios 11.0 和 macOS 10.1版本的系统环境,同时在macOS 10.12.6 和 10.11.6版本中也可以使用。

Safari 11.0的亮点

  • 基于WebRTC标准实现了P2P Web视频会议。

  • 新增了一些用来测试代码和网络性能的策略。

  • 支持 WebAssembly。使用最新的 WebAssembly 格式编写代码,将令你的Web应用体积更小,加载更快。

  • 支持新的 WKWebView 接口。 在应用中可以捕获快照,处理自定义URL方案,更有效地管理cookie,以及进行Web内容过滤了。

App开发者

WebKit

  • 处理自定义 URL Scheme

    • 新增 WKURLSchemeHandler协议, 该协议用于处理自定义的 URL Scheme。

  • 更有效的cookie管理

    • 新增 WKHTTPCookieStore对象, 该对象用来管理与特定的 WKWebsiteDataStore 相关的HTTP cookie。

  • 支持快照

    • WKWebView 新增 takeSnapshot(with:completionHandler:) 方法, 该方法用于捕捉网页可见部分的快照.

  • 基于规则的内容处理

    • 新增 WKContentRuleList 对象, 该对象提供了一组适用于Web内容的规则的列表。

SafariServices

  • 更新了 SFSafariViewController

    • 新增了修改用于取消view controller的按钮的题目的功能;新增了从共享表中排除活动项的功能;新增了禁止将栏折叠的功能。

Web 开发者

多媒体

  • 持使用WebRTC进行实时通信

  • 摄像头和麦克风权限

    • 新增对 Media Capture API 的支持。

    • 支持网站访问用户设备的摄像头和麦克风(需要取得用户权限)。

Web APIs

  • WebAssembly

    • 新增对 WebAssembly 的支持, 它是一种快速,高效,便携,安全的编码格式。

  • Safari升级了最新版本的 WebCrypto API。

    • 包括新的加密算法,如: AES-CFB, AES-GCM, ECDH, and PBKDF2。

    • SubtleCrypto 现在不需要添加 'webkit'前缀了并且是异步的。

  • 资源计时(Resource timing)

    • 收集网页上每一个资源的全部网络计时数据的详细测量结果。

    • 新增对资源计时2级, 性能计时2级,和用户计时2级等规范的支持。

    • 新增了一些策略,用来帮助开发人员确认Web应用程序的客户端性能问题。

  •  iOS上的拖放

    • 在iOS系统新增了多个拖放事件: dragstartdragenterdragoverdragexitdragleavedragenddrop

Web 应用

  • 更新了WebKit对主屏幕应用的支持

    • 保存在主屏幕的应用现在支持现代WebKit的所有功能特性,如快速点击(Fast-Tap),滚动捕捉(scroll snapping)和新的视觉视口行为。

安全和隐私

  • 通过防止跨站跟踪,加强用户隐私

    • 新增了“智能跟踪预防”(Intelligent Tracking Prevention)功能,它会升级默认的cookie和网站数据的策略,以此来隔离和删除那些有能力进行跨站跟踪用户的网站的cookie和数据。

  • 更新文件限制,默认情况下阻拦跨域访问文件的行为

    • CORS和跨域访问 file: //现在会被阻拦下来,除非选中 Develop 菜单下的 'Disable Local File Restrictions(禁用本地文件限制)' 选项。

文本特性

  • 支持可变字体(Variable fonts)

    • 新增对 CSS Fonts Module 4 规范中定义的字体变形(font variations)的支持。

  • 支持 CSS Stroke

    • 新增对 CSS Stroke规范中定义的一些属性的支持,比如: paint-orderstroke-linejoin,stroke-linecapstroke-colorstroke-widthstroke-miterlimit

Web检查工具

  • 检查 WebSocket 连接

    • 新增对 WebSocket连接和消息的调试。

  • 由右向左的布局

    • 当首选语言为由右向左书写的语言时, 浏览器的检查元素界面会使用右向左布局的模式。

  • DOM 断点 和 XHR 断点

    • 在代码中添加了断点之后,当该代码修改了DOM中的元素,或者向某个资源发送了一个 XHRHtpRequest 请求时,断点会暂停脚本的执行,同时展示出该段代码。

Safari 扩展

  • content blocker rules

    • 新增了 if-top-url 和 unless-top-url 这两个trigger,它们会在正则表达式和文档的URL全部匹配时执行。



可扫码关注 WebAssembly 中文网微信公众平台,即时获取最新文章

诚邀对WebAssembly感兴趣或想帮助我们一起建设(汉化)中文网维护 WebAssembly 中文社区的朋友加入 WebAssembly 中文网交流群:


英文官网:http://webassembly.org/

可点击阅读原文进入 WebAssembly 中文网 http://webassembly.org.cn/ 

以上是关于Safari已默认支持WebAssembly!JavaScript执行速度比Chrome快80%的主要内容,如果未能解决你的问题,请参考以下文章

What's new on safari 11

隐藏彩蛋 | iOS11 完美支持 WebAssembly,H5 迎来 WebAssembly 时代

软件: 补充 JavaScript 的 WebAssembly 正逐渐走向主流

WebAssembly 2021年回顾与2022年展望

前端每周清单:Instant App将至,WebAssembly将获默认支持,PWA实践渐增

破圈!不止于浏览器,WebAssembly 2020 大事记