当前位置: 首页 > 后端技术 > Node.js

前端周榜第38期:Node9发布,Kotlin和React,Netflix架构解密

时间:2023-04-03 20:28:10 Node.js

开发者了解本周前端热点;分为热点新闻、开发教程、工程实践、深度阅读、开源项目、巅峰生活等栏目。欢迎关注【前端之巅】微信公众号(ID:frontshow),及时获取前端每周榜单。国内外热点新闻,最新前端动态Node.js8宣布进入LTS,Node.js9发布:近日,Node.js维护团队渲染Node.js8正式进入Long-TermSupport状态,这也意味着Node.js8已经发布准备投入生产,而Node.js9即将成为当前的发布版本。Node.js8引入了Async/Await和V86.1等一系列特性,相比Node.js6带来了20%的性能提升;而Node.js9.0.0引入了AsyncHooks,针对Errors、ChildProcesses、fs等模块进行了优化。关于Node.js8的特性概述和Node.js9的展望,可以查看原文。Angular5发布:Angular5.0.0于本周正式发布,包括一系列功能增强和错误修复。同时,我们也在不断努力使Angular更加轻量级和高性能。在新版本中,AngularCLI将默认启用构建优化器,AngularUniversal项目引入了新的状态转换接口和DOM支持;而在编译器方面,Angular5还改进了TypeScriptTransform、空格、注解等,支持本地化、时区、HTTPClient、表单、路由等国际化优化。TypeScript2.6发布:本周,TypeScript2.6版本正式发布发布,允许使用--strictFunctionTypes参数指定逆变函数参数适配;并且在tsc中加入了--locale标志来指定使用的本地语言,你可以自己设置指定错误提示语言。同时该版本还优化了--watch模式的编译效率,允许使用//@ts-ignore指定单行错误忽略;更多功能介绍请参考原文。循序渐进开发教程,掌握基本功,与时俱进:React16新特性尝鲜者:React16的发布,除了开源许可和Fiber机制,还为我们提供了一些非常强大的新特性。本视频教程将带你通过实例探索这些新特性,从ErrorBoundary到TextOnlyComponent,再到Portal,共6节,19分钟,每节讲解一个新特性,让你学会使用了解新功能,同时熟悉新功能最佳实践。学完本视频教程后,您将能够熟练地将ErrorBoundary、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库中的server-push接口,以及如何在现有应用中集成使用HTTP/2服务器;在此处查看更多Node.js实用教程。Kotlin和React:随着Kotlin宣布支持Web应用和iOS应用开发,它也成为新的跨平台解决方案的选择之一;而CreateReactKotlinApp类似于CreateReactAPP,使用Kotlin开发ReactApplied脚手架。CreateReactKotlinApp目前依赖于JDK8(暂不支持Java9),提供类似CreateReactAPP的控制命令,也支持直接使用IntellijIDEAUltimate内置的JavaScript调试器进行调试。在此处查看更多React教程。工程实践基于实践,提示实际水平Node.js最佳实践列表:本仓库是Node.js最佳实践列表,包括项目结构、异常处理、代码风格、测试和质量保证、部署到生产环境、安全、性能优化等;如需更多Node.js学习资料,请查看此处。搜狗地图针对SPA和Hybrid的前端工程系统实践:本文是搜狗地图前端主管周俊鹏先生在QConShanghai2017的演讲总结,地图服务网站被搜狐收购2005年更名为“搜狗地图”。所以这款刚刚“起步”的地图产品,比大多数人预想的还要老。搜狗地图前端团队对前端工程系统的理解是,工程系统本质上是一种服务,其服务的对象是技术团队所采用的技术和组织架构。架构本身也定位为服务,其服务的对象是具体的业务。有关网络工程的更多讨论,请参见此处。Slack桌面应用优化:从WebView到BrowserView:Slack团队使用基于Electron的混合开发技术来构建他们的桌面应用,但经常因其性能不佳而广受诟病。在本文中,Slack技术团队介绍了他们在即将发布的3.0版本中针对性能问题和用户体验所做的一些优化,主要是从标准的WebView迁移到BrowserView,以类似于ChromePerformance中的多Tab的方式优化单窗口.此外,本文还讨论了如何跨窗口管理ReduxStore,如何处理副作用和异步动作,如何快速重构代码等;在这里查看更多Electron学习资料。深读深思,智慧的升华与发展Netflix工作机制:每一次点击都会发生什么:Netflix支持数百个国家数亿用户的数十亿次播放,支撑业务发展的正是其强大的基础设施正常运行,本文简单介绍一下Netflix的工作机制和架构。当用户点击播放按钮时,Netflix的数百个微服务或由独立程序组成的Netflix服务开始协同工作,检查所请求内容的合规性,并将其转换为合适的大小,同时防止被屏蔽。恶意复制。接下来服务端会复制存储到离用户最近的存储点,客户端会自动选择最合适的节点加载数据;更多大型工厂架构的分享,请看这里。前端框架的新选择——MVVM-basedSan:当MVVM被引入Web前端应用开发的今天,我们已经有了一些应用开发的选择和一些强大的工具。他们的代表是Vuejs、React、angular。他们都致力于提高开发效率,希望能帮助开发者做更多的事情。通过诸如声明式绑定,通过框架完成视图层的自动化,让业务开发人员有更多的精力,重新专注于业务实现的重心回归到应用开发的本质。百度EFETEAM用了近两年的时间设计开发了San框架,这是一个实现MVVM的Web组件框架。近两年不断迭代,支持的业务越来越多。HTTP103:HTTP工作组最近宣布新的HTTP状态码103EarlyHints已经进入版本5。本文是关于状态码的详细起草文档。新的状态码允许服务端提前发送一些响应头,响应头中可以使用Link属性来指明需要提前加载的文件,可以帮助练习Preloading等预加载优化。浏览器收到EarlyHints后,可以开始加载实际响应头之前的资源文件;但是,分片发送响应头也是有风险的,所以服务器应该在发送EarlyHints响应头之前确定客户端的身份。可以在此处找到有关HTTP的更多信息。JavaScript深入WebSockets和HTTP/2的工作原理:本文是本系列的第五篇文章,重点介绍常用的通信协议,讨论它们的属性和特点,选择最合适的构建方式和应用场景;同时,本文也快速对比了WebSockets和HTTP/2的优缺点。本文首先介绍了WebSocket的请求格式和帧协议,以及JavaScript中常用的WebSockets控件回调;然后从请求头、二进制支持、多路复用和压缩等多个角度比较HTTP/2和WebSockets,讨论HTTP/2+Server-SentEvents的作用。可以在此处找到有关HTTP/2的更多信息。开源项目乐于分享,共同推动前端发展。Bottery:Bottery是一个非常有趣的对话原型平台,由KateCompton开源。提供聊天、控制、编辑、白板、查看器、状态监控等接口;将聊天机器人与原型制作流程有机结合,利用有限状态机状态转换的思想来模拟我们产品设计中的原型制作思维过程。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的实时数据服务。顶级生活达人告诉你:这就是支持你双十一“购物”的幕后英雄双十一这样的并发访问场景。对于拥有超过3000万注册用户的小红书来说,要想在双十一剁手党中获胜,首先要了解客户平时的喜好和需求。分析师使用。姜振勇先生将告诉你像小红书这样的电商公司如何使用AWS快速搭建高效的大数据统计分析系统。此外,还可以听到小米网、SK电讯等客户的真实案例。当然,姜振勇先生还将介绍AWS的大数据、网络、安全等多种服务,展示AWS弹性、安全、高扩展性的全方位能力。前端置顶《前端置顶》是InfoQ旗下专注于前端技术的垂直社区。加入前端Top学习群,请关注“前端Top”公众号,回复“加群”。投稿请发邮件至editors@cn.infoq.com,并注明“前端投稿”。