阿里云前端周刊 - 第 37 期

点击有惊喜


推荐

1. Node.js 的可扩展应用模式:CQRS, ES, Onion

https://medium.com/@domagojk/patterns-for-designing-flexible-architecture-in-node-js-cqrs-es-onion-7eb10bbefe17

本文介绍如何使用 CQRS 与 Event Sourcing 模式来开发 Node.js 应用,使用 Onion 架构来组织这些模式,并且使用 TypeScript 来进行静态类型校验。本文首先讨论了何谓灵活架构:业务逻辑与实现分离、独立于数据库,框架,服务等等;然后介绍了 Event Sourcing 与 CQRS 的含义,以及它们是如何组织在洋葱圈模型中的,最后以典型的认证逻辑为例讨论了如何实现 CQRS 模式。

2. 2017 JavaScript 发展回顾

https://medium.freecodecamp.org/a-look-back-at-the-state-of-javascript-in-2017-a5b7f562e977

在 2017 年 JS 状态调查结果出炉之前,Sacha Greif 先和几位专家聊了聊他们对于 2017 年 JavaScript 发展的看法与回顾,并整理成了这篇文章。本文从测试工具、构建工具、状态管理、全栈架构等几个不同的方面进行了讨论,对 2017 年中令人印象深刻的技术进行了分享;除此之外,A recap of front-end development in 2017 也是一篇不错的总结,

3. 卡通图解 JavaScript 引擎

https://codeburst.io/understanding-javascripts-engine-with-cartoons-3ef56487a987

本系列文章着眼于从运行机制的角度来介绍 JavaScript,首篇文章介绍了 Callback Queue、Event Loop 等异步执行相关的概念,本文则是从引擎的角度,以漫画的方式来介绍 JavaScript 的编译、解析与执行的过程。上周的清单中我们推荐了 V8 引擎的推测优化,本文则是提纲挈领地介绍 JIT 编译器的原理,给读者一个宏观的概念展示;

更多

1. Airbnb 列表页的 React 性能问题浅析

https://medium.com/airbnb-engineering/recent-web-performance-fixes-on-airbnb-listing-pages-6cd8d93df6f4

Airbnb 已经使用 React Router 与 Hypernova 将核心订购流程转化为了服务端渲染的单页应用,本文则是介绍其如何将列表详情页进行单页应用话改造,并且综合提高其性能。本文首先讨论了如何进行性能评测,这篇文章也介绍了如何使用 Chrome DevTools 来调试 React 的性能问题;然后介绍了其在初始化渲染、滚动优化、点击反馈、输入输出方面的优化技巧

2. IMG 的变迁:非 GIF 的动图实现

https://calendar.perfplanet.com/2017/animated-gif-without-the-gif/

图片是现代网页应用中不可或缺的部分,GIFs 是动图实现的选择之一,但其质量与性能一直差强人意;如果直接使用 video 标签,又是无法发挥 preloaded 的作用,还必须分段请求。在 Safari Technology Preview 中,允许开发者使用 .mp4 的形式来实现简单的动图需求,相较于原本的 GIF 的解决方案能带来将近二十倍的性能提升,并且支持 CSS 方式背景播放,其体积也有大幅度的降低。

3. TensorFlow Lite 支持 Core ML

https://developers.googleblog.com/2017/12/announcing-core-ml-support.html

TensorFlow Lite 是面向移动设备与嵌入式设备的轻量级 TensorFlow 版本,近日其宣布开始支持 Core ML,通过工具能够将 TensorFlow 模型转化为 .mlmode 这样的 Core ML 模型格式。Core ML 是 iOS 内置的机器学习框架,这意味着 iOS 开发者能够在 Core ML 上部署 TensorFlow 模块,也是 TensorFlow Lite 在跨平台支持上的重要一步;另一方面,Apple 也开源了自定义机器学习模型框架 Turi Create,来帮助开发者快速开发机器学习模块并且集成到 iOS 应用中。

4. 使用 Rust 开发基于 WebAssembly 的游戏

https://aochagavia.github.io/blog/rocket---a-rust-game-running-on-wasm/

数周前,Alex Crichton 的 PR 使得 Rust 能够直接被编译为 WebAssembly 格式,本文作者也尝试将基于 Rust 与 Piston 编写的桌面游戏 Rocket, 转化为能够在浏览器中运行的 WebAssembly 格式的应用。作者使用 JavaScript 来处理用户的输入输出,并且进行界面渲染,使用 Rust 来处理游戏逻辑;作者依次介绍了自己在迁移过程中碰到的多个 Link 错误以及处理方案,然后讨论了 Rust 与 JavaScript 如何相互调用,以进行画面渲染与接收用户输入输出等内容。


点击有惊喜


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值