蒲公英 · 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),不定时推送文章:

蒲公英 · JELLY技术周刊 Vol.05: Rust & Electron 的高性能实践 -- Finda的更多相关文章
- 蒲公英 · JELLY技术周刊 Vol.19 从零开始的 Cloud IDE 开发
蒲公英 · JELLY技术周刊 Vol.19 你是否也会有想法去开发一个自己的 IDE 却苦于时间和精力不足,完成 Desktop IDE 却又被 Cloud IDE 的概念追在身后难以入睡,这样的两 ...
- 蒲公英 · JELLY技术周刊 Vol 27: 平平无奇 React 17
蒲公英 · JELLY技术周刊 Vol.27 这个热闹的十月终于要走到尾声,React 17 历经 4 个 RC 版本之后,也于数天前正式发布了,而同在几天前发布的 CRA 4.0 也已经完成了 Re ...
- 蒲公英 · JELLY技术周刊 Vol.03
蒲公英 · JELLY技术周刊 Vol.03 「蒲公英」期刊全新升级--JELLY技术周刊!深度挖掘业界热点动态,来自团队大咖的专业点评,带你深入了解团队研究的技术方向. 登高远眺 天高地迥,觉宇宙之 ...
- 蒲公英 · JELLY技术周刊 Vol.16 谷歌首个线上 Web 开发者大会
蒲公英 · JELLY技术周刊 Vol.16 近期,谷歌有史以来的第一次线上谷歌 Web 开发者大会,Web Vitals.PWA.DevTools 和 Lighthouse 6.0 等一系列特性或产 ...
- 蒲公英 · JELLY技术周刊 Vol.17: 90 行代码实现 React Hooks
蒲公英 · JELLY技术周刊 Vol.17 React Hooks 相信大家都不陌生,自被设计出以来就备受好评,在很多场景中都有极高的使用率,其中原理更是很多大厂面试中的必考题,很多朋友都能够如数家 ...
- 蒲公英 · JELLY技术周刊 Vol.20: Vue3 极致优化——分析 Vue3 Compiler 告诉你为什么这么快
蒲公英 · JELLY技术周刊 Vol.20 性能优化是一条无尽的路,我们总是可以找到各种途径去提升体验,不论是响应时间还是按需加载,亦或是根据框架或者组件有针对性的优化都会是不错的方法.如果你在使用 ...
- 蒲公英 · JELLY技术周刊 Vol.22: npm i react-router@6.0.0-beta.0
蒲公英 · JELLY技术周刊 Vol.22 近期 React Router 已经释出了 6.x 的 beta 版本,正式版本已经不远了,作为 React 生态中的重要组成部分,React Route ...
- 蒲公英 · JELLY技术周刊 Vol.25 · Webpack 5 正式发布,你学废了么
蒲公英 · JELLY技术周刊 Vol.25 阔别两年,Webpack 5 正式发布了,不仅清理掉很多冗余的功能,同样也为我们带来了很多新鲜的能力,不论是默认开启的持久缓存,还是反病毒保护,亦或者被其 ...
- 蒲公英 · JELLY技术周刊 Vol.28: Next.js 10 发布
蒲公英 · JELLY技术周刊 Vol.28 前端应用到底该选 SSR 还是 CSR?每个项目技术栈决策的时候都会根据实际需求有自己的看法,而在不久前 React 17 发布之后,自然而然也会有同学好 ...
随机推荐
- matplotlib 中其他基于Affine2DBase的类
2020-04-11 11:42:22 --Edit by yangray以下所有类(除了BboxTransformToMaxOnly )都直接继承于Affine2DBaseIdentityTrans ...
- matplotlib TransformWrapper
2020-04-09 23:26:53 --Edit by yangray TransformWrapper 是Transform的子类, 支持在运行中替掉一个变换(可以是不同类型, 但维度必须相同) ...
- Java相同id的数据集合,合并数据为一条,并将几个字段内容合并为一个
Java实现,当然也可以数据库实现; /** * Created by shaozhiqi on 2019/7/31. */ public class TestUnion { @Test public ...
- 反射----获取class对象的五种方法
反射Reflection 配合注解使用会格外强大,反射注解,天生一对 类如何加载? 动态语言和静态语言.我知道是什么,不用总结了. 由于反射,Java可以称为准动态语言. 允许通过反射获得类的全部信息 ...
- Mysql大厂高频面试题
前言 前几天有读者找到我,说想要一套全面的Mysql面试题,今天陈某特地为她写了一篇. 文章的目录如下: Mysql面试题 什么是SQL? 结构化查询语言(Structured Query Langu ...
- E. Max Gcd
单点时限: 2.0 sec 内存限制: 512 MB 一个数组a,现在你需要删除某一项使得它们的gcd最大,求出这个最大值. 输入格式 第一行输入一个正整数n,表示数组的大小,接下来一行n个数,第i个 ...
- linux常用命令--文件和目录
cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目 ...
- MySQL服务端恶意读取客户端文件漏洞 (DDCTF2019和国赛均涉及到这个漏洞)
mysql协议中流程和go语言实现的恶意mysql服务器:https://blog.csdn.net/ls1120704214/article/details/88174003 poc :https: ...
- Java的数组索引问题
/* 数组操作的两个常见小问题: ArrayIndexOutOfBoundsException:数组索引越界异常 原因:你访问了不存在的索引. NullPointerException:空指针异常 原 ...
- Mysql列属性
列属性又称之为字段属性在mysql中一共有6个属性:null,默认值(default),列描述(comment),主键(primary key),唯一键(unique key)和自动增长 修改数据库字 ...
