Uitgave Brython 3.9, implementatie van de programmeertaal Python voor web-browsers

Gepubliceerd projectrelease Brython 3.9 (Browser Python) met de implementatie van de programmeertaal Python 3 voor uitvoering aan de clientzijde van de web-browser, waardoor Python in plaats van JavaScript kan worden gebruikt voor het ontwikkelen van scripts voor het web. De projectcode is geschreven in Python en wordt verspreid onder de BSD-licentie. De nieuwe uitgave is opmerkelijk vanwege de compatibiliteit met Python 3.9 en de update van de standaardbibliotheek.

Door bibliotheken te koppelen brython.js en brython_stdlib.js, kan de webontwikkelaar gebruikt de programmeertaal Python gebruiken om de logica van de website aan de clientzijde te bepalen, waarbij Python in plaats van JavaScript wordt toegepast. Voor het insluiten van Python-code op pagina's wordt de tag met mime-type 'text/python' gebruikt. Zowel insluiting van code op de pagina als het laden van externe scripts () is toegestaan. Vanuit het script is er volledige toegang tot elementen en gebeurtenissen van de DOM.
Naast de toegang tot de standaardbibliotheek van Python worden gespecialiseerde bibliotheken aangeboden voor interactie met de DOM en JavaScript-bibliotheken, zoals jQuery, D3, Highcharts en Raphael. Het gebruik van CSS-frameworks zoals Bootstrap3, LESS en SASS wordt ondersteund.

Uitvoeren van Python-code vanuit blokken <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js biedt voor de uitvoering van Python-code in de browser een geïmplementeerde interpreter CPython, die is gecompileerd naar asm.js, en Skulpt heeft een interpreter geïmplementeerd in JavaScript).

De uiteindelijke prestaties van de meeste bewerkingen in de in webpagina's ingebedde Python-scripts zijn dichtbij de prestaties van CPython. Vertraging ontstaat alleen in de compilatiefase, maar om dit te verhelpen is er de mogelijkheid om vooraf gecompileerde JavaScript-code te laden, die wordt toegepast om de laadtijd van de standaardbibliotheek te versnellen (Brython biedt hulpmiddelen voor het creëren van JavaScript-bibliotheken op basis van Python-modules).

<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 wordt niet ondersteund'

</script>

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster