jaspy
1.0.0
Jaspy是Python VM,完全由JavaScript从头开始,具有一些独特的功能。 Jaspy支持多个线程,并带有一个集成的调试器,该调试器提供远程调试,并提供灵活的基于预处理的体系结构。速度明确不是该项目的主要目标。 Jaspy旨在说明如何通过探索新方法来完成客户端的Web编程。
Jaspy配备了集成开发服务器和交互式调试器!
首先安装依赖项,如果尚未安装:
pip3 install --user -r requirements.txt
pip3 install --user ptpython pygments克隆存储库并构建解释器:
git clone --recursive https://github.com/koehlma/jaspy.git ; cd jaspy
python3 build.py # build the interpreter切换到示例目录并在交互模式下启动服务器:
cd example
PYTHONPATH=../ python3 -m jaspy.cli --interactive请访问http:// localhost:8080/hello.html浏览器,然后单击运行:
那里已经有许多其他Python到JavaScript方法:
他们中的大多数都比jaspy快,但没有一个提供Jaspy的独特功能,Jaspy是带有螺纹支持,集成调试器和灵活的,基于预处理的架构的完全悬挂解释器。
只是为了给人留下深刻的印象!
| 石石/秒 | |
|---|---|
| jaspy(启用调试器,启用线程) | 195 |
| Jaspy(禁用调试器,启用线程) | 199 |
| Jaspy(禁用调试器,禁用线程) | 206 |
| 布莱顿 | 4184 |
| pypy.js(冷) | 41425 |
| pypy.js(温暖) | 847457 |
但是,这是一个不公平的基准测试,因为没有进行DOM操纵或其他任何浏览器特定的操作。令人惊讶的是,线程和调试几乎没有开销。
该项目仍处于α国家。 API不稳定,未经测试,尚未准备好生产性。上面列出的一些功能尚未实现。
我在学期休息时开始了这个项目,现在,随着新学期的开始,我的业余时间要少得多。因此,可能需要一段时间才能投入更多时间。但是,我非常欢迎各种贡献。
如果您喜欢Jaspy的想法随时加入,那么有很多事情要做:
请随时贡献或询问是否有关于代码或一般贡献的过程不清楚的。
| libs: | 第三方依赖性 |
|---|---|
| 模块: | 捆绑的本机JavaScript模块 |
| SRC: | JavaScript源文件(需要预处理) |
| Jaspy: | Python服务器,转换器和远程调试器 |
非常感谢Brython项目为内置级代码的许多部分提供了灵感。非常感谢“ 500行或更少的行”这本书,如果您想知道口译员的工作原理,这是一个很好的起点。