先说我的情况,不然对比没有意义。我一个人维护两个小项目:一个 Next.js 的官网(Node 20 + pnpm,node_modules 装完 1.1G 左右),一个 Python 数据脚本仓库(pandas 为主,依赖一个公司私有 pip 源)。笔记本是 2020 款 M1 MacBook Air,8G 内存,256G 硬盘。
去年 10 月硬盘只剩 11G 的时候,我第一次认真考虑把开发环境搬上去。原因很蠢:Docker Desktop 的虚拟机镜像吃了 24G,我删了重建三次,每次都要重新 pull 一堆镜像,最后一次干脆把 Docker 卸了。
下面所有体验基于 2024 年 10 月到 2025 年 3 月这段时间,价格和额度这种东西变化很快,你看到的时候可能已经不一样了,自己点进去确认一遍再决定。
一、先搞清楚「在线编程」其实是四件不同的事
我一开始也把它们混在一起,后来发现选错的根源就在这里。
第一类是在线判题,LeetCode、洛谷、Codeforces、牛客这些。它们只关心一件事:你的代码能不能在 1-2 秒、256MB 内存里跑完测试点。不给你持久化的环境,连个能活过三天的进程都留不下。拿它刷题没问题,拿它写项目是自找麻烦。
第二类是云端开发容器,GitHub Codespaces、Gitpod、腾讯 Cloud Studio、华为 CodeArts IDE Online。本质是「一台临时的 Linux 虚拟机 + VS Code 网页前端」,能跑 npm install,能开 Postgres,能转发端口。这是唯一有可能替代本地开发环境的类别。
第三类是浏览器内运行时,StackBlitz(WebContainers)、CodeSandbox。Node 跑在你自己浏览器的标签页里,靠 WebAssembly 和 Service Worker 模拟文件系统。打开就能用,但内存上限基本就是你那个标签页的额度,我在安卓平板上开大项目直接把 Chrome 干崩过一次。
第四类是 Notebook,Google Colab、Kaggle、阿里云 PAI-DSW。强项是 GPU 和数据处理,弱项是版本管理和工程化,习惯用 git 分支协作的人会很难受。
我的建议:刷题去第一类,想替代本地开发看第二类,临时演示和教学用第三类,跑模型实验用第四类。混着用,你会一直觉得「在线编程怎么这么难用」。
二、我把实际能量到的数字记下来了
| 平台 | 免费额度 | 默认规格 | 冷启动(我这个项目实测) | 备注 |
|---|---|---|---|---|
| GitHub Codespaces | 个人账号 120 core-hours/月 + 15 GB-month 存储 | 2 核 8G / 32G 盘 | 首次创建 2 分 40 秒,配了 prebuild 之后约 25 秒 | 4 核机型按双倍速度烧额度 |
| Gitpod | 免费版 50 小时/月 | Standard 4 核 8G / 30G 盘 | 45-70 秒 | 基于 Nix 的 devcontainer,启动逻辑和 Codespaces 不一样 |
| 腾讯 Cloud Studio | 有免费工作空间,规格时长调整过几次 | 看套餐 | 1-2 分钟 | 国内不用梯子,对很多人这一点就是决定性的 |
| StackBlitz | 免费,跑在浏览器里 | 取决于你本机内存 | 1-2 秒 | 前端起飞,原生依赖和数据库会翻车 |
| Google Colab | 免费 T4(限时、会断) | 12G 显存 T4 | 10-30 秒 | 免费实例随时可能被收走,不看你的脸色 |
这里有个细节必须说清楚:Codespaces 的免费额度单位是「核时」,不是「小时」。 你开 4 核机器,跑 1 小时就扣 4 core-hours。也就是说 120 core-hours 在 2 核机型上等于 60 小时,在 4 核机型上只有 30 小时。
我 10 月份完全没算这个,上半月就把额度烧到 87%,下半月只能开着 2 核机器改 Markdown。4 核和 2 核的差价在账面上不大,在「还能不能继续用」这件事上差别巨大。
三、真正卡住你的不是 CPU,是网络出口和缓存
这一段是我最想说的。所有评测都在比「支持多少种语言」「有没有 AI 补全」,但你每天真正要忍受的是下面三件事。
第一,npm/pip 的下载速度。 默认源在国内访问不稳,我实测同一台 Codespaces:没配镜像时 pnpm install 一个 1.1G 依赖的项目用了 11 分钟,配了国内镜像之后 2 分 20 秒。这 9 分钟的差距,比 2 核升 4 核带来的体验提升大得多。所以进任何云开发环境的第一件事,就是配 .npmrc 和 pip.conf。
第二,端口转发的稳定性。 Codespaces 把 3000 端口转出去之后,只要容器活着,URL 就不会变;Gitpod 有时候重新打开工作空间会换域名。我把 OAuth 回调地址写死在配置文件里,为此踩过两次坑,第二次是在给客户演示前十分钟。
第三,断线重连后进程还活着吗。 地铁里信号一断,网页 IDE 顶多重连一下,但终端里跑着的进程可能已经没了。Codespaces 的 terminal 会话在容器存活期间是会保留的,这点比我预想的可靠。有一次我在 4G 热点上跑一个 20 分钟的数据迁移脚本,中间断了三次网,回来的时候脚本还在跑。当然这也看运气。
至于 AI 补全,我的看法可能不太主流:在云端环境里它的价值反而降低了。因为环境是可复现的,报错信息更容易搜到,你本来就不需要记住本地路径和依赖版本。我半年下来用 AI 补全最多的场景,居然是在 Colab 里调 matplotlib 的样式参数。
四、算一笔账:免费额度到底够不够用
拿我的真实写法算:每周约 12 小时实际写码,其中 8 小时改前端(2 核够用),4 小时跑数据脚本(必须 4 核,pandas 吃内存)。
Codespaces:8 小时 × 4 周 × 2 核 = 64 core-hours,加上 4 小时 × 4 周 × 4 核 = 64 core-hours,一共 128,超了 120 的免费线。
Gitpod:12 小时 × 4 周 = 48 小时,卡在 50 小时免费线以内,但一点余量都没有,某周多开两次会就超。
所以结论是:免费额度适合「每周 10 小时以内、只用 2 核机型」的人。一旦你开始用它跑构建、跑测试、跑数据库,额度会以你完全没预料到的速度消失。付费大概是每月 10-20 美元这个量级,跟两杯手冲的差价差不多,但如果你是学生、项目又不赚钱,这笔钱的态度就完全不一样了。
还有个隐形成本没人提:云环境把你的电量消耗转移到了网络和浏览器上。 我用 M1 Air 开网页版 VS Code,风扇基本不转,电池能撑 6 小时以上;本地跑同一个项目,一次全量 build 就掉 20% 电。对我这种经常在外面写东西的人,这个收益比省硬盘更实在。
五、我现在的用法,以及我劝你别用的场景
说点我自己的做法,不保证适合你。
主力还是本地,因为我的依赖量不大,M1 8G 勉强够。云环境是「第二台机器」。新项目第一次看代码,直接 Codespaces 打开,不 clone 不装依赖,省下的 20 分钟是纯赚的。线上热修也用云环境,因为本地那个分支可能已经落后 master 三个星期,从最新 commit 起不容易出岔子。给朋友做 demo 用 StackBlitz,链接发过去 2 秒打开,不用解释怎么装 Node。
劝你别用的场景有三个:涉及内网数据库和公司私有源的活(企业云 IDE 的出口策略经常让你连不上内网,这个坑很深);需要长时间跑的重型构建(额度烧得比你想的快);以及网络只有手机热点而且信号不稳的时候——这时候在线编程带来的痛苦会超过它解决的所有问题。
在线编程这两年进步很大,但它解决的是「环境一致性」和「临时算力」两个问题,不是「我想要一台永远在线的免费电脑」。想清楚自己在解决哪个问题,剩下的选择其实很少。