11.10.2020       Выпуск 355 (05.10.2020 - 11.10.2020)       Статьи

Вышел новый релиз «Python для браузеров», встречаем Brython 3.9

Разработчики проекта Brython Python выпустили новый релиз, Brython 3.9. Сам проект позиционируется, как «Python для браузера». Он основан на Python 3 и выполняется на стороне браузера, причем для разработки веб-скриптов вместо JavaScript используется Python.

Код проекта написан на Python и распространяется под лицензией BSD. Новый релиз совместим с Python 3.9, плюс обновлена стандартная библиотека.

Читать>>




Экспериментальная функция:

Ниже вы видите текст статьи по ссылке. По нему можно быстро понять ссылка достойна прочтения или нет

Просим обратить внимание, что текст по ссылке и здесь может не совпадать.

Код Brython Python (на скриншоте — версия 3.8.8)

Разработчики проекта Brython Python

выпустили

новый релиз,

Brython 3.9

. Сам проект позиционируется, как «Python для браузера». Он основан на Python 3 и выполняется на стороне браузера, причем для разработки веб-скриптов вместо JavaScript используется Python.

Код проекта написан на Python и распространяется под лицензией BSD. Новый релиз совместим с Python 3.9, плюс обновлена стандартная библиотека.

Для того, чтобы определять логику работы сайта на стороне клиента, используя Python вместо JS, веб-разработчику необходимо подключить две библиотеки, brython.js и brython_stdlib.js. Для подключения Python-кода на странице, используется тег

script

с mime-типом

text/python

.

Со стороны Brython разрешено как встраивать код на страницу, так и загружать внешние скрипты. Пример:

<script type="text/python" src="test.py">

Из скрипта предоставляется полный доступ к элементам и событиям DOM. Кроме доступа к стандартной библиотеке Python есть и специализированные библиотеки для работы с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael.

Поддерживается использование CSS-фреймворков JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael.

Python-блоки выполняются из блоков

script

через предварительную компиляцию кода, которая выполняется обработчиком Brython после загрузки страницы. Компиляция запускается при помощи вызова функции

brython()

, например через добавление

body onload="brython()"

.

На основе кода Python формируется представление на языке JS, затем оно выполняется штатным JavaScript-движком браузера.

Что касается производительности, то большинство операций во встраиваемых в web-страницы Python-сценариях близка к производительности Cpython. Единственный момент, когда возникает задержка — это этап компиляции. Но задержку можно устранить при помощи предварительно скомпилированного в JavaScript кода, которая используется для ускорения загрузки стандартной библиотеки.

<script type="text/python">
 
import time
import math
 
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()
else:
    content.select_one('.navig_zone').html = "canvas is not supported"
 
</script>

Подробнее о запуске Brython

Для того, чтобы «Python для браузера» мог как транслировать, так и исполнять Python-код подобно JS-коду, требуется вызывать Brython в момент загрузки тела документа.

<body onload="brython()">

В этом случае тег ищет теги script с типом text/python и запускает код. Для того, чтобы использовать API для работы с вебом, разработчики Brython реализовали простое решение — импорт API, аналогичный импорту любого иного модуля на Python:

from browser import document, html, window

Brython справляется со всем сам, так что дополнительные команды выполнять не нужно.

Важный момент — для работы с Brython необходим опыт работы с JavaScript, хотя бы базовый уровень. Без этого разобраться будет довольно сложно.






Разместим вашу рекламу

Пиши: mail@pythondigest.ru

Нашли опечатку?

Выделите фрагмент и отправьте нажатием Ctrl+Enter.

Система Orphus