前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公众号(ID: frontshow),及时获取前端每周清单。

新闻热点

国内国外,前端最新动态

  • iOS 11.3 与 macOS 10.13.4 即将包含 Service Workers: 本周,Safari Technology Preview 48 版本发布,其引入了包括密码自动填充机制变更、启用 Storage Access API 等一系列特性。更值得一提的是,这也意味着 iOS 11.3 与 macOS 10.13.4 即将包含 Service Workers,从而允许开发者利用后台脚本提供更强大的可离线使用的 Web 应用;此外,iOS 11.3 还允许将 Web Apps 添加到屏幕桌面,并且支持 Manifest 文件,更多 PWA 相关资料参考这里

  • Parcel v1.5.0 发布: 虽然发布不久,但是 Parcel 已然在 Github 上获取了超 17000 的点赞,并且在 npm 上有超百万的下载量与数十位来自各地的贡献者。Parcel v1.5.0 是发布以来的重量级更新,其引入了 JavaScript Source Map,WebAssembly 支持,Rust 与 WebAssembly 转换的支持,配置文件缓存失效,.env 文件等特性,并且进一步优化了小型项目的编译效率。

  • Expo SDK v25.0.0 发布: 本周发布的 Expo SDK v25.0.0 基于最近的 React Native 0.52 版本,其带来了如下新特性:支持在独立应用中打包字体、视频与音频资源;优化发布通道,允许回滚更新,交叉发布,查看历史等;为 AWS Cognito 提供了开箱即用的支持。除此之外,该版本还优化了 Calendar、MailComposer、GLView 等一系列接口与扩展。

  • Bootstrap 4: 尽管等待了多年,但是 Bootstrap 4 最终还是发布了;正式版本与上一个 Beta 版本相比未有重大变化,主要着眼于部分错误修复与提升。本版本中优化了打印样式与工具类,添加了额外的边辅助函数,更新了 $spacers$sizes 映射,并且修改了主题文档等。

开发教程

步步为营,掌握基础技能

  • webpack 4 beta  尝鲜: 本周,webpack 4.0.0-beta.0 发布,本文即是对于 Webpack 4 的特性与使用进行简要介绍。Webpack 4 为我们带来了如下特性:多场景下更好的性能提升,更好的默认配置,支持 package.json 中的 sideEffects 配置,更好的 JSON Tree Shaking 支持,更新到 UglifyJS2,更多的类型支持,WebAssembly 支持,取消 CommonsChunkPlugin 替换为默认优化配置。更多 Webpack 相关资料参考这里
  • 有趣的 JavaScript Proxies 用法: JavaScript 中还有很多尚未广泛使用的新特性,JavaScript proxies 可能就是其中之一,它能够在运行时复写或者拦截某个对象的属性以及方法。本文中,作者使用 Proxy 完成了几个有趣的小功能:仅有二十行代码的 API SDK,以可读性更好的方式查询数据属性值,监控异步函数调用等。更多 JavaScript 学习参阅现代 JavaScript 开发基础

  • 一些有趣的 ECMAScript 2017 尚未接纳的提案: 随着 Polyfills 与转换器的流行,很多还处于早期的提案在完成之前就在开发者之间获得了极大的欢迎,本文即是对 ECMAScript 2017 尚未接纳的提案中一些有趣的进行分享。作者首先讨论了 ECMAScript 提案的五个进程,然后讨论了 Asynchronous Iteration, Class Improvements, Class Decorators, Import Function, Observables, Do Expression, Optional Chaining 等特性。更多 JavaScript 学习参阅现代 JavaScript 开发基础

工程实践

立足实践,提示实际水平

  • 利用 Windowing 创建高效的 React 视图: 本文是 bvaughn 讨论 React 性能、搜索与应用架构相关演讲上的 Presentation,他着眼于到底是什么拖慢了 React 应用性能,并且分享了如何解决问题以及学到的经验。值得一提的是,他讨论了很多关于 Windowing 工作原理,以及如何仅创建那些用户可见数据的实践;更多 React 教程参阅 React 与前端工程化实践
  • SPA 技术选型时的考量: 本文作者讨论了他在对于网页的技术选型中,是否应该采用 SPA 方案的考量,需要注意的是,本文带有了较多的主观态度,请批判性地看待。作者提出的考量点包括:速度与性能,高开发成本,不稳定性,不易长期维护,低安全性,重造轮子,社交媒介属性,低可访问性,对于内存的浪费等。 更多 Web 架构相关资料参考这里

深度阅读

深度思考,升华开发智慧

  • why is setState asynchronous?: MobX 的作者,mweststrate,近日提了某个 Issue 讨论为何 setState 需要设置为异步。我们耳熟能详的原因是 异步的 setState 用于进行异步渲染,并且确保 state 对象是反馈了那些被渲染好的状态。而 Gaearon 也澄清了这个问题,异步的 setState 主要是为了保证内部一致性,并且为后续的并发更新打下基础。更多 React 教程参阅 React 与前端工程化实践

  • JavaScript 工作原理系列:Web Workers 浅析与典型的使用场景: 本文是 How JavaScript Works 系列文章的第七篇,主要讨论了 Workers 的类型,它们的特性与作用,以及它们在不同的场景下的优势与不足。众所周知的是,异步代码以及 Event Loop 机制能够帮助缓解 JavaScript 单线程的不足;而 Web Worker 则是能够创建轻量级的、浏览器内线程,从而运行那些并不会阻塞 Event Loop 的代码。Web Worker 典型的使用场景包括了 Ray tracing,数据加解密,数据预抓取,Progressive Web Apps 以及拼写检查等等;更多 Web Worker 相关资料参考这里

  • Firefox 58: The Quantum Era Continues: 对于 Mozilla 而言,2017 年是个非常有意义里程碑,正式发布了 Firefox Quantum,通过彻底重写的方式极大地提升与优化了 Firefox 的性能与使用体验。本文即是对于 Firefox 58 版本正式发布时,其带来的新特性进行解读:非主线程渲染、后台 Tab 限流、WebAssembly 流式编译器、CSS 字体呈现、新的 Promise 特性等,更多 Firefox 59 的规划可以查看这里

开源项目

乐于分享,共推前端发展

  • Rejoiner: Rejoiner 是由 Google 开源的,能够基于 gRPC 或者其他的 Protobuf 资源自动生成统一 GraphQL Schema 的工具。它致力于灵活化 GraphQL 的定义与交互,方便多数据源连接。
  • CSS Gridish: CSS Gridish 能够基于产品的网格设计,自动生成多个资源文件:包含画板与网格布局设计的 Sketch 文件,包含了 Flexbox 兼容的 CSS/SCSS CSS Grid 代码,能够用于监测网页布局的 Chrome 插件。需要注意的是,该工具并不致力于辅助构建网格,而是帮你自动化地生成产品开发全流程中需要的资源文件,更多信息查阅这里
  • Greenlet: Greenlet 能够将异步函数移入独立线程中,可以看做 workerize 函数的单函数简化版。不过需要注意的是,Greenlet 仅支持纯函数,其会在独立的作用域中运行这些函数。
  • Purgecss: 当我们开发网页时,往往会使用 Bootstrap,Materializecss 以及 Foundation 这样的 CSS 库;不过实际上我们仅会使用其中的部分样式,其余的样式对于当前界面而言都可以算作冗余样式。Purgecss 即可以帮助我们清除界面上的无用样式,它能够自动分析输入的 HTML 文件与 CSS 样式,并且进行选择器匹配,最终移除无用的 CSS 代码。

巅峰人生

前端之巅

「前端之巅」是 InfoQ 旗下关注前端技术的垂直社群,加入前端之巅学习群请关注「前端之巅」公众号后回复 “ 加群 ”。投稿请发邮件到 editors@cn.infoq.com,注明 “ 前端之巅投稿 ”。


前端每周清单第 49 期:Webpack 4 Beta 尝鲜,React Windowing 与 setState 分析,Web Worker 实战的更多相关文章

  1. 王下邀月熊_Chevalier的前端每周清单系列文章索引

    感谢 王下邀月熊_Chevalier 分享的前端每周清单,为方便大家阅读,特整理一份索引. 王下邀月熊大大也于 2018 年 3 月 31 日整理了自己的前端每周清单系列,并以年/月为单位进行分类,具 ...

  2. webpack 4.0尝鲜

    发布不久得webpack 4.0据说速度快了68% - 98%,然后还支持没配置文件,所以看起来很牛逼得样子 所以尝试一发 webpack和webpack-cli分离 现在执行webpack命令 必须 ...

  3. 前端模块化开发篇之grunt&webpack篇

    几个月前写了一篇有关gulp和browserify来做前端构建的博客,因为browserify用来做js的打包时可能有些麻烦(特别是在写React的时候),所以这里再强烈推荐一款js打包工具-webp ...

  4. 【活动】美团技术沙龙第49期:AI在外卖场景中的最佳实践

    美团技术沙龙第49期开始啦! 本次沙龙,美团外卖技术部专家会深入介绍AI在对话系统.图像处理.个性化推荐.智能营销等方向在外卖业务中的实践,希望与业界技术同学一起交流学习. 无论你从事智能搜索,或是算 ...

  5. ZooTeam 前端周刊|第 111期

    转: ZooTeam 前端周刊|第 111期 ZooTeam 前端周刊|第 111期 浏览更多往期周刊,请访问: https://weekly.zoo.team 基于Vue的前端架构,我做了这15点 ...

  6. 指尖前端重构(React)技术调研分析

    摘要:重构前的技术文档调研与分析,包括技术选型为什么选择react,应用过程中的注意事项等. 一.为什么选择React React是当前前端应用最广泛的框架.三大SPA框架 Angular.React ...

  7. 解决 01-Jul-2016 10:49:05.875 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.mysql.jdbc.D

    01-Jul-2016 10:49:05.875 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoade ...

  8. ES6+Webpack 下使用 Web Worker

    大家都知道 HTML 5 新增了很多 API,其中就包括 Web Worker,在普通的 js 文件上使用 ES5 编写相关代码应该是完全没有问题了,只需要在支持 H5 的浏览器上就能跑起来. 那如果 ...

  9. [前端进阶课] 构建自己的 webpack 知识体系

    webpack webpack 最出色的功能之一就是,除了 JavaScript,还可以通过 loader 引入任何其他类型的文件. Webpack 核心概念: Entry(入口):Webpack 执 ...

随机推荐

  1. SolidWorks学习笔记9 自顶向下方法

    目的:制作一个轴承. 先创建一个零件作为一级控件,(草图)如下,是轴承的横截面. 创建内环. 新建一个零件,然后选择插入=>零件,选择“一级控件”零件 创建卡环,插入零件,选择一级控件 然后再旋 ...

  2. PYTHON 100days学习笔记008-1:数据结构补充

    目录 Day008_01:数据结构补充 1.列表list 1.1 将列表当作堆栈使用 1.2 将列表当作队列使用 1.3 列表推导式 1.4 嵌套列表解析 1.5 del语句 2.元组和序列 3.集合 ...

  3. PYTHON 100days学习笔记002:语言元素-数字变量与运算符

    参考文章: Python 变量类型 Python 运算符 Day02 - 语言元素 1. 指令和程序 计算机的硬件系统通常由五大部件构成,包括:运算器.控制器.存储器.输入设备和输出设备.其中,运算器 ...

  4. 二项式定理+前缀Sigma

    https://hihocoder.com/problemset/problem/1430 思路: 要用前缀去推Sigma总公式,比较方便.https://blog.csdn.net/weixin_3 ...

  5. jwt认证规则

    目录 认证规则图 django不分离 drf分类 认证规则演变图 数据库session认证:低效 缓存认证:高效 jwt认证:高效 缓存认证:不易并发 jwt认证:易并发 JWT认证规则 优点 格式 ...

  6. X86逆向10:学会使用硬件断点

    本节课我们将学习硬件断点的使用技巧,硬件断点是由硬件提供给我们的一组寄存器,我们可以对这些硬件寄存器设置相应的值,然后让硬件帮我们断在需要下断点的地址上面,这就是硬件断点,硬件断点依赖于寄存器,这些寄 ...

  7. Spring Boot源码分析-启动过程

    Spring Boot作为目前最流行的Java开发框架,秉承"约定优于配置"原则,大大简化了Spring MVC繁琐的XML文件配置,基本实现零配置启动项目. 本文基于Spring ...

  8. 数值优化(Numerical Optimization)学习系列-目录

    数值优化(Numerical Optimization)学习系列-目录 置顶 2015年12月27日 19:07:11 下一步 阅读数 12291更多 分类专栏: 数值优化   版权声明:本文为博主原 ...

  9. 大数据学习(3)- redis集群

    安装方法摘自 http://www.redis.cn/topics/cluster-tutorial.html 这个方法为简单版的方法,在原文的基础上,我加了一点参数,其他参数配置可以请教其他大神 搭 ...

  10. Visual Studio高分屏下Winform界面变形

    现在高分屏的电脑越来越多,2K屏,4K屏层出不穷,对于.net开发人员来说,尤其是Winform开发者, 分辨率一直是个比较头疼的事情,屏幕分辨率高了,如果仍然设置显示100%,会导致字体非常小,影响 ...