Lansarea Brython 3.9, implementări ale limbajului Python pentru browsere web

publicat lansarea proiectului Brython 3.9 (Browser Python) с реализацией языка программирования Python 3 для выполнения на стороне web-браузера, позволяющей использовать Python вместо JavaScript для разработки скриптов для Web. Код проекта написан на языке Python и distribuit de под лицензией BSD. Новый выпуск примечателен обеспечением совместимости с Python 3.9 и обновлением стандартной библиотеки.

Подключив библиотеки brython.js и brython_stdlib.js, web-разработчик может pentru a utiliza язык Python для определения логики работы сайта на стороне клиента, применяя Python вместо JavaScript. Для включения Python-кода на страницы используется тег <script> с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (<script type=»text/python» src=»test.py»>). Из скрипта предоставляется полный доступ к элементам и событиям DOM.
Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

Выполнение Python-кода из блоков <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload=»brython()»>». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

Итоговая производительность большинства операций во встраиваемых в web-страницы Python-сценариях închide к производительности CPython. Задержка возникает только на этапе компиляции, но для её устранения предоставляется возможность загрузки предварительно скомпилированного в JavaScript кода, которая применяется для ускорения загрузки стандартной библиотеки (Brython furnizează unelte для создания JavaScript-библиотек на основе модулей Python).

<script type=»text/python»>

timp de import
import matematica

from browser import document
import browser.timer

content = document[«content»]

...

canvas = content.select_one(«.clock»)

if hasattr(canvas, ‘getContext’):
ctx = canvas.getContext(«2d»)

browser.timer.set_interval(set_clock, 100)
show_hours()
altceva:
content.select_one(‘.navig_zone’).html = «canvas is not supported»

Sursa: opennet.ru

Adauga un comentariu