原始地址:https://dev.to/jennasys/creating-react-applications-with-python-2je1
Full-Stack Python
让我先说说这个问题:
我真的很喜欢用Python进行编程,但我不是JavaScript的超级粉丝。 但让我们面对现实吧,JavaScript是Web的方式,而Python无法在Web浏览器中运行。那么故事的结局就写好了,对吗?嗯,并非如此快速,就像热门的TypeScript语言被转译成JavaScript在Web浏览器中运行一样,Transcrypt也为Python做同样的事情。
由于Transcrypt将Python的数据类型和语言构造映射到JavaScript的方式,你的Python代码能够利用现有的JavaScript库生态系统。Transcrypt充当了一个桥梁,使您能够利用现有的JavaScript Web应用程序技术,而不是试图重新发明它们。而且,它的工作方式不会显著影响应用程序性能,与使用纯JavaScript相比,也不需要大量的运行时模块下载到客户端。尽管我们使用JavaScript库,但我们不必使用JavaScript来使用它们的API。
Transcrypt的功能包括:
- 可以使用PIP进行安装
- Python代码在部署之前会被转译为JavaScript
- 它使用非常小的JavaScript运行时(~40K)
- 它可以生成用于在浏览器中调试Python的sourcemaps
- 生成的JavaScript代码可以被人类阅读
- 生成的JavaScript代码可以被压缩
- 性能与原生JavaScript相当
- 它将Python的数据类型和语言构造映射到JavaScript
- 它充当了Python和JavaScript世界之间的桥梁
- 它支持几乎所有的Python内置模块和语言构造
- 它只对纯Python的第三方Python库提供有限的支持
与其在Web浏览器应用程序中需要发出HTTP请求时转向urllib或requests库,不如使用window.fetch()或JavaScript的axios库。但是,您仍然可以使用Python编写来调用这些JavaScript库。
用npm来代替pip
大多数Python语言构造和内置模块都已在Transcrypt中实现,因此使用标准的Python对象,如列表、字典、字符串等,会感觉就像使用Python一样。但一般来说,除非库(及其依赖项)是纯Python,否则不支持第三方Python库。
这意味着,当您的Web浏览器应用程序需要发出HTTP请求时,不要转向urllib或requests库,而是使用window.fetch()或JavaScript的axios库。但是,您仍然可以使用Python编写来调用这些JavaScript库。
安装
使用Transcrypt非常简单。理想情况下,您应该为项目创建一个Python虚拟环境,并激活该环境,然后