Web ブラウザ用の Python 言語の実装である Brython 3.11 のリリース

Brython 3.11 (ブラウザ Python) プロジェクトのリリースには、Web ブラウザ側で実行する Python 3 プログラミング言語の実装が提供されており、JavaScript の代わりに Python を使用して Web 用のスクリプトを開発できるようになります。 プロジェクト コードは Python で書かれており、BSD ライセンスに基づいて配布されます。

brython.js および brython_stdlib.js ライブラリを含めることにより、Web 開発者は Python 言語を使用して、JavaScript の代わりに Python を使用してクライアント側でサイトのロジックを定義できます。 ページに 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).

Web ページに埋め込まれた Python スクリプトのほとんどの操作の最終的なパフォーマンスは、CPython のパフォーマンスに近くなります。 遅延はコンパイル段階でのみ発生しますが、遅延を解消するために、プリコンパイルされた JavaScript コードをロードする機能が提供されており、これは標準ライブラリのロードを高速化するために使用されます (Brython は、Python モジュールに基づいて JavaScript ライブラリを作成するためのツールを提供します) )。

新しいリリースは、CPython 3.11 との互換性を提供し、例外グループと「excel*」式のサポート、診断メッセージでの問題のある式の詳細、例外へのメモの添付など、このブランチの新機能のほとんどを実装していることで注目に値します。

出所: オープンネット.ru

コメントを追加します