419 - 《分享:Mako 如何 从 0 到 1 到落地到开源》
发布于 2024年3月8日
周五(2024.03.08)内部分享版,只列了大纲,讲故事风。
去年一年的主线都是 Mako。
Mako ['mɑːkoʊ]
经历 3 个阶段,从 0 到 1,从 1 到落地,从落地到开源。
- Mako 如何从 0 到 1
- 2023.3 Kickoff
- 老板成立「体验科技小队」,立了三个项,Rust、SSR & RSC 和 AIGC,我领了 Rust 的部分,写了个 RFC [[基于 Rust 的新前端研发态:RFC]]
- 取名
- Mako 是最快的鲨鱼 🦈
- 面临的问题
- 意义感,为什么做
- 从 webpack 配置工程师到 webpack 研发工程师的角色转变
- Rust 0 基础
- 人员有限
- 大量应用 Less,而 Less 无 Native 语言实现
- 竞品调研
- esbuild、farm、rspack、turbopack、swc-bundler 等,turbopack 对于当时的我们来说真是看不懂
- 为啥社区有 Farm、Turbopack 等了之后,我们还要重新写一个?334 - 《Mako 开发日志(1)》
- 万事从 Toy Version 开始
- 280 - 《构建工具应该包含哪些能力》
- 团队和协作方式
- 虚线 + 实线团队,虚线团队有好有坏,好处是补充人力,坏处是不稳定,业务有事就撤,所以不能 assign 大功能,撤了再找人顶上成本太大
- Github 私库协作(Github Action 得花钱,真的贵)
- 学习 Rust
- 团队大多 Rust 0 基础,边学边写还是很刺激的,感谢 ChatGPT,不然真没那么快上手。
- 302 - 《Rust 资料》
- 7 - 《资源整理:前端视角学 Rust》
- 364 - 《作为前端开发者,到底有没有必要学 Rust》
- 开发迭代
- 调研、学 Rust、开发、修 Bug、提升性能、调研、学 Rust、…
- 代码重构了好几次,最近在做第三次重构。之前为了能跑和出于开发时间原因,做了比较多的战术性编程,不必要的复杂度堆得比较多。
- 一边学一边写的过程还是很累的,因为很容易卡主,影响心流,很多脑子里想的设计不能落地还是很恼火的。所以一开始 Rust 开发速度可能只有 JavaScript 的 1/10 到 1/5,随着逐渐深入,目前已达 2/3 到 3/4。
- 开发 Mako 需要两个技能点,Rust 和构建。Rust 熟练后,大部分时间是在学习竞品(看 Farm 和 Webpack 偏多),了解构建相关的领域知识,完善用例。
- 341 - 《Mako 开发日志(3) - 架构图》
- https://git
- 2023.3 Kickoff