前言
2017年关于JavaScript你需要知道的事情
正文
行业要闻
- Google宣布PWA与原生应用拥有同等待遇和权限;
- Twitter 宣布移动 Web 技术栈迁移到 Node.js,Express,React PWA;
- WebAssembly 已被所有主流浏览器支持;
- 斯坦福宣布使用 JavaScript 作为计算机课程的首选语言;
- 2017 年中如果想成为专业的 Web 开发者,应该在 Web 前端、服务端以及 DevOps 领域所需要学习到的技术栈以及进阶路线图;
- Polymer 2.0发布,最大的特性之一就是支持基于 ES6 类的语法,使得开发者能够获得更加贴近于原生开发的体验;
- 微软开源跨平台开发框架 ReactXP;
- 万维网之父 Tim Berners-Lee 获得 2016 年度图灵奖;
- Github 宣布将 V4 版本的 API 完全迁移到 GraphQL 架构;
- 百度 Web 生态构建:发布基于 Vue 的 PWA 解决方案 LAVAS;将全面支持 Web AR ;
- Adobe 宣布将在 2020 年底停止发布与更新 Flash Player;
- Firefox 55 引入 WebVR 支持;
- GraphQL Playground 发布;
- MSDN 将 7700 余份文档重定向到 MDN;
- Node.js 8 宣布进入 LTS,Node.js 9 发布;
发展回顾
- The State of JavaScript 2017;
- 2017 JavaScript 发展回顾;
- JavaScript 完整编年史;
- TC39,ECMAScript 与 JavaScript 的未来;
- ESM 的目前实现与未来规划;
- JavaScript 模块化现状;
- 2017 Vue.js 现状报告;
开源项目
- 浏览器端搜索与离线搜索的全文搜索引擎;
- 一系列优秀的 React 界面框架;
- Fathom-提取网页中有意义内容的 JavaScript 框架;
- 基于 Torrents 与 WebRTC 的端到端视频流播放技术实现工具
- golden-layout,一款非常强大的基于 JavaScript 的 Web 布局工具,它支持窗口的拖拽、缩放以及原生式的弹窗;
- 一系列基于 React 开发的真实环境下的开源应用代码库;
CSS
- CSS 的现状;
- CSS-in-JavaScript:基于组件的样式组织;
- 隐藏幕后的 CSS 知识点;
- 使用 CSS Grid 打造私家花园;
- 深入解析高性能 CSS 引擎:Quantum CSS(Stylo);
- Mozilla CSS Grid 教程;
人工智能
- Google 开源 JavaScript 机器学习库 DeepLearn.js;
- TensorFire-基于WebGL的浏览器端深度学习框架;
- 在浏览器中实现自动驾驶汽车;
- 使用 Node.js 与 OpenCV 实现人脸识别;
- 深入浅出构建简单的 Chess AI;
- 利用机器学习优化网站性能;
- 从零开始基于 JavaScript 构建简单神经网络;
- pix2code—依赖于深度学习技术将来自于设计师的界面图片转化为 iOS 等客户端中的代码;
- gpu.js 提供了浏览器中快速实现 GPGPU 的单文件 JavaScript 库;
- 构建基于 Web Speech API 与 Node.js 的简单 AI 聊天机器人;
构建之道
- Webpack 与 Rollup:求同存异;
- 面向生产环境的前端性能优化清单;
- 使用 Webpack 的 Magic Comment 特性简化代码分割;
- Webpack import 支持异步导入 CSS;
- 基于 NGModules 与 Webpack 的 Angular 应用模块分割与懒加载;
- 微前端:微服务概念的前端实践;
状态管理
- React 中的状态管理架构模式;
- 基于 Vuex 的 Vue 应用状态管理;
- Redux 状态管理之痛点、分析与改良;
- Mobdux:整合 MobX 与 Redux 中优秀的部分;
- 使用 TypeScript 编写 React 与 Redux 应用;
WebAssembly
- WebAssembly 初体验:重构简单游戏引擎;
- Rust、WebAssembly 与 Webpack;
- asm-dom 是轻量级的基于 WebAssembly 的 Virtual DOM 框架,其允许开发者使用 C++ 来构建 Web 单页应用;
- Rust 默认可以编译为 WebAssembly;
- WebAssembly 的应用场景;
- 使用 Rust 开发基于 WebAssembly 的游戏;
- NectarJS: 将 JavaScript 编译为平台相关的二进制代码;
GraphQL
- 为什么我们选择了 GraphQL;
- GraphQL 技术栈漫游;
- Apollo Client 2.0 新特性介绍;
- 用强类型语言 GraphQL 增强 React;
- 利用 GraphQL 创建同构 Vue.js 应用;
- 使用 Apollo Server 快速开发基于 Node.js 的 GraphQL 服务端;
- 循序渐进地利用 Express.js、Apollo Server 与 Webpack 创建可热加载地结构化 GraphQL 接口;
- Graphcool 宣布开源包括 GraphQL 数据库、权限认证系统、实时订阅、Cloud Native 运行时等在内的完整的 Graphcool 开发框架;
- 基于 Apollo 的组件数据交互;
WebVR/AR
- 面向 Web 开发者的 VR 指南;
- luma.gl 是 Uber 开源的高性能 WebGL2 组件,其能够利用 GPU 进行数据可视化呈现与计算操作;
- Expo AR 简明教程;
- AR.js发布。
AR.js是高性能的面向 Web 的增强现实的工具库,它在移动端能达到 60fps;
测试
- JavaScript 单元测试框架大乱斗:Jasmine、Mocha、AVA、Tape 以及 Jest;
- TDD 与 Vue.js;
- 基于 JavaScript 的 Web 应用的端到端测试工具对比;
教程
- 在 JavaScript 中构建高性能的响应式引擎,对于有兴趣了解 MobX 底层原理的同学来说也是个不错的教程;
- 理解高阶组件;
- Nuxt.js SSR 与权限验证指南;
- WebRTC 实战教程;
- 全栈 Web 学习路径;
- 现代 JavaScript 指南;
- 使用 Node.js 构建区块链;
- 自定义基于 JavaScript 的 16 位虚拟机;
小结
关于作者
** 珠峰
WEB开发与管理相结合,注重技术与应用结合。现居上海。