阿里云前端周刊 - 第 39 期

推荐

1. Safari 支持 Service Worker 了!

https://mp.weixin.qq.com/s/gqNjFzRhurLLYTdWjIKpXg

在昨天发布的 Safari 46 技术预览版里,发布了一个重大更新,在新的桌面版 Safari 里将默认打开 Service Worker,这意味着苹果正在逐步接受 PWA,我们将进入 PWA 的时代。早在今年 7 月份,就有人问过 WebKit 团队是否将支持 Service Worker,当时他们的回答是正在考虑,后来在 8 月份变成“In development”,现在终于正式发布了。PWA 的另一个核心特性 Web App Manifest,苹果表示也正在开发中,按开发进度可能几个月后就能与我们见面。

2. GraphQL.js 0.12.0 发布

https://github.com/graphql/graphql-js/releases/tag/v0.12.0

该版本包含了很多的新特性与提升,将之前部分实验特性进行了规范化适应,显著地提升了 Flow 类型的质量。开发者在升级到该版本时需要仔细评估其对于现有系统的影响,特别是对于那些依赖 GraphQL.js 的构建工具等,更多详细的版本特性介绍请查看原文。

3. Webpack Cli 2.0.0 发布

https://github.com/webpack/webpack-cli/releases/tag/v.2.0.0

Webpack CLI 是 Webpack 辅助构建工具,能够将应用构建所需要的配置代码交由命令行工具去创建,尽量减少开发者所需要的操作。在 2.0 版本中 Webpack CLI 进一步优化了易用性,允许在配置中使用 ES6 等语法,添加了 v8 编译缓存,同时允许开发者更方便地反馈问题与启动本地服务器。

其它

1. 你需要了解的关于 Parcel 的一切

https://medium.freecodecamp.org/all-you-need-to-know-about-parcel-dbe151b70082

Parcel 是新近开源的零配置、高性能的 Web 构建工具,其相较于 Webpack 更为简单易用;Parcel 内置了开箱即用的开发服务器,其会自动分析依赖、监测文件变化,并且完成线上热替换。本文即是对于 Parcel 用法的介绍,首先分析了 Parcel 的优势,然后具体讨论了现代 Web 开发中常见的技术栈的集成方式,包括 React、Vue、TypeScript 等等

2. TypeScript 实战教程

https://auth0.com/blog/typescript-practical-introduction/

本文通过实例来学习 TypeScript 的基础特性,首先介绍了如何搭建配置 TypeScript 开发环境,以及主要的编译选项的含义;然后依次讨论了 TypeScript 的语言特性,包括变量、模块、类与对象、接口、装饰器、迭代器等等。

3. 基于 Mobx-state-tree 的应用状态管理

https://egghead.io/courses/manage-application-state-with-mobx-state-tree

本课程是 Mobx 的作者 Michel Westrate 发布在 egghead 上的,详细介绍 Mobx-state-tree 基本使用的系列视频课程。开发者能够在该课程中学习到如何声明数据模型、如何管理数据模型的生命周期等等,并最终能够使用 MST 中开箱即用的异步 Action、Patch、Snapshot、Middleware 等特性来编写健壮可扩展的现代应用。

4. 浏览器 user-agent 简史

https://parg.co/U47

很多人都知道浏览器的 user-agent 字符串,服务器端通过这个字符串进行客户端的浏览器、操作系统、加密等级、浏览器语言、渲染引擎和版本信息的识别。从 1993 年 NCSA 发布首款浏览器 Mosaic 以来,这个字符串经历了纷繁复杂的变化,本文即是介绍 user-agent 字符串的演变简史。

5. React 与 Vue.js 的异同

https://javascriptreport.com/how-is-react-different-from-vue/

一年来 React 与 Vue.js 都发生了巨大的变化,取得了长足的发展;本文则是在年末的时候对二者进行了一次深度盘点。本文依次从性能、模板与 JSX 的语法、CSS、生态系统、状态管理等多个角度进行了分析

6. React Native 事件机制探究

https://levelup.gitconnected.com/react-native-events-in-gory-details-what-happens-on-the-way-to-listeners-2cee6c55940c

React Native 在某种程度上可以简单看做 Javascript-Java-Xcode 转换器,因此 Raect 代码与原生代码之间的事件交互无疑是非常重要的部分;本文即是详细分析了 React Native 中的事件机制。本文首先介绍了 Device Event Emitter 的设计与单例模式,然后讨论了 RCTDeviceEventEmitter, RCTEventEmitter 等 JavaScript 与原生代码之间的桥梁;接下来本文以简单的原生组件为例介绍了如何完成原生与 JavaScript 之间的事件传递,最后还分析了为何 RN 中没有冒泡机制。

上一篇:容器化操作系统概览


下一篇:阿里云前端周刊 - 第 36 期