50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

前端每周清单第 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:002700
用户头像

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

关注

评论

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

话题讨论 | 对于懂得编程的人来说,编程对你来说有什么乐趣?编程大概是什么感觉?

xcbeyond

话题讨论

为什么删除数据后,Redis内存占用依然很高?

Java架构师迁哥

架构词典:质量

lidaobing

架构 质量管理

为什么要有 Servlet ,什么是 Servlet 容器,什么是 Web 容器?

yes

tomcat Web Servlet

有钱还APP系统开发|有钱还软件开发(现成)

系统开发

Norns.Urd 中的一些设计

八苦-瞿昙

C# 随笔 随笔杂谈 aop

摄像机不智能,基本等于不讲武德

脑极体

区块链技术生态持续优化,五大趋势不容忽视

CECBC

区块链 场景应用

Spock单元测试框架实战指南五 - void方法测试

Java老k

Java 单元测试 spock

话题讨论 | 说说那些"Oh my god"的时刻

Kurtis Moxley

话题讨论

在构造函数中调用其它构造函数会有什么问题吗?

jiangling500

Java c++ C++11 构造函数

可见性是什么?(通俗易懂)

叫练

volatile JMM 多线程 synchronized

C++typename的由来和用法

良知犹存

c++

密码学系列之:明文攻击和Bletchley Park

程序那些事

加密解密 密码学 程序那些事 明文攻击

架构作业--大数据

Nick~毓

学习笔记3

Qx

生产环境全链路压测建设历程第四篇 技术体系的发力

数列科技杨德华

roblox mini map

katichar

LeetCode题解:102. 二叉树的层序遍历,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Flutter技术在会展云中大显身手

京东科技开发者

flutter 跨平台 移动开发

Java并发编程:进程、线程、并行与并发

李尚智

Java并发

Mock | 拦截ajax的两种实现方式

梁龙先森

Java 大前端

第四章作业

走走,停停……

分布式时序数据库DolphinDB与InfluxDB对比测试报告

DolphinDB

数据库 大数据 Influxdb 性能测试 DolphinDB

最值得Deepin的思维模型“组合创新” | 技术人应知的创新思维模型 (3)

Alan

创新 思维模型 28天写作

区块链打破数字医疗桎梏,赢数据未来新生

CECBC

区块链 医疗

只谈链不谈币,区块链会发展成什么样的方向?

CECBC

区块链

第三周作业

走走,停停……

GO 训练营第 3 周总结

Glowry

如何使用 JuiceFS 在云上优化 Kylin 4.0 的存储性能?

苏锐

大数据 kylin 性能优化 JuiceFS

架构师训练营第十二周作业

我是谁

极客大学架构师训练营

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