uvedenie projektu (Browser Python) s implementáciou programovacieho jazyka Python 3 na vykonávanie na strane webového prehliadača, umožňujúca používať Python namiesto JavaScriptu na vývoj skriptov pre web. Kód projektu je napísaný v jazyku Python a pod licenciou BSD. Nové vydanie je pozoruhodné zabezpečením kompatibility s a aktualizáciou štandardnej knižnice.
Pripojením knižníc a , webový vývojár môže využívať jazyk Python na definovanie logiky fungovania webovej stránky na strane klienta, aplikovaním Pythonu namiesto JavaScriptu. Na zahrnutie Python kódu na stránky sa používa tag s mime-typom „text/python“. Povolené je ako vkladanie kódu na stránku, tak aj načítanie externých skriptov (). Z skriptu je poskytnutý plný prístup k elementom a udalostiam DOM.
Okrem prístupu k štandardnej knižnici Python sú ponúkané špecializované knižnice na interakciu s DOM a JavaScriptovými knižnicami, ako sú jQuery, D3, Highcharts a Raphael. Podporuje sa používanie CSS rámcov Bootstrap3, LESS a SASS.
Spustenie Python kódu z blokov <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект ponúka na vykonávanie Python kódu v prehliadači skompilovaný do asm.js interpretátor CPython, a realizuje interpretátor na JavaScripte).
Konečný výkon väčšiny operácií vo vkladaných do webových stránok Python skriptoch k výkonu CPython. Zdržanie nastáva iba počas fázy kompilácie, ale na jej odstránenie je poskytnutá možnosť načítania predkompilovaného JavaScript kódu, ktorý sa používa na urýchlenie načítania štandardnej knižnice (Brython na vytváranie JavaScriptových knižníc založených na moduloch 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 is not supported"
</script>
Zdroj: opennet.ru
