Uma nova versão do "Python para navegadores" foi lançada, conheça Brython 3.9



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.






All Articles