重要的事情要特意提醒: 由于微信不支持外链(注意是外链),查看本文带链接版请点击文末阅读原文。
前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公众号(ID: frontshow),及时获取前端每周清单。
国内国外,前端最新动态
NPM 发布 2017 JavaScript 框架增长度报告
: 作者使用某个包的下载占全部下载量的百分比,作为衡量某个框架是否持续性增长的指标,并以此发布了 2017 JavaScript 框架使用报告;该报告主要着眼于前端框架,React 生态圈以及后端框架这三个部分。根据该报告,前端框架中的 Preact 与 Vue 都是增长迅速,不过 React 在总体量与增长速度上还是占据优势;而在 React 生态圈内,Apollo 则是飞速崛起,MobX 也是增长迅速但还难以匹敌 Redux。
Nuxt.js 1.0 发布
: Nuxt.js 是基于 Vue.js, vue-router, vuex 以及 vue-meta 的,快速创建 Web 应用的零配置工具。本周发布的 Nuxt 1.0.0 版本,将各项依赖更新到了最新版本,同时提升了整体的稳定性与性能表现,也意味着其能够用于生产环境;更多特性变化描述请查看原文。
Node v9.4.0 发布
: 该版本中的重要变化包括了废弃 AsyncHooks Sensitive API 与 runInAsyncIdScope,从 _events 内部实现中移除 reaches,在 clientError 中添加 rawPacket 属性等等;可以查看原文了解更多变化。
NPM 确定新的包命名规则
: 为了尽可能避免包的误植域名现象,NPM Registry 将不会再允许使用相似的包命名;不过会进一步鼓励开发者使用自己的命名空间来发布包。譬如,因为 react-native 已经存在,将不会再允许类似于 reactnative 这样的包发布,不过推荐使用 @ceejbot/reactnative 这样的方式。
步步为营,掌握基础技能
HTML 5.2 新特性与实践盘点
: 不到一个月之前,HTML 5.2 成为了 W3C 的官方推荐版本,这也就意味着 W3C 官方建议开发者应该遵循与实现该版本。本文则是对于 HTML 5.2 中提出的影响较大的,新特性与实践模式进行了概述,譬如原生弹窗组件、iFrames 中的 Payment Request API 以及部分元素实践的变化等;更多 HTML 学习参考现代 Web 开发基础。
基于 TypeScript 的实时聊天应用
: 作者在本文中介绍了如何仅使用 TypeScript,来整合 Web Sockets,Node 与 Angular 去实现某个实时聊天应用。本文首先介绍了 WebSocket 的定义与规范,然后使用 Express,Socket.io 去实现服务端应用,最后使用 Angular 来构建客户端应用;更多 TypeScript 学习资料参阅现代 JavaScript 开发基础。
基于 Node.js 实现的深度学习面部识别库
: 本文中,作者介绍了如何使用新近开源的 face-recognition.js 库,去构建高可用的面部识别与检测应用。该库底层使用了 dlib,然后使用 Node.js 绑定来暴露上层接口;而 dlib 则使用了深度学习算法,并且内置了部分预训练的模型,其在 LFW 面部识别评测中能够获得 99.38% 的准确率。更多 Node.js 学习参考 深入浅出 Node.js 全栈架构。
立足实践,提示实际水平
基于 React Router v4 的服务端渲染,代码分割与懒加载实践
: 本文中,来自 Airbnb 的工程师分享的了,他们基于 React Router V4 进行服务端渲染,代码分割与懒加载的实践。在 RRV4 中,路由即组件的方案替代了原本的集中式配置,但是这导致了无法根据路径进行合适的服务端渲染;针对这个问题,作者首先讨论了如何在现有框架上进行路由管理,然后讨论了异步组件与代码分割的技巧。更多 React 学习参考 React 与前端工程化实践。
2018 Web 开发者学习路线图
: 本仓库包含了一系列成为前端工程师、服务端工程师或者运维工程师的学习路线图,前端工程师路线图包括了基础、深入 JavaScript 中的测试、框架、模块打包、包管理、响应式开发等,后端则包括了开发框架、包管理、数据库、缓存、消息中间件、搜索引擎等,DevOps 则包括了操作系统、云计算、持续集成、自动化、监控告警、Web 服务器、集群管理等等。更多图谱参考 IT 知识图谱与技术路线。
8 个 2018 构建 Node.js 应用的建议
: 本文是来自 RisingStack 的工程师分享的,他们关于 2018 年构建 Node.js 应用的建议。这些建议包括使用 async-await, 尝试 import 与 import(), 尝试 HTTP/2,加固你的 Node.js 应用等等。更多 Node.js 学习参考 深入浅出 Node.js 全栈架构。
深度思考,升华开发智慧
现代网络负载均衡与代理综述
: 负载均衡是构建现代分布式应用系统的重要组成部分,本文即是对现代负载均衡与代理技术进行了综述与盘点。本文依次讨论了什么是负载均衡,其和代理的异同,负载均衡的特点,现代常用 L4 与 L7 的不同层负载均衡的实现拓扑与应用案例等;更多微服务相关参考服务端应用程序开发与系统架构。
操作系统工作原理
:开发者应该掌握的十个概念: 操作系统是软件开发中必备的基础知识之一,而作者在本文中总结了十个操作系统相关的关键概念,来帮助开发者更深入地掌握编程理念。这些概念包括进程与进程管理、线程与并发、调度、内存管理、输入与输出管理、可视化、分布式文件系统、分布式共享内存、云计算等等;更多操作学习参考 Linux 配置使用、内部原理与 Shell 编程。
2018 年前端展望
:合久必分,分久必合: 这几年来前端领域风起云涌,百花齐放,本文在简要总结 2017 前端各个框架领域的变化之后,对 2018 年可能的发展进行了展望。React 可能在渲染函数参数、setState 返回 Promise、异步友好地生命周期回调等方面做出改进,初次之外,作者还对 Angular、Vue、Webpack、Parcel 等框架或工具进行了点评;更多前端学习参考 Web 开发基础与工程实践。
乐于分享,共推前端发展
toapi
: Toapi 是基于 Flask 开发的,能够将任何网站转化为 API 服务的框架。Toapi 实际上也包含了爬虫抓取、接口服务等部分,不过其简化了整个流程;使用者仅需要定义数据的输入输出,Toapi 会帮助自动化整个流程。