发布 Brython 3.11,用于 Web 浏览器的 Python 语言实现

Brython 3.11(浏览器 Python)项目的发布提供了在 Web 浏览器端执行的 Python 3 编程语言的实现,允许使用 Python 而不是 JavaScript 来开发 Web 脚本。 该项目代码是用 Python 编写的,并在 BSD 许可证下分发。

通过包含 brython.js 和 brython_stdlib.js 库,Web 开发人员可以使用 Python 语言在客户端定义网站的逻辑,使用 Python 而不是 JavaScript。 要在页面上包含 Python 代码,请使用标签 с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

从块中执行 Python 代码 производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

网页中嵌入的Python脚本的大部分操作的最终性能都接近CPython的性能。 这种延迟只发生在编译阶段,但为了消除它,提供了加载预编译的 JavaScript 代码的能力,用于加速标准库的加载(Brython 提供了基于 Python 模块创建 JavaScript 库的工具) )。

新版本的显着之处在于提供了与 CPython 3.11 的兼容性,并实现了该分支的大部分新功能,包括对异常组和“except*”表达式的支持、在诊断消息中详细说明有问题的表达式以及为异常附加注释。

来源: opennet.ru

添加评论