Liminal:基于浏览器的 Laravel 开发 IDE,由 WebAssembly 提供支持
Liminal是基于浏览器的Laravel开发IDE,利用WebAssembly在浏览器中运行PHP8.4,无需服务器或本地安装即可编写、运行和预览应用。支持生成可共享URL,文件改动直接编码其中,无需注册。可通过文件系统同步或GitHub导入,导出为压缩包。局限性包括无法访问外部网络、仅支持SQLite且性能较慢。
Andrew Schmelyun 的 Liminal 是一个基于浏览器的 IDE,它最大的亮点是:你完全可以在浏览器中编写、运行和预览 Lara vel 应用,无需任何服务器设置,也无需本地安装。这一切得益于 WebAssembly 技术,它让 PHP 8.4 在浏览器里跑了起来。
开始
Liminal 的玩法跟普通 Composer 包不太一样——它不是让你在现有项目里安装,而是要你克隆仓库,在本地构建。具体步骤如下:
git clone https://github.com/aschmelyun/liminal cd liminal bun install cd app composer install --no-dev --optimize-autoloader cd .. bun run build bun run preview
bun run build 会把 Lara vel 应用打包到 public/app.zip,并顺便跑一遍类型检查。而 bun run preview 会启动本地开发服务器,然后在浏览器里打开 IDE。
分享与同步
比较有意思的一个功能是,它可以生成可共享的网址。文件改动会直接编码到 URL 里,所以你可以把工作示例的链接发出去,别人打开就能用,完全不需要注册或安装。
在本地开发场景下,Liminal 还支持通过文件系统访问 API 做文件夹同步,把虚拟文件系统镜像到你机器上的目录里。另外,你也可以直接从 GitHub 仓库导入,或者把工作成果导出为 .zip 文件。
局限性
当然,在 WebAssembly 里跑 PHP 总归有些取舍,了解这些限制有助于你判断是否适用:
- 无法从代码访问外部网络
- 预装的供应商目录无法修改
- 仅限 SQLite——不含 MySQL 或 PostgreSQL
- 性能比原生 PHP 慢
在引擎下
技术栈方面,项目用了 Vue 3、TypeScript、Vite、Tailwind CSS v4 和 CodeMirror 6,PHP 8.4 则通过 @php-wasm/web 这个包在浏览器里运行。
总的来说,这不仅是 WebAssembly 在生态中一个令人印象深刻的概念验证,也是一个很实用的工具——适合快速原型、实时演示,或者分享可复现的 Lara vel 示例,而不用每次都搭建完整环境。


































