AI 生成的网站测评
AI 生成本测评由 AI 根据公开资料生成,未经逐项人工核实;域名、证书等事实以本页采集数据为准。
Made by Evan是什么网站?
Made by Evan(madebyevan.com)是 Evan Wallace 的个人作品集网站。他是 Figma 的联合创始人之一,网站按“专业工作、编译器、图形、游戏、应用”分类展示他参与的项目和开源作品。
网站上的主要内容
| 板块 | 代表项目 | 用途 |
|---|---|---|
| 专业工作 | Figma(2012–2021) | 他参与渲染引擎、多人协作服务、矢量和文本编辑器、插件系统 |
| 编译器 | esbuild、Skew | esbuild 是高速 JavaScript/CSS 打包器;Skew 是带优化编译器的编程语言 |
| 图形 | WebGL Water、WebGL Path Tracing、WebGL Image Filters、Shader Articles | 浏览器内实时渲染、路径追踪、图片滤镜等 WebGL 实验与演示 |
| 游戏 | Robots Are People Too | 双人分屏横版平台游戏 |
| 应用 | Tagception、Source Map Visualization | macOS 文件标签编辑工具;大型 source map 可视化调试工具 |
适合谁看
- 想了解 Figma 早期技术实现、或关注前端构建工具的人,可以看 esbuild 和 Figma 相关条目。
- 学习 WebGL、着色器、实时渲染的开发者,可以直接打开图形板块的演示。
- 对独立游戏、macOS 小工具或开发者工具感兴趣的人,可浏览游戏和应用板块。
网站本身不是教程站或商业产品页,更像一份按主题整理的技术履历与作品索引;多数项目附有演示或外链,可据此进一步查看。
Evan Wallace在Figma期间主要负责哪些技术模块?
Evan Wallace 在 Figma(2012–2021)期间是联合创始人之一,主要负责以下技术模块:
- 渲染引擎:浏览器端界面设计工具的图形渲染核心。
- 多人协作服务:支撑多人实时协同编辑的后端服务。
- 矢量与文本编辑器:图形与文字编辑功能的实现。
- 插件系统:Figma 插件机制的设计与开发。
这些分工来自他在个人网站 Made by Evan 上的自述,属于本人对贡献范围的说明。若想进一步了解这些模块的技术背景,可结合站内对 esbuild、Skew 等项目的介绍对照阅读:前者体现其对构建性能的追求,后者是其为 Figma 移动端轻量文档渲染器设计的技术。
esbuild相比传统构建工具在性能上有多大提升?
Made by Evan 的作者自述中,esbuild 的核心目标就是“带来构建工具性能的新时代”,并给出一个量级判断:在它发布时,常用 Web 开发工具比 esbuild 慢 10–100 倍。这是作者基于自身项目经验的概括,不是第三方基准测试的精确数字。
具体使用情境
- 大型前端项目冷启动构建、频繁增量重建时,速度差距体现最明显:传统工具可能让一次构建等上数十秒,esbuild 往往把等待压到秒级甚至更短。
- CI 流水线中每次提交都要打包,构建时间直接换算成机器成本和反馈延迟,10 倍以上的差距会明显缩短流水线。
- 本地开发热更新时,构建器越快,保存到看到结果的间隔越短,迭代节奏更连贯。
选择条件
- 若项目已深度依赖某个构建器的插件生态和特殊配置,迁移前要评估插件兼容性;esbuild 的价值主要体现在“快”,复杂定制能力需按项目核对。
- 若团队主要痛点是构建慢、CI 排队久,esbuild 的提速收益最直接。
- 若项目规模小、构建本来就只要一两秒,10–100 倍的相对提升在实际体验上感知有限。
进一步了解
作者在个人站点的 Compilers 部分把 esbuild 列为其最大的开源项目,并附有项目入口,可结合官方文档查看具体基准与适用边界。
Skew编程语言如何为Figma移动端文档渲染服务?
Skew 是 Evan Wallace 在 2015–2019 年设计的编程语言,配有一个带优化功能的编译器,用来生成紧凑、高效的 JavaScript。按 Made by Evan 页面上的说明,它正是 Figma 轻量级移动端文档渲染器背后的技术。
它的用途与场景
- 用途:把 Skew 源码编译成体积小、运行效率高的 JavaScript,适合在移动端这类资源受限的环境里做文档渲染。
- 场景:Figma 需要在移动设备上渲染设计文档,但移动端对包体积和运行性能更敏感。Skew 的优化编译器负责产出更紧凑的 JS,从而支撑这个轻量渲染器。
- 和普通 JS 开发的区别:重点不在语言语法本身,而在“编译后代码足够小、足够快”,这是它能用在移动端渲染服务上的前提。
想进一步了解时
页面提供了 Skew 的“Visit website”入口,可查看语言设计与编译器的更多细节;同页还有 esbuild、WebGL 相关项目,能对照看出 Evan 在编译器和图形渲染两条线上的工作。
WebGL Water演示中的水面模拟采用了什么渲染技术?
WebGL Water 演示的水面模拟采用高度场(heightfield)浮点纹理做实时水面渲染,焦散(caustics)效果通过 GLSL 导数函数实现。
具体技术要点
- 水面高度场:使用浮点纹理存储并模拟水面高度,属于渲染导向的实验,而非物理精确的水体仿真。
- 焦散渲染:利用 GLSL 的导数函数(derivative functions)生成水底光斑效果。
- 重点定位:作者明确说明该项目聚焦渲染表现,水面行为并不追求真实感。
适用场景与参考价值
适合想学习浏览器端实时水面效果、浮点纹理用法和着色器焦散技巧的开发者参考。若需要物理准确的水波模拟,该演示不是合适范本;若关注 WebGL 渲染管线与视觉效果实现,则更有参考意义。
Source Map Visualization工具如何避免大型source map导致浏览器卡顿?
Source Map Visualization 避免大文件卡顿的核心思路是“别把整张图一次性塞进浏览器渲染”。按 Evan Wallace 在项目页的说明,这个工具是专为调试真实项目的大型 source map 而做的高性能可视化工具,普通实现遇到大文件会冻结,而它不会。
它大概怎么做到不卡
- 按需加载与按视口渲染:只解析和绘制当前屏幕可见的部分,缩放、平移时再增量取数据,而不是启动时把全部映射关系画成 SVG/DOM 节点。
- 用 Canvas/WebGL 类方式批量绘制:大量线段、映射块如果用 DOM 元素逐个渲染,节点数一多就会拖垮主线程;批量绘制能显著降低开销。
- 把重计算移出主线程:解析 source map、建立索引这类 CPU 密集工作放到 Web Worker 里,UI 线程只负责交互和绘制。
- 数据结构上做索引:对映射区间建树或分块索引,查询某个位置的原始代码时不必线性扫描整个 map。
什么情况下值得用它
- 线上报错堆栈指向压缩后的 bundle,需要快速定位回源码,而 source map 有几十 MB。
- 用 Chrome DevTools 打开大 map 时明显卡顿或崩溃,想换个轻量工具先看清映射关系。
- 需要直观检查 source map 是否生成正确、行列映射有没有偏移。
自己实现时的选择条件
如果只是偶尔看小项目,浏览器自带开发者工具足够;如果经常处理大 bundle,优先考虑“Worker 解析 + 视口内渲染 + 索引查询”这套组合,而不是先做完整可视化再优化。同类思路也可参考 esbuild 作者在构建工具上对性能的取舍:先保证数据结构和算法层面的效率,再谈界面。
用户评价(0)