lançamento do projeto (Browser Python) com implementação da linguagem de programação Python 3 para execução no lado do navegador web, permitindo usar Python em vez de JavaScript para o desenvolvimento de scripts para a Web. O código do projeto é escrito em Python e é licenciado sob a licença BSD. O novo lançamento é notável por garantir compatibilidade com e pela atualização da biblioteca padrão.
Conectando bibliotecas e , o desenvolvedor web pode usar Python para definir a lógica do funcionamento do site no lado do cliente, aplicando Python em vez de JavaScript. Para incluir código Python nas páginas, utiliza-se a tag com o tipo mime 'text/python'. É permitido tanto embutir o código na página quanto carregar scripts externos (). A partir do script, tem-se acesso total aos elementos e eventos do DOM.
Além do acesso à biblioteca padrão do Python, são oferecidas bibliotecas especializadas para interação com o DOM e bibliotecas JavaScript, como jQuery, D3, Highcharts e Raphael. O suporte para o uso de frameworks CSS como Bootstrap3, LESS e SASS é garantido.
Execução de código Python a partir de blocos <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект oferece um interpretador CPython compilado em asm.js para execução de código Python no navegador, enquanto implementa um interpretador em JavaScript).
O desempenho final da maioria das operações em scripts Python embutidos em páginas web ao desempenho do CPython. A latência ocorre apenas na fase de compilação, mas para eliminá-la, é oferecida a possibilidade de carregar código previamente compilado em JavaScript, que é utilizado para acelerar o carregamento da biblioteca padrão (Brython para criar bibliotecas JavaScript baseadas em módulos 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 não é suportado'
</script>
Fonte: opennet.ru
