蒲公英 · 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 发布之后,自然而然也会有同学好 ...
随机推荐
- 基于mui的H5套壳APP开发web框架分享
前言 创建一个main主页面,只有主页面有头部.尾部,中间内容嵌入iframe内容子页面,如果在当前页面进行跳转操作,也是在iframe中进行跳转,而如果点击尾部按钮切换模块.页面,那就切换ifram ...
- intellij idea 设置用真机测试android
android自带的模拟器是不容置疑的慢,genymontion虽然快,但是觉得有点怪的感觉,哈哈,其实这些都不是重点. 之前是用myeclipse开发android的,虽然一直很想用eclipse来 ...
- 路径跟踪 PathMeasure的简单使用
平时用path画一些简单的几何图形,呈现的时候也是已经绘制好的图形,想想,如果像动画一样看到它的绘制轨迹,是不是更酷?今天介绍的这个类PathMeasure就是干这个的,知道它的存在还是由于看了启舰写 ...
- python画图——雪花(科赫曲线)
科赫曲线是一种分形,其形态非常像雪花,因此又被称作科赫雪花.雪花曲线. 下面是用python的turtle包让我们来实时画一个 import turtledef koch(t,n): #定义一个函数 ...
- python批量爬取动漫免费看!!
实现效果 运行环境 IDE VS2019 Python3.7 Chrome.ChromeDriver Chrome和ChromeDriver的版本需要相互对应 先上代码,代码非常简短,包含空行也才50 ...
- paddlehub Test on win10
conda 构建虚拟环境 1)虚拟环境下安装paddlepaddle 1.7 2)pip install paddlehub 3)添加环境变量hub_home,以免模型把c盘撑爆 4)下载的模型在.p ...
- ATcoder D - Handstand 2
题目大意: 给一个数N,在小于N的所有数中,找到(A,B)的数量,其中A的第一个数字要等于B的最后的一个数字,A的最后一个数字要等于B的第一个数字. 题解:对从1到N的所有数x,用一个二维数组保存dp ...
- Flutter环境安装,ios真机调试
MAC: 下载Flutter,官网的可能很慢.可以去我的网盘下载, 提取码: 3t6y. 下载完的包会在~/Downloads目录下,我们移到~/opt/flutter目录下. mkdir ./opt ...
- Jmeter系列(7)- 基础线程组Thread Group
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Thread Group基础线程组介绍 ...
- docker中安装宝塔面板教程
本人电脑是win10,安装的virtualbox,装的centos7.2,在centos7.2装了docker,这个比较简单,网上一大堆教程,今天说一下装好了docker之后怎么在docker中安装面 ...