
Código Brython Python (captura de tela - versão 3.8.8)
Os desenvolvedores do projeto Brython Python lançaram uma nova versão, Brython 3.9 . O próprio projeto é posicionado como "Python para o navegador". Ele é baseado em Python 3 e executado no lado do navegador, usando Python em vez de JavaScript para desenvolver scripts da web.
O código do projeto é escrito em Python e distribuído sob a licença BSD. A nova versão é compatível com Python 3.9, mais a biblioteca padrão foi atualizada.
Para definir a lógica do site do lado do cliente usando Python em vez de JS, o desenvolvedor da web precisa incluir duas bibliotecas, brython.js e brython_stdlib.js. Para conectar o código Python em uma página, uma tag de script com um tipo mime text / python é usada .
Do lado do Brython, é permitido embutir o código na página e carregar scripts externos. Exemplo:
<script type="text/python" src="test.py">
Acesso total aos elementos e eventos DOM é fornecido a partir do script. Além de acessar a biblioteca padrão do Python, existem bibliotecas especializadas para trabalhar com as bibliotecas DOM e JavaScript, como jQuery, D3, Highcharts e Raphael.
O uso de estruturas CSS é suportado por bibliotecas JavaScript, como jQuery, D3, Highcharts e Raphael.
Os blocos Python são executados a partir de blocos de script por meio da pré-compilação de código, que é executada pelo mecanismo Brython após o carregamento da página. A compilação é iniciada chamando a função brython () , por exemplo, adicionando
body onload="brython()"
.
Com base no código Python, uma representação JS é formada e, em seguida, executada pelo mecanismo JavaScript padrão do navegador.
Em termos de desempenho, a maioria das operações em scripts Python embutidos em páginas da web está perto do desempenho do Cpython. A única vez que ocorre um atraso é durante a fase de compilação. No entanto, o atraso pode ser eliminado pelo código JavaScript pré-compilado, que é usado para acelerar o carregamento da biblioteca padrão.
<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>
Mais sobre como administrar Brython
Para que "Python para o navegador" seja capaz de traduzir e executar código Python como código JS, você precisa chamar Brython quando o corpo do documento for carregado.
<body onload="brython()">
Nesse caso, a tag procura por tags de script do tipo text / python e executa o código. Para usar a API para trabalhar com a web, os desenvolvedores do Brython implementaram uma solução simples - importar uma API, semelhante a importar qualquer outro módulo em Python:
from browser import document, html, window
Brython lida com tudo por conta própria, portanto, nenhum comando extra precisa ser executado.
Um ponto importante - para trabalhar com Brython, você precisa de experiência com JavaScript, pelo menos um nível básico. Sem isso, será muito difícil descobrir.
