报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

前端每周清单第 38 期: Node 9 发布,Kotlin 与 React,Netflix 架构解密

  • 2017-11-08
  • 本文字数:3883 字

    阅读完需:约 13 分钟

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

新闻热点

国内国外,前端最新动态

  • Node.js 8 宣布进入 LTS,Node.js 9 发布: 近日 Node.js 维护团队渲染 Node.js 8 正式进入 Long-Term Support 状态,这也意味着 Node.js 8 已做好了进入生产环境的准备,同时 Node.js 9 即将成为当前的发布线版本。Node.js 8 引入了 Async/Await、V8 6.1 等一系列的特性,相较于 Node.js 6 带来了将近 20% 的性能提升;而 Node.js 9.0.0 则引入了 Async Hooks,并且对于 Errors、Child Processes、fs 等多个模块进行了优化。更多关于 Node.js 8 的特性概述与 Node.js 9 的展望可以查看原文。
  • Angular 5 发布: 本周 Angular 5.0.0 正式发布,包含了一系列的特性提升与问题修复,同时也在不断致力于将 Angular 打造地更为轻巧与高性能。新版本中 Angular CLI 会默认启用构建优化器,Angular Universal 项目引入了新的状态转化接口与 DOM 支持;而在编译器方面,Angular 5 也对于 TypeScript Transform、空格、注解等进行了提升,并且对于国际化、时区、HTTPClient、表单、路由等都进行了优化。
  • TypeScript 2.6 发布: 本周 TypeScript 2.6 版本正式发布,该版本中允许使用 --strictFunctionTypes 参数指定逆变的函数参数适配;并且为 tsc 添加了 --locale 标志位以指定使用的本地语言,可以自行设定错误的提示语言。同时该版本还优化了 --watch 模式的编译效率,并且允许使用 // @ts-ignore 来指定单行的错误忽略;更多特性介绍可以查看原文。

开发教程

步步为营,掌握基础技能

  • 与时俱进:React 16 新特性尝鲜: React 16 的发布除开源许可证和 Fiber 机制全面开启之外,还为我们提供了部分非常强大的新特性,本视频教程将通过实例带你探索这些新特性,从 Error Boundary 到 Text Only Component,再到 Portal,共 6 小节,19 分钟,每个小节实例讲解一个新特性,让你在学会新特性用法的同时熟悉新特性的最佳实践。学完本视频教程,你将能熟练把诸如 Error Boundary,Portal 等特性运用到你的实际项目中来提高开发效率和代码质量。更多 React 相关资料查看这里
  • 基于 Node.js 搭建零依赖的 HTTP/2 静态文件服务器: 目前 HTTP/2 已经在大部分的现代浏览器中得到了支持,从而使得开发者能够利用多路复用、头部压缩、服务端推送等特性;Node.js 自 8.8.1 版本后也开始支持 HTTP/2,本文即是介绍如何使用 Node.js 创建简单的 HTTP/2 静态文件服务器。鉴于浏览器端仅支持 HTTPS 信道的 HTTP/2 请求,本文首先介绍了如何使用 LetsEncrypt 来获取 HTTPS 证书或者生成自签发证书;然后展示了如何用 http2 及其回调来创建静态文件服务器。接下来讨论了如何使用 http2 库中的服务端推送的接口,以及如何在现有应用中集成使用 HTTP/2 服务器;更多 Node.js 实战教程查看这里
  • Kotlin 与 React : 随着 Kotlin 宣布支持 Web 应用与 iOS 应用开发,其也成为了新的跨平台解决方案的选择之一;而 Create React Kotlin App 即是类似于 Create React APP 的,使用 Kotlin 来开发 React 应用的脚手架。Create React Kotlin App 目前依赖于 JDK 8(暂不支持 Java9),提供了类似于 Create React APP 的控制命令,同时也支持在 Intellij IDEA Ultimate 直接使用内置的 JavaScript 调试器进行调试。更多 React 教程查看这里

工程实践

立足实践,提示实际水平

  • Node.js 最佳实践清单: 本仓库是对于 Node.js 最佳实践的清单汇总,包括了项目结构、异常处理、代码样式、测试与质量保障、部署到生产环境、安全、性能优化等方面;更多 Node.js 学习资料查看这里
  • 搜狗地图面向 SPA 和 Hybrid 的前端工程体系实践: 本文为搜狗地图前端主管周俊鹏老师在 QCon 上海 2017 上的演讲总结而成,搜狗地图前身是图行天下,成立于 1999 年,是国内第一家互联网地图服务网站,2005 年被搜狐收购后改名为“搜狗地图”。所以这个刚“开始”做的地图产品比大多数人预料的还要老。搜狗地图前端团队对前端工程体系的理解是:工程体系本质上是一种服务,其服务的对象是技术团队所采用的技术以及组织架构。而架构本身也定位为一种服务,其服务的对象是具体的业务。更多 Web 工程化的讨论查看这里
  • Slack 桌面应用的优化:从 WebView 到 BrowserView : Slack 团队使用了基于 Electron 的混合开发技术来打造他们的桌面端应用,不过很多时候因为其糟糕的性能表现而广为诟病。本文中 Slack 技术团队介绍了它们在即将发布的 3.0 版本里面针对性能问题与用户体验所做的一些优化,主要就是从标准的 WebView 迁移到 BrowserView,以类似于 Chrome 中多 Tab 的方式来优化单窗口的表现。除此之外,本文还讨论了如何跨窗口管理 Redux Store、如何处理副作用与异步 Action、如何快速地重构代码等内容;更多 Electron 学习资料查看这里

深度阅读

深度思考,升华开发智慧

  • Netflix 工作机制简析:每次你点击之后发生的事: Netflix 支撑着数百个国家数亿用户的数十亿播放,正是其强大的基础架构支撑着业务的正常运行,本文即是对于 Netflix 的工作机制与架构进行简要介绍。当用户点击播放按钮之后,Netflix 的数百个微服务或者独立的程序构成的 Netflix 服务就开始协同工作,检验请求内容的合规性,并且将其转化为合适的尺寸,同时还要避免其被恶意复制。接下来服务器会将其复制存放在最靠近用户的存储点,而客户端则会自动选择最合适的节点来加载数据;更多大厂架构分享查看这里
  • 前端框架新选择——基于 MVVM 的 San : 在 MVVM 早已被引入 Web 前端应用开发的今天,其实我们已经有了一些选择,有了一些应用开发的利器。它们的代表就是 Vuejs,React, angular。它们都致力于提升开发效率,希望帮开发者做更多的事,通过诸如声明式的绑定,便可通过框架完成视图层的自动化 , 使得业务开发者可以有更多的精力,重新聚焦业务实现的关注点,回归应用开发的本质。百度 EFE TEAM 历时接近两年时间设计、开发 San 框架,一个实现了 MVVM 的 Web 组件化框架。在接近两年的时间里,它不断迭代,支撑了越来越多的业务。
  • HTTP 103 : 近日 HTTP Working Group 宣布新的 HTTP 状态码 103 Early Hints 进入 Version 5,本文即是关于该状态码的详细起草文件。新的状态码允许服务端提前发送某些响应头,并且可以在响应头中通过 Link 属性指明需要提前加载的文件,其能够有助于实践 Preloading 等预加载优化。浏览器端在接收到 Early Hints 之后,实际的响应头之前即可开始进行资源文件的加载;不过这样分片地发送响应头同样会存在风险,因此服务端应当在确定了客户端的身份之后再发送 Early Hints 响应头。更多 HTTP 相关资料查看这里
  • JavaScript 工作原理之深入 WebSockets 与 HTTP/2 : 本文是该系列的第五篇文章,着眼于介绍常用的通信协议,讨论他们的属性特点并且选择最合适的构建方式与应用场景;同时本文也快速地比较了 WebSockets 与 HTTP/2 各自的优劣。本文首先介绍了 WebSocket 的请求格式与帧协议,以及 JavaScript 中常见的 WebSockets 控制回调;然后从请求头、二进制支持、多路复用、压缩等多个角度比较了 HTTP/2 与 WebSockets,并且讨论了 HTTP/2 + Server-Sent Events 的作用。更多 HTTP/2 相关资料查看这里

开源项目

乐于分享,共推前端发展

  • Bottery : Bottery 是由 Kate Compton 开源的一款非常有意思的对话式原型设计平台,其提供了聊天、控制、编辑器、白板、审视器、状态监控器等界面;将聊天机器人与原型设计流有机结合起来,并且使用有限状态机状态迁移的思路来模拟我们产品设计中的原型设计思路流程。
  • Frappé Charts : Frappé Charts 是受 GitHub 启发创建的零配置的,简单而大方的现代图表库。Frappé Charts 提供了常见的柱状图、折线图、流线图、热点图等多种图表形式,以及灵活的数据变化监听接口。
  • mlhelper : mlhelper 是 JavaScript 中机器学习相关的算法与工具库,其提供了常见的 kNN、决策树(ID3)、矩阵运算、向量运算、文件解析以及常见的数据模型可视化功能。
  • Server.js : Server.js 是另一个简单而强大的 Node.js 框架,它致力于帮助开发者尽可能地简化项目开发的复杂度。Server.js 默认地包含了很多 Express.js 中需要额外装载的中间件,譬如请求体与文件解析、Cookie、Session、Gzip、Redis 等;此外,Server.js 还提供了弹性易扩展的 API 设计方案与基于 WebSocket 的实时数据服务。

巅峰人生

  • 大咖告诉你:这才是支持你双十一“剁手”的幕后功臣: 本文是 AWS 解决方案架构师姜振勇分享的,中小型电商应该如何应对双十一这样的高并发访问场景。对于注册用户量超过 3000 万的小红书来说,要想在双十一搞定剁手党,先要在平时了解客户的喜好和需求,这就势必要对数据进行清洗、归整,适于数据分析师使用。姜振勇老师告诉你小红书这样的电商,是如何借助 AWS 快速搭建高效的大数据统计、分析系统的。除此之外,你还能够听到小米网、SK 电信等客户真实案例。当然,姜振勇老师还会介绍 AWS 的多种服务,包括大数据、网络和安全,展现 AWS 弹性、安全和高可扩展性的全方位能力。

前端之巅

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


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-11-08 18:002433
用户头像

发布了 60 篇内容, 共 19.0 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

C++语言中std::array的神奇用法总结,你需要知道!

华为云开发者联盟

容器 数组 函数

身为程序员还记得C语言经典算法(附带答案)吗?

ShenDu_Linux

c c++ 算法 编程语言

第十周学习总结

饭桶

接口测试如何在json中引用mock变量

测试人生路

json 接口测试 Mock

Canal 组件简介与 vivo 帐号实践

vivo互联网技术

数据库 分布式 数据存储

不懂源码?来看看阿里P8亲自手码的Spring源码解析整套笔记,高薪offer唾手可得!

比伯

Java 编程 架构 面试 计算机

架构师训练营第十周作业

文智

极客大学架构师训练营

排查指南 | mPaaS 小程序提示“网络不给力”时该如何排查?

蚂蚁集团移动开发平台 mPaaS

小程序 网络 小程序生态 mPaaS

Spring Boot 2.4.0正式发布,全新的配置文件加载机制(不向下兼容)

YourBatman

云原生 Spring Boot 新特性

架构师第一期作业(第 11 周)

Cheer

作业

源码 | 浅谈Webpack原理,以及loader和plugin实现。

梁龙先森

大前端 webpack

深度剖析,为何C语言在开发领域的地位如此稳固

Philips

Python .net rust C语言 Go 语言

“摸爬滚打”多年,从月薪3K到30Kjava大神,我是怎么蜕变的?

比伯

Java 编程 架构 面试 计算机

Mysql数据备份与恢复

张攀钦

MySQL

一线大厂欺负程序员?京东单方面辞退38岁P7员工三次败诉

Java架构师迁哥

使用resilio实现多集群的k8s pod数据双向非实时同步

东风微鸣

Kubernetes 探索与实践 openshift

架构师训练营第 1 期第 10 周总结

owl

极客大学架构师训练营

《我想进大厂》之Spring夺命连环10问

艾小仙

Java spring 程序员 面试 大厂

使用 Jira Service Management 管理资产,您需要知道的5件事

Atlassian

数字化转型 Atlassian Jira ITSM ITIL

什么是低代码(Low-Code)?

阿里巴巴云原生

程序员 云原生 代码

什么是物联网?常见IoT 物联网协议最全讲解

华章IT

物联网 IoT

Kubernetes初体验--用Kubernetes部署一个Web服务

网管

Kubernetes k8s Web 服务 Go 语言

我是如何使计算时间提速25.6倍的

白日梦想家

Python 代码优化 Numpy 代码加速

第十周课后练习

饭桶

CAP理论

DL

揭秘11.11监控排障利器 京东高稳定日志服务深度解析

京东科技开发者

云计算 DevOps 日志监控

薇娅携手中国航天基金会与我们的太空 带你“益起探月,共舞九天“

Linux 笔记(三): 软件安装

Leo

Linux 学习 大前端

Mac下Docker Desktop配置阿里云镜像加速器

jiangling500

Docker 阿里云镜像加速器

「面试必备」最新整理出的腾讯C++后台开发面试笔记

linux大本营

c++ Linux 后台开发 架构师

产业新基建,撬动数字经济发展新机遇

京东科技开发者

人工智能 新基建 京东

前端每周清单第 38 期: Node 9 发布,Kotlin 与 React,Netflix 架构解密_语言 & 开发_王下邀月熊_InfoQ精选文章