这个网站是做什么的
在线代码运行(run.ban.show)是一个纯前端的在线代码运行器,目标是让编程初学者跳过「配环境」这道最劝退的门槛,把注意力放在代码本身上。
技术上怎么做到的
网站没有任何后端执行服务。所有语言的运行环境都通过 WebAssembly 或浏览器沙箱在前端完成:
- Python —— Pyodide 把 CPython 解释器和标准库编译成 WebAssembly,浏览器里跑的是真正的 Python 3.14。
- JavaScript —— 使用浏览器自带的 JS 引擎,代码放在独立的 Web Worker 沙箱中执行,可随时终止。
- TypeScript —— 用约 200 KB 的浏览器端编译器把 TS 转成 JS 后立即执行。
- SQL —— sql.js 把 SQLite 编译成 WebAssembly,是一个真正可用的内存数据库。
我们坚持的三件事
代码不上传。 你在编辑器里写的内容从头到尾只存在于你自己的浏览器内存和 localStorage 里,没有任何一个请求会把代码发到服务器。
不用注册。 没有账号体系、没有使用次数限制、没有强制登录弹窗。
报错说人话。 保留原始错误信息(traceback、堆栈、SQLite 报错),同时补上中文解释和定位到行的提示。
已知限制
- Python 只支持标准库,第三方库(numpy、pandas 等)需要联网下载,暂不支持。
- 沙箱内不能联网、不能读写本地文件、不能操作网页 DOM。
- TypeScript 只做编译执行,不做类型检查。
- 长时间运行的程序会在超时后自动中止。
联系我们
有任何建议、报错反馈或想支持的语言,欢迎写信到 contact@ban.show。