lansarea proiectului (Browser Python) cu implementarea limbajului de programare Python 3 pentru executarea pe partea client a web-ului, permițând utilizarea Python în loc de JavaScript pentru dezvoltarea scripturilor pentru Web. Codul proiectului este scris în limbajul Python și sub licența BSD. Noua lansare se remarcă prin asigurarea compatibilității cu și actualizarea bibliotecii standard.
Conectând bibliotecile și , dezvoltatorul web poate folosi limbajul Python pentru a defini logica funcționării site-ului pe partea client, aplicând Python în loc de JavaScript. Pentru a include cod Python pe pagini se folosește eticheta cu tipul mime „text/python”. Se permite atât integrarea codului în pagină, cât și încărcarea scripturilor externe (). Din script se oferă acces complet la elementele și evenimentele DOM.
Pe lângă accesul la biblioteca standard Python, se oferă biblioteci specializate pentru interacțiunea cu DOM-ul și bibliotecile JavaScript, cum ar fi jQuery, D3, Highcharts și Raphael. Se suportă utilizarea framework-urilor CSS Bootstrap3, LESS și SASS.
Executarea codului Python din blocuri <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект oferă pentru executarea codului Python în browser un interpret CPython compilat în asm.js, iar implementează un interpret în JavaScript).
Performanța finală a majorității operațiunilor în scripturile Python integrate în paginile web de performanța CPython. Întârzierea apare doar în etapa de compilare, dar pentru a o elimina se oferă posibilitatea încărcării codului precompilat în JavaScript, care este aplicat pentru accelerarea încărcării bibliotecii standard (Brython pentru crearea de biblioteci JavaScript bazate pe module 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>
Sursa: opennet.ro
