Prohoster > Blog > tin tức mạng > Phát hành Brython 3.9, triển khai ngôn ngữ Python cho trình duyệt web
Phát hành Brython 3.9, triển khai ngôn ngữ Python cho trình duyệt web
được phát hành phát hành dự án Brython 3.9 (Browser Python) с реализацией языка программирования Python 3 для выполнения на стороне web-браузера, позволяющей использовать Python вместо JavaScript для разработки скриптов для Web. Код проекта написан на языке Python и phân phối bởi под лицензией BSD. Новый выпуск примечателен обеспечением совместимости с Python 3.9 и обновлением стандартной библиотеки.
Подключив библиотеки brython.js и brython_stdlib.js, web-разработчик может sử dụng язык 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-сценариях đóng к производительности CPython. Задержка возникает только на этапе компиляции, но для её устранения предоставляется возможность загрузки предварительно скомпилированного в JavaScript кода, которая применяется для ускорения загрузки стандартной библиотеки (Brython cung cấpcông cụ для создания JavaScript-библиотек на основе модулей Python).
<script type=»text/python»>
thời gian nhập khẩu
nhập toán
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()
khác:
content.select_one(‘.navig_zone’).html = «canvas is not supported»