rilascio del progetto (Browser Python) con implementazione del linguaggio di programmazione Python 3 per l'esecuzione lato browser, che permette di utilizzare Python al posto di JavaScript per lo sviluppo di script web. Il codice del progetto è scritto in Python e sotto licenza BSD. Il nuovo rilascio è notevole per il supporto della compatibilità con e per l'aggiornamento della libreria standard.
Collegando le librerie e , il web developer può utilizzare il linguaggio Python per definire la logica del sito client-side, impiegando Python al posto di JavaScript. Per includere codice Python nelle pagine si utilizza il tag con mime type «text/python». È consentita sia l'integrazione del codice nella pagina, sia il caricamento di script esterni (). Dallo script è fornito pieno accesso agli elementi e agli eventi DOM.
Oltre all'accesso alla libreria standard di Python, sono disponibili librerie specializzate per interagire con il DOM e le librerie JavaScript, come jQuery, D3, Highcharts e Raphael. È supportato l'uso di framework CSS come Bootstrap3, LESS e SASS.
Esecuzione di codice Python da blocchi <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект offre un interprete CPython compilato in asm.js per l'esecuzione di codice Python nel browser, e implementa un interprete in JavaScript).
Le prestazioni finali della maggior parte delle operazioni negli script Python incorporati nelle pagine web alle prestazioni di CPython. Il ritardo si verifica solo nella fase di compilazione, ma per eliminarlo è possibile caricare codice già compilato in JavaScript, che viene utilizzato per accelerare il caricamento della libreria standard (Brython per la creazione di librerie JavaScript basate su moduli 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 non è supportato"
</script>
Fonte: opennet.ru
