最近,一个基于WebAssembly的在线代码编辑器引起了我的注意,它名为Shift.js。这个编辑器支持Python、Lua、Ruby等多种编程语言,并且可以在浏览器中直接运行代码,无需后端支持。这意味着除了首次加载WASM资源外,代码运行几乎不受网络延迟的影响,可以迅速显示出运行结果。此外,它还能生成分享链接,方便用户分享代码和查看运行效果。

Shift.js的网页地址是https://shift.js.org/,而源码地址则是https://github.com/hubenchang0515/shift。在网页上,你可以找到各种语言的示例代码,比如杨辉三角和斐波那契数列,这些都是通过Shift.js运行并展示结果的。

此外,Shift.js还提供了NPM包和CDN链接,使得任何开发者都可以轻松地在自己的项目中加载WASM资源,实现在线代码运行。例如,你可以通过以下HTML和JavaScript代码,在网页上直接运行Python代码:

<html>
    <body>
        <!-- 用于显示结果的 HTML 元素 -->
        <pre id="output"></pre>
        <script type="module">
            // 加载 js 资源
            import python from "https://shift.js.org/wasm/python.js";
            import makeConfig from "https://shift.js.org/wasm/common.js";

            // 要运行的代码
            const code =
`import platform
import sys
print(sys.version)
print(platform.platform())
`;

            // 回调函数:获取运行结果
            const fn = (stdout) => document.querySelector("#output").innerText = stdout;

            // 运行代码
            python(makeConfig(code, fn));
        </script>
    </body>
</html>

通过这种方式,开发者可以快速地在网页上实现代码的编写和运行,极大地提高了开发效率。

标签: none

评论已关闭