Vydání Brython 3.9, implementace jazyka Python pro webové prohlížeče

Byl zveřejněn uvolnění projektu Brython 3.9 (Browser Python) s implementací programovacího jazyka Python 3 pro běh na straně webového prohlížeče, který umožňuje používat Python místo JavaScriptu pro vývoj skriptů pro web. Kód projektu je napsán v jazyce Python a distribuováno je pod licencí BSD. Nová verze se vyznačuje zajištěním kompatibility s Python 3.9 a aktualizací standardní knihovny.

Připojením knihoven brython.js a brython_stdlib.js, webový vývojář může použít použít jazyk Python pro definování logiky fungování webu na straně klienta, a to použitím Pythonu místo JavaScriptu. Pro vložení Python kódu na stránky se používá tag s mime-typem „text/python“. Je povoleno jak vkládání kódu přímo na stránku, tak i načítání externích skriptů (). Ze skriptu je poskytován plný přístup k elementům a událostem DOM.
Kromě přístupu ke standardní knihovně Python jsou nabízeny specializované knihovny pro interakci s DOM a JavaScriptovými knihovnami, jako jsou jQuery, D3, Highcharts a Raphael. Podporuje se použití CSS frameworků jako Bootstrap3, LESS a SASS.

Spuštění kódu Python z bloků <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js nabízí pro vykonání Python kódu v prohlížeči interpret CPython, který je zkompilován do asm.js, a Skulpt realizuje interpreter v JavaScriptu).

Konečná výkonnost většiny operací ve webových Python skriptech je blízká výkonnosti CPython. Zpoždění vzniká pouze v době kompilace, ale pro jeho odstranění je k dispozici možnost načítání předkompilovaného JavaScript kódu, což se používá k urychlení načítání standardní knihovny (Brython poskytuje nástroje pro vytváření JavaScriptových knihoven na základě modulů 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

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster