Udgivelsen af Brython 3.9, implementationen af Python-sproget til web-browsere

Publiceret projektudgivelse Brython 3.9 (Browser Python) med implementeringen af programmeringssproget Python 3 til kørsel i web-browseren, der gør det muligt at bruge Python i stedet for JavaScript til udvikling af scripts til web. Projektkoden er skrevet i Python og distribueres under BSD-licens. Den nye udgivelse er bemærkelsesværdig for at sikre kompatibilitet med Python 3.9 og opdateringen af standardbiblioteket.

Ved at tilslutte biblioteker brython.js og brython_stdlib.js, kan web-udvikleren bruges bruge Python til at definere logikken i arbejdet på klientsiden af webstedet, hvilket anvender Python i stedet for JavaScript. For at inkludere Python-kode på siderne anvendes tagget med mime-typen «text/python». Både indlejring af kode på siden og indlæsning af eksterne scripts () er tilladt. Fra scriptet er der fuld adgang til DOM-elementer og -begivenheder.
Udover adgangen til Python-standardbiblioteket tilbydes specialiserede biblioteker til interaktion med DOM og JavaScript-biblioteker som jQuery, D3, Highcharts og Raphael. Brug af CSS-frameworks som Bootstrap3, LESS og SASS understøttes.

Kørsel af Python-kode fra blokke <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js tilbyder en fortolker til udførelse af Python-kode i browseren, der er kompileret til asm.js, og Skulpt implementerer en fortolker i JavaScript).

Den samlede ydeevne af de fleste operationer i indlejrede Python-scripts i web-siderne er tæt på ydelsen fra CPython. Der opstår kun forsinkelse under kompileringen, men for at afhjælpe dette tilbydes muligheden for at indlæse allerede kompileret JavaScript-kode, som bruges til at fremskynde indlæsningen af standardbiblioteket (Brython tilbyder værktøjer til at oprette JavaScript-biblioteker baseret på Python-moduler).

<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>

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster