蒲公英 · JELLY技术周刊 Vol.05: Rust & Electron 的高性能实践 -- Finda
登高远眺
天高地迥,觉宇宙之无穷
基础技术
使用 JavaScript 框架的代价
作者从 JavaScript 下载时间、解析时间、执行时间、内存占用四个角度评测了 jQuery、Angular、React、Vue 四个框架,最终得出结论:「框架不值得」,应该选择原生 JavaScript 或选择超轻量级框架或在服务端渲染。此文可配合的 Svelte 安利文一同复用。
Node.js 14 正式版发布
作为下一个 LTS 版本的 Node.js 14 终于发布了。Node.js 把 V8 升级到了 V8(8.1) 版本,原生支持了热门语法 Optional Chaining 和 Nullish Coalescing,并且移除了使用 ESM Modules 时的警告。同时开启了实验性的 AsyncStorage 支持和 WebAssembly System Interface(WASI) 支持。
前端框架
ali-react-table: 高性能 React 表格组件
在前端的开发中,表格一直都是最复杂的组件之一,由于要提供丰富的功能支持,许多的表格组件一开始并没有考虑到性能优化的问题,导致在表格数据量过大的情况下,表格会遇到严重的性能瓶颈问题。而文章中介绍的ali-react-table表格组件,作者在一开始开发时就考虑到了性能的问题,并通过虚拟滚动的方法解决了表格数据量较大时的性能问题,同时该表格组件没有绑定特定的React组件库,仅依赖了一些工具类库,配合 webpack/rollup 的 tree shaking 特性,引入 ali-react-table 所产生的额外 JS 体积非常有限,是一款高性能、高可定制性的 React 表格,方便上层进行封装和定制并接入到不同的系统和业务中。
桌面开发
用 Rust 构建一个快速的 Electron 应用
Electron 是当前相当流行的跨平台桌面应用构建框架。在褒奖之余,Electron 也有饱受诟病的地方,性能可能是被提及次数最多的一点。不同于常规的优化手段,Kevin J.Lynagh 使用 Rust 构建了核心功能的 node 模块,使 Finda 在性能上有着不俗的表现。这篇文章介绍了 Finda 软件是如何做到在 16ms 内完成每个用户交互的。
图形编程
实现动效太难了?试试 Material Design
使用过谷歌产品的很难不注意到其 UI 交互上的流畅、舒适与统一,这源于谷歌有着一套完整的 UI 动效设计理论体系以及规范。设计团队基于迪士尼动画 12 原则的理论规范经过多年的探索与实践,演化出了一套灵感来源为“量子纸”(Quantum Paper)的动效体系——Material Design。基于这套动效体系,谷歌推出了对应的 Android、Flutter 版 Material 动效系统,方便开发进行 UI 动效的开发。文中还推荐了一款可视化调整动效的工具,由谷歌设计师操刀,本文包含了多篇扩展阅读文章,适合设计与开发更为全面地了解谷歌 UI 动效体系的概念。
人工智能
一图梳理吊打一切的 YOLOv4
这几天最大的新闻就是YOLO v4的发布,YOLO是一个快速而高效的目标检测器,而 v4 的发布象征着他在该领域的地位是其他算法无法企及的。作者根据 YOLOv4 的论文,帮助我们梳理了v4 的整体结构和创新点,帮助我们更快地认识 YOLOv4 。
YOLOv4 Keras实现版
YOLOv4 原版本是基于 Darknet 实现的,该仓库作者仅在 YOLOv4 发布的第二天就实现了其 keras 版本,造福万千 TF 党。
沧海拾遗
沧海拾遗,积跬步以至千里
本期小助手还为大家带来了两篇关于 electron 的项目经验之作,如果你也对跨平台桌面开发感兴趣,会从中收获不少~
feWorkflow - 桌面应用工程化
使用react, redux, immutable框架做ui开发,仍然基于运行gulpfile的方案,这样可以使每个使用自己团队的gulp工作流快速接入和自由调整。
性能优化: Electron 与 Vue 结合的 Excel 数据清洗工具
XCel 是一款基于用研组需求的 Excel 数据过滤工具,本文将分享 Electron、Vue 等相关涉及技术的基本知识和性能优化经验。这也许是Jc的2016年最后一篇文章,且看且不珍惜。
欢迎关注凹凸实验室博客:aotu.io
或者关注凹凸实验室公众号(AOTULabs),不定时推送文章: