3.1-Frontend

# 前端每周清单:Instant App 将至,WebAssembly 将获默认支持,PWA 实践渐增

新闻热点

前端领域最新动态

开发教程

步步为营,掌握基础技能

工程实践

立足实践,提示实际水平

深度阅读

深度思考,升华开发智慧

  • 《对于在浏览器中使用 UDP 协议的一系列考虑》: 现代浏览器与网站大多构建于 HTTP 协议之上,而对于类似 agar.io 这样的实时游戏往往会选择 WebSockets 协议。此文作者首先介绍了下这些基于 TCP 的应用层协议面对的所谓对头阻塞问题,然后又讨论了 QUIC 以及 WebRTC 在构建专用服务器时的不足。最后,作者分析了使用 UDP 作为传输协议存在的问题,并且提出了 netcode.io 这个轻量级的传输加密的基于 UDP 封装的网络协议。( http://suo.im/3j4EV6 )

  • 《对比探秘 WebAssembly 性能优越之谜》: 本系列文章通过有趣的漫画介绍了 WebAssembly 的前世今生,并且与 JavaScript 就加载、解析、编译、执行等浏览进行了详细对比,从而介绍 WebAssembly 的性能缘何相较于 JavaScript 会好上很多。同时作者也强调,WebAssembly 与 JavaScript 各有所长,未来并不会存在太多的竞争,更多的是相辅相成,各司其职。( http://suo.im/3jsTUH )

  • 《为何使用 Node.js》:本文来自于 Node.js 的技术专家 Tomislav Capan,此文最早发布于 2013 年,详细介绍了 Node.js 的内部原理,并且论述了 Node.js 适用的业务场景与典型的范模式。( http://suo.im/3sFwvm )

  • 《槽糕的 JavaScript 框架们》:此文作者 Matt Burgess 严肃地吐槽批评了几乎所有的现今流行的 JavaScript 框架,与他上一篇文章伟大的 JavaScript 框架一起阅读效果更佳。当然,作者并不是想让大家回到茹毛饮血的岁月,而是希望能以辩证地态度去认识与使用框架。( http://6me.us/e9R )

  • 《当我们在谈大前端的时候,我们谈的是什么》:大前端到底指的是什么?事实上大前端并没有明确的定义,它由国内业界发明,甚至没有对应的英文词汇。在客户端开发上,Native 与 HTML5 之争持续快十年,吵了人们都失去兴趣了,从现在来看,并没有谁取代谁,而是有融合的趋势,融合之后的产物就是大前端。本文则是对于大前端的一些探讨,还可以参考《大前端年终总结与展望:大前端时代即将来临?》。( http://6me.us/5XC )

  • 《来自 Google 的 API 设计指南》:这是来自于 Google 的网络 API 设计指南,最早于 2014 在 Google 内部推行,指导了包括 Cloud APIs 等在内的一系列对外服务。该指南同时适用于 REST API 与 RPC API,特别是 gRPC API。( http://6me.us/dgoI )

开源项目

乐于分享,共推前端发展

  • 《notie》:这是一个轻量级的、零依赖的面向 JavaScript 的通知、输入以及选择套件库。它允许弹出警示信息、确认输入框、允许用户输入信息、允许用户进行选择以及进行日期选择等。( https://github.com/jaredreich/notie )

  • 《跨浏览器通用存储接口 Store.js》:Store.js 能够根据浏览器情况自动选择合适的底层存储,并且提供了统一的 API 接口。Store.js 始于 2010 年,目前已经被运用到数以千计的站点中。而近日 Store.js 发布了 2.0 版本,其提供了完整的可插拔式的存储支持以及大量的附加功能。 ( https://github.com/marcuswestin/store.js )

  • 《Rapscallion》:React 服务端渲染的性能一直是广为诟病,相较于其他前端框架会满上很多,笔者在此文中也进行过简要探讨。而 Rapscallion 则是新的支持 React 服务端渲染的开源包体,它支持异步非阻塞渲染,相较于renderToString其能达到将近 50% 的性能提升。同时 Rapscallion 官方还为我们准备了基于 Redis 的缓存实例。( http://suo.im/3YS6pz )

  • 《在浏览器中实现自动驾驶汽车》:人工智能与深度学习的浪潮滚滚而来,也给我们带来了很多有趣的应用。该项目利用 JavaScript 创建了一个完整的自我学习的代理,能够在一个 2D 环境下控制某个车辆自动规避各种障碍 。用户还可以通过鼠标绘制出新的障碍,而小车可以通过强化学习不断进行自我更新,值得一试。( http://suo.im/4egERz )

  • 《Caporal.js》:特性全面的可用于创建 Node.js 命令行工具的框架,包括了帮助信息生成、自动补全等。 ( https://github.com/mattallty/Caporal.js )

  • 《Gutenberg》:网页打印时的格式错乱一直是个头痛的问题,而 Gutenberg,css 提供了一系列基本的仅在打印时才会加载的样式,优化专用于打印的格式显示。( https://github.com/BafS/Gutenberg )

巅峰人生

一览众山,聆听巅峰故事