334 - 《Mako 开发日志(1)》

发布于 2023年8月15日

Mako 开发了几个月,在功能上已经比较全面了,但细节还有非常多需要打磨的地方,团队同学也都逐渐从 Rust 新手变成熟手。挖个坑写写开发日志,第一篇先写点面上的吧。

1、任何有性能问题的工具,都会基于 Rust 重写。下午还新看到一个,叫 Ruff,是个 Python linter,相比现有的 Lint 工具会快 10 到 100 倍。JavaScript 生态里,感觉大部分耗时的工具都有 Rust 版的替代,虽然不少还不够成熟,但方向是这个方向。

2、从头写一个构建工具,和基于配置使用 Webpack 和 Vite,完全是两种体验。作为 N 年的 Webpack 配置工程师,当需要自己去实现一个时,还是会有大量知识需要重新学习。举个例子,比如 328 - 《CSS Import》 里写过的 CSS Import 的顺序问题,很多除 esbuild 外的现有工具的实现都是有问题的。

3、最近一个感受是,构建工具是强需求,写好了是不用愁应用场景的,包括各种框架、工具、平台的接入和升级。工程师天生对效率和时间敏感,就我个人来说,对于能提升效率和性能的工具就没啥抵抗力。

4、为啥社区有 Farm、Turbopack 等了之后,我们还要重新写一个。原因很多,1)社区库不够成熟,或者在当初做决定时还没有成熟的方案,2)接社区库主动权不在自己这,大公司通常有各种奇怪的需求,而 Rust 库不想 JavaScript 库一样容易定制或

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。