网易首页 > 网易号 > 正文 申请入驻

3个依赖的白板应用:对抗2MB JavaScript的极简实验

0
分享至

全球7000种语言,AI能翻译的不到200种。而在前端开发领域,一个白板应用通常要加载200万个字符的JavaScript——这相当于把《战争与和平》塞进你的浏览器,只为画几根线。

开发者@joshwcomeau(化名)受够了这种臃肿。他测试的每一款白板工具都要求注册账号、同步云端,或者加载庞大的依赖树。他的需求很简单:打开网页,获得一块空白画布。这个看似基础的功能,在2024年的软件生态中反而成了稀缺品。


于是他做了MindNotes Pro——一个只有3个生产依赖的白板应用:react、react-dom、zustand。没有Redux,没有styled-components,没有axios,没有lodash。整个绘图引擎塞进单个Canvas.tsx文件,约600行代码。

这个技术选择背后是一场关于"足够好"的辩论。Canvas API还是SVG?Zustand还是Redux?外部CDN还是完全打包?每一个决策都在极简主义与功能完整之间寻找平衡点。

正方:Canvas API的硬件加速优势

支持方认为,Canvas API提供了SVG无法匹敌的性能基底。硬件加速的2D绘制能力让应用能流畅处理数千笔笔触,而无需承受DOM操作的开销。SVG虽然在做点击检测时更方便——每个元素都是独立的DOM节点,天然支持事件冒泡——但一旦笔画数量过千,浏览器就开始喘息。

实际测试中,Canvas方案在老旧笔记本上仍能保持60fps的绘制帧率。代价是开发者需要自己实现命中检测算法:计算鼠标坐标与每条贝塞尔曲线的距离,判断用户是否点中了某一笔画。这增加了约200行数学代码,但换来了指数级的性能余量。

反方:Zustand的状态管理争议

批评者指出,Zustand的"无样板代码"承诺存在隐性成本。这个不足1KB的库确实比Redux轻量,但其基于订阅的更新机制在复杂场景下可能引发不可预期的重渲染。MindNotes Pro用3个独立的store切割状态:useDrawingStore负责笔画、形状、工具、撤销重做和localStorage持久化;useViewStore管理缩放与平移;useThemeStore处理深色/浅色模式及系统检测。

这种分割策略有效隔离了变更传播范围。当用户切换画笔颜色时,只有绘图相关的组件需要更新,视图和主题store保持静默。但反对者认为,对于单人维护的项目,这种架构过度设计——一个useReducer配合Context可能更透明。

判断:打包策略的地缘政治考量

最具争议的决策是"零外部CDN"。所有资源——字体、图标、甚至纸张背景的SVG噪点纹理——全部打进bundle。这使最终体积略微膨胀,但确保应用在中国境内无需VPN即可访问。这个设计选择将技术决策与网络基础设施的现实摩擦直接挂钩:当Cloudflare和Google Fonts在某些地区不稳定时,自给自足成为可用性的前提。

视觉设计同样反潮流。开发者摒弃了科技产品惯用的冷蓝/灰色调,采用暖大地色系:#f5f0e8作为背景,#c47a5a作为强调色,配合SVG分形噪点模拟纸张纹理。这种"温暖羊皮纸"美学试图降低数字工具的侵入感——你不是在操作软件,而是在一张无限延伸的纸上书写。

功能集没有因极简而缩水:6种画笔类型(钢笔、荧光笔、铅笔、书法笔、虚线、发光)、9种绘图工具、6种导出格式(PNG、JPG、PDF、SVG、Word、JSON)、50步撤销重做、缩放与迷你地图导航、完整的触控支持。自动保存到localStorage意味着数据完全本地留存,没有账户体系,没有云同步,也没有隐私条款需要同意。

技术栈最终定格为:React 18、TypeScript 5、Vite 5、Zustand、Canvas API、Tailwind CSS。构建工具Vite的按需编译让开发服务器在毫秒级启动,这与应用本身的轻量哲学形成呼应。

这个项目的真正价值或许不在于代码本身,而在于它提出的反问:当行业标准解决方案持续膨胀时,"刚好够用"的边界在哪里?3个依赖不是道德优越,而是一种可量化的约束条件——它强迫开发者区分"需要"与"想要",在功能清单上做减法而非加法。

结果已公开测试。对于厌倦了注册流程、同步冲突和加载动画的用户,600行代码提供的空白画布可能比2MB的"全功能套件"更接近工具的本质。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
日本布下反华包围圈后,越南做出明确表态,东南亚风向彻底变了

日本布下反华包围圈后,越南做出明确表态,东南亚风向彻底变了

霁寒飘雪
2026-05-06 14:38:27
41岁C罗遭暴击?沙特巨头2-1夺沙王冠+4年3冠 4天后与胜利大决战

41岁C罗遭暴击?沙特巨头2-1夺沙王冠+4年3冠 4天后与胜利大决战

风过乡
2026-05-09 05:56:30
太阳报:卡塞米罗将生涯下一站交给一直支持他的妻子决定

太阳报:卡塞米罗将生涯下一站交给一直支持他的妻子决定

懂球帝
2026-05-08 22:09:49
下周,40℃要来了!气象专家回应“史上最热夏天”

下周,40℃要来了!气象专家回应“史上最热夏天”

新浪财经
2026-05-09 10:09:55
世界正在发生一个极其恶心的变化!印度最终可能会成为地球大患

世界正在发生一个极其恶心的变化!印度最终可能会成为地球大患

世界圈
2026-05-04 16:42:27
美议员:特朗普和梅拉尼娅都同意我的观点,爱泼斯坦不是单独行动

美议员:特朗普和梅拉尼娅都同意我的观点,爱泼斯坦不是单独行动

究竟谁主沉浮
2026-05-09 08:08:25
王励勤马龙许昕三人同步握拳那一幕眼泪直接下来了!樊振东心酸了

王励勤马龙许昕三人同步握拳那一幕眼泪直接下来了!樊振东心酸了

乐悠悠娱乐
2026-05-09 10:41:34
活塞超级奇兵,邓罗三分爆发,从热火弃子强势逆袭

活塞超级奇兵,邓罗三分爆发,从热火弃子强势逆袭

秋姐居
2026-05-09 10:43:47
鲁比奥大概率永远来不了北京!

鲁比奥大概率永远来不了北京!

安安说
2026-05-09 10:56:46
中指研究院:4月重点城市二手房成交量增长明显 百城新房均价同比上涨2.18%

中指研究院:4月重点城市二手房成交量增长明显 百城新房均价同比上涨2.18%

智通财经
2026-05-06 17:23:33
比安德森还强!罗马诺曝光曼联梦想目标,谈判即将开启

比安德森还强!罗马诺曝光曼联梦想目标,谈判即将开启

澜归序
2026-05-09 06:20:24
叶珂终于摊牌!生女两年无名分,分手真相扯出黄晓明私生活

叶珂终于摊牌!生女两年无名分,分手真相扯出黄晓明私生活

橙星文娱
2026-05-08 09:06:29
央媒点名、观众唾弃!这四个臭名昭著的相声演员,各个都难以原谅

央媒点名、观众唾弃!这四个臭名昭著的相声演员,各个都难以原谅

晓帝爱八卦
2026-05-09 04:52:53
工作群突然解散!网传武汉一外包公司大量裁员,3000元打发走人

工作群突然解散!网传武汉一外包公司大量裁员,3000元打发走人

火山詩话
2026-05-09 06:03:43
一句凡尔赛震惊29队老板,未入联盟引爆风波,詹皇牵动整个NBA

一句凡尔赛震惊29队老板,未入联盟引爆风波,詹皇牵动整个NBA

不似少年游
2026-05-09 10:43:34
47岁韩国影后西湖夜跑!独自逛超市,没戴帽子口罩,全程无人认出

47岁韩国影后西湖夜跑!独自逛超市,没戴帽子口罩,全程无人认出

趣味八卦
2026-05-09 00:53:03
女学霸发明“咯噔字体”,老师低分警告:别用个性挑战考试底线

女学霸发明“咯噔字体”,老师低分警告:别用个性挑战考试底线

蝴蝶花雨话教育
2026-05-07 00:05:04
演员张瑜离婚单身30年,68岁再见前夫仍心动

演员张瑜离婚单身30年,68岁再见前夫仍心动

看尽落尘花q
2026-05-08 21:15:59
去山姆最适合孩子吃的6种美食,全是高口碑,遇到了可别错过

去山姆最适合孩子吃的6种美食,全是高口碑,遇到了可别错过

餐饮新纪元
2026-05-09 07:11:10
iPhone 17 Pro Max拍电影节入围片,苹果生态秀肌肉

iPhone 17 Pro Max拍电影节入围片,苹果生态秀肌肉

闪存猎手
2026-05-08 08:13:09
2026-05-09 11:59:00
野生运营
野生运营
懂点产品,懂点AI,正在努力给平淡日子搞点新花样。
2395文章数 33关注度
往期回顾 全部

科技要闻

美国政府强力下场 苹果英特尔达成代工协议

头条要闻

年轻女子190元买榴莲仅退款被拘留 代收点离家3公里

头条要闻

年轻女子190元买榴莲仅退款被拘留 代收点离家3公里

体育要闻

成立128年后,这支升班马首夺顶级联赛冠军

娱乐要闻

张艺谋《印象刘三姐》全裸镜头引争议

财经要闻

Meta疯狂拥抱人工智能:员工苦不堪言

汽车要闻

全系智能泊车 铂智3X年款升级限时权益价9.48万起

态度原创

时尚
数码
旅游
教育
公开课

卢昱晓真的要被审判到这种程度吗?

数码要闻

海信发布画框艺术音响M5:6单元100W功率,杜比全景声认证

旅游要闻

名画跑进咖啡杯!徐悲鸿纪念馆“上新”文创咖啡空间

教育要闻

北京师范大学第1专业,就业现状与报考性价比分析!#金榜同行人

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版