Издание на Brython 3.9, реализация на езика Python за уеб браузъри

Публикувано релиz на проекта Brython 3.9 (Browser Python) с реализация на програмен език Python 3 за изпълнение на страна на уеб браузъра, което позволява използването на Python вместо JavaScript за разработка на скриптове за уеб. Кодът на проекта е написан на езика Python и разпространява под лиценция BSD. Новото издание е забележително с осигуряването на съвместимост с Python 3.9 и обновление на стандартната библиотека.

Свързвайки библиотеки brython.js и brython_stdlib.js, уеб разработчикът може да се използва да използва езика 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).

Крайната производителност на повечето операции във вградени в уеб страници Python скриптове е близка до производителността на CPython. Забавянето възниква само на етапа на компилация, но за неговото отстраняване се предоставя възможност за зареждане на предварително компилиран JavaScript код, който се прилага за ускоряване на зареждането на стандартната библиотека (Brython предоставя инструментариум за създаване на JavaScript библиотеки върху модули на Python).

<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 не се поддържа»

<\/script>

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster