原生lazyload、csp和deno

新奇

  • Chrome 意欲实现原生自动 lazyload 功能,并支持 img 和 iframe 的 loading="lazy" 配置,该特性预计在 Chrome 75 中支持。🔗

    点评:原生 lazyload 比起前端自己实现的 lazyload,更多会考虑到网速和手速的因素,会尝试去获取图片前 2k 以获取高宽进行布局占位,详见这篇文章

  • Chrome 意欲支持 Content-Security-Policy 返回头中的 report-to 指令,此指令相对 CSP 中前身指令 report-uri额外支持了合并多个违规上报请求,保证消耗更少的流量和电量。此前 Edge 已经支持。🔗

  • 介于多个网站利用传感器接口辅助生成访客指纹,Chrome Canary 将在站点调用传感器接口时弹出警告。此前 iOS 12.2 上的 Safari 默认禁止了这类行为。🔗

  • Node.js 作者 Ryan Dahl 在 JS Fest 大会里介绍了 deno 的近况。deno 旨在解决 Node.js 中不安全、不好的 module 实现和历史包袱,希望为 JavaScript / TypeScript 提供一个更受控的脚本运行时环境,适用于诸如 Map Reduce 和 Serveless 形态的场景。目前 deno 启动时间比 Node.js 快 3 倍,但 I/O 时间还不太理想。deno 将在今年夏天发布 1.0 版本,届时将支持代码并行加载、TLS/SSL、远程模块的 lockfile 和调试功能。🔗

    点评:I deno about all this

  • Microsoft Build 于 5 月 6 日开始举办,第一天前端的重磅消息是:React Native on Windows🔗 > 点评:各位观众,React Native 又喘气了!它会醒吗,让我们拭目以待!哦你说还官宣了 Edge 吗?那个不是很重要了

  • Facebook 年度开发者大会 F8 已于 5 月 1 日完成举行,会上涉及前端的演讲有:使用 React、GraphQL 和 Relay 构建新的 FacebookReact Native 的新架构FBT:Facebook 如何大规模应用多语言功能Web XR 的未来🔗 > 点评:看完视频的感想,RN 大规模重构和稳定支持的消息是个定心丸,Facebook 的前端基础建设还是很超前的

  • 苹果主导的 Intelligent Tracking Prevention 2.2 发布,挂载在 iOS 12.3 beta 上。新版本中,当一个域名被认定具备跨站请求追踪的能力,且该域名导向的页面带有 query string 或 hash 时,使用 document.cookie 进行持久化 cookie 设置,该 cookie 只会被保留 1 天。🔗

    点评:翻译一下就是,只要算法认为你有跨站请求追踪的能力,用 clickId + cookie 追踪用户就只有一天有效期

  • Chrome 76 即将支持 Promise.allSettled API,它的行为类似于 Promise.all,但不会在任意一个 Promise 被 reject 的时候短路,而会等待所有的 Promise 完成之后再执行 then 回调。🔗

  • Firefox 67 发布,支持了 FIDO U2F API,支持了 String.prototype.matchAll 和动态模块加载 API import('/my-module.js').then(),支持了 CSS 中的 word-break: break-wordrevert 、@media 中的 prefers-color-scheme,Service Worker 可以 debug 了,允许对用户追踪脚本和静默挖矿行为进行阻拦,提升了浏览器级别功能的可访问性,此外,还进行了大量性能优化:页面加载过程中降低 setTimeout 的优先级、页面加载过程中更早绘制、将不使用的标签页暂停、内嵌了高性能 AV1 解码器 dav1d 等等。🔗

点评:超级丰富的一个版本更新

  • Chrome 75 起将支持 Web Share API Level 2,在 Level 1 支持分享文字和 url 到 Web App 的基础上,额外支持了分享图片、音频、视频和文件。🔗
  • Edge 发布了 macOS 预览版,针对 Touch Bar 进行了浏览体验的增强。🔗

百宝箱

  • MDX 是支持使用 JSX 和 markdown 混合编写文档的格式。

  • react-three-fiber 是一个 Three.js 在 React 上渲染的工具,可以用 React 组件语法完成 WebGL 渲染。

  • Formal 是一个 React Hooks 版本的 rc-form,集成了 React 表单组件通用的的非受控值缓存、值校验等功能。

  • React Redux 7.0.0 正式版完成发布,使用 React Hooks 重写了 connect 方法,并让 Component 直接监听 store 变化以修正 React Redux 6.x 引入的性能问题,同时,新版本支持了 batch 接口以合并多个不同的 dispatch。🔗

    点评:useRedux 接口还没有实现

  • 带有完善工具链的 WebGL 渲染工具 babylon.js 4.0 发布,支持了虚拟场景视图、逼真渲染功能如透明包装、各向异性、光泽与次表面散射,追加了新物理引擎的支持。🔗 > 点评:巨硬牛逼!【破音

  • create-react-app 3.0 发布,支持了 React Hooks 的代码风格校验、TypeScript lint、Jest 24。🔗

  • Node.js 端的 websocket 库 ws 发布了第 7 个大版本,主要改变了 readyState 不为 OPEN 时 ping()pong()send() 的行为,停止支持了  Node.js v6。🔗

  • 兼顾高效与灵活的 WegGL 2D 渲染库 pixi.js 发布了第五个大版本更新。新版支持 shader 按分辨率加载,支持子模块按需加载,默认支持了 IE 11,并更新了大量依赖库。🔗

  • 随着站点的复杂度与日俱增,JavaScript 代码的冷启动时间也在逐步增加。为了压缩 JavaScript 冷启动过程中的编译与字节码生成时间,TC39 提出了 Binary AST 提案,旨在让网站可以直接交付 AST 代码到浏览器端。Cloudflare 近期开源了他们生成 Binary AST 的 binjs-ref 方案,可在 Firefox Nightly 中打开相应的配置进行测试,官方测试中可降低多达 97% 的冷启动时间。🔗

  • Node.js 12.3.0 发布,实验性支持了 WebAssembly 模块,TLSSocket 暴露了 keylog 事件,支持了 Readable.from 以将异步迭代器转化为 stream。🔗

点评:猜猜上面代码会打印什么?



请遵守《互联网环境法规》文明发言,欢迎讨论问题
扫码反馈

扫一扫,反馈当前页面

咨询反馈
扫码关注
返回顶部