Pharo 在浏览器中通过 WebAssembly 运行

Pharo in the Browser with WebAssembly

Pharo 虚拟机现在可以直接在浏览器中运行,这要归功于 WebAssembly 技术。用户无需安装任何本地环境,即可在网页中体验完整的 Smalltalk 开发环境,包括文件管理、代码编辑和版本控制功能。支持加载 Pharo 13.1、14 和 15 等多个版本镜像,并允许通过 Git 或 HTTP 代理进行代码同步。所有操作都在浏览器本地完成,数据仅保存在当前会话中,确保隐私安全。这一突破让 Pharo 的交互式开发体验触手可及,为开发者提供了全新的实验与协作方式。

你可以选择让请求直接发送到 Git 主机,或者通过你信任的代理进行传输。
  1. jsrcout

    我至今仍记得 1981 年《Byte》杂志那一期关于 Smalltalk 的内容 [0]。对当时还是高中生的我来说,那绝对是未来。它看起来太酷了。可惜我没法在自家的 Apple II+ [1] 上尝试一下。

    近年来尝试过各种 Smalltalk 家族的系统,让我深刻体会到将整个系统用一种语言实现并运行在一个镜像(image)中的优势。一切都显得连贯且可预测,充满了令人耳目一新的简洁感,而非分形般的复杂性。

    你可以在单个窗口中浏览整个代码库——语言/编译器、数学运算(除了基础原语我相信是特例)、数据结构、图形、窗口系统,所有这些都组织得井井有条。方法(Methods),即使是关键方法,大多也很小巧、直截了当且没有冗余代码。很多方法甚至只有一两行。

    Smalltalk 赋予了开发者巨大的力量。你直接“在代码中”工作;你的修改会立即生效。你可以 trivially(轻而易举地)修改系统本身——只需过去开始打字即可。这一切都在同一个浏览器窗口中完成。你可以轻松查看任何正在运行的程序内部,修改其数据甚至代码,然后继续运行。即便现在,这感觉依然充满未来感。

    开箱即用即可获得强大的图形和窗口系统,而不是像通常那样,你需要挑选 OpenGL/Vulkan/GUI/DOM 库,并配置 make/rpm/docker/pip/npm 等工具。这大概是目前为止最具“科幻色彩”的方面。

    简而言之,这就是我刚开始编程时认为可能实现的《杰森一家》(The Jetsons)式的未来。而我们实际得到的未来,却是……

同日更多故事

2026-11-11