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系统新增了多个拖放事件: dragstart, dragenter, dragover, dragexit, dragleave, dragend, drop。
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-order, stroke-linejoin,stroke-linecap, stroke-color, stroke-width, stroke-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%的主要内容,如果未能解决你的问题,请参考以下文章
隐藏彩蛋 | iOS11 完美支持 WebAssembly,H5 迎来 WebAssembly 时代
软件: 补充 JavaScript 的 WebAssembly 正逐渐走向主流