深度解析塑造未来的技术文章。

网页开发

现代Web开发技术、框架与最佳实践,助力构建快速、无障碍的网站。

11 篇文章
01 网页开发

Geohash 还是空间索引?邻近搜索选型指南

有人做了一个网站,只展示你所在位置步行半小时范围内的维基百科条目。它很有趣,还火了,也正好引出每个地理应用迟早会遇到的问题:geohash 还是空间索引——以及在数百万行数据中回答“这个点附近有什么”时,半径与等时圈之间更深层的选择。

网页开发Marcus Rodriguez2026年10月23日9 分钟
02 网页开发

IRCv3:向后兼容的协议设计经验

1988 年,一位芬兰大学生写了一个能装进几页纸的聊天协议。近四十年后,这个协议——IRC——依然每天承载着数百万条消息,而 IRCv3 工作组则在悄悄地告诉我们其他人:如何演进一个协议,而不把已有的生态整个搞崩。如果你曾经需要为一堆陌生人依赖的 API 做版本管理,IRCv3 就是值得你照搬的案例。

网页开发Marcus Rodriguez2026年10月12日10 分钟
03 网页开发

Node.js 虚拟文件系统(VFS)之我见

试着在没有真实文件系统的环境里运行一个 Node.js 应用,你很快就会发现它会全面崩溃。require() 会读文件,fs.readFile() 会读文件,模板引擎会读文件,配置加载器会读文件,日志库会写文件。整个 Node.js 生态都默认存在一个类 POSIX...

网页开发Marcus Rodriguez2026年3月14日8 分钟
04 网页开发

协同编辑比你想的难

Google Docs 为数百万用户提供实时协同编辑。看起来毫不费力:你打字,光标移动,协作者的修改瞬间出现。但这种简单是假象。在底层,协同编辑是分布式系统中最难的问题之一,解决它的两种主流方案(操作转换 OT 和 CRDT)各自的取舍,只有真正动手做过才会明白。

网页开发Marcus Rodriguez2026年3月11日9 分钟
05 网页开发

抖动的艺术:用一个比特绘制精美图像

Lucas Pope的Return of the Obra Dinn是史上视觉效果最惊艳的游戏之一,它只用了两种颜色:黑和白。每个像素一比特,没有灰度,没有渐变,也没有抗锯齿,每个像素要么亮要么灭。然而这款游戏却能渲染出完整的3D世界,角色清晰可辨,还有景深和氛围光效,靠的全是巧妙的抖动技术。

网页开发Marcus Rodriguez2026年3月5日10 分钟
06 网页开发

滚动淡入是糟糕的UX反模式,别再用了

过去五年里,你在每个营销网站、SaaS 落地页和作品集上都见过它。你向下滚动页面,内容从下方浮现,从侧边滑入,或者在进入视口的瞬间凭空出现。有时还会加上错峰延迟,每个元素像歌舞团的队列一样一个接一个地登场。做这些效果的开发者觉得它看起来很“高级”,而遇到它的用户只想好好读页面。

网页开发Marcus Rodriguez2026年2月24日7 分钟
07 网页开发

最糟糕的 UX 反模式及修复方法

上周我想在某大型航空公司的网站上调整 Cookie 偏好设置。「全部接受」按钮是醒目的亮蓝色,想忽略都难。「管理偏好」链接呢?灰色文字、11px 字号,藏在一大段法律条款下面。好不容易找到了,结果页面上有 47...

网页开发Marcus Rodriguez2026年2月23日10 分钟
08 网页开发

小众网络才是互联网最精彩的部分

打开浏览器,随便访问一个大型网站,你都会看到同样的东西:Cookie 同意横幅、订阅弹窗、自动播放的视频、为点击量量身定制的标题,以及存在意义只是为了投放广告而非服务读者的内容。当下这种商业化的网络形态,对使用它的人来说几乎是充满敌意的。

网页开发Marcus Rodriguez2026年2月19日8 分钟
09 网页开发

WebAssembly 并不总比 JavaScript 快

上个月的一个周六,我花了一整天把一个 Rust 编译成 WASM 的图片元数据解析器,改写成了 TypeScript。那个 WASM 版本已经在生产环境跑了八个月,运行得没问题,也没人抱怨。但我一直盯着性能追踪数据,总觉得哪里不对劲:WASM 解析器花在 JS 与 WASM...

网页开发Marcus Rodriguez2026年2月11日11 分钟
10 网页开发

每增加一层代码审查,团队就慢一步

一家初创公司的线上版本出了个 bug,管理层的反应是:加一道代码审查。又一个 bug 漏了过去,于是要求两个人审。接着出了一次安全事故,又加了安全审查环节。然后设计风格不统一,又加了设计评审。两年之后,哪怕只改一行代码,也要经过四道审查,合并一次要三天。以前每天都能发版的开发者,现在花在审代码上的时间已经超过了写代码。

网页开发Elena Vasquez2026年2月9日8 分钟
11 网页开发

Pyodide:借助 WebAssembly 在浏览器中运行真正的 Python

自从 2010 年代初以来,在浏览器里跑 Python 就一直是个美好的愿望,但每次尝试都碰到同一个问题:Python 与 CPython 的 C 运行时耦合太深,很难直接移植到 Web 环境。Transcrypt、Brython 和 Skulpt 都试图用 JavaScript 重新实现 Python...

网页开发Marcus Rodriguez2026年2月2日8 分钟