Brython

3 – Web
3.2 – Frontend (transpilado)
3.2.1 – PyScript (roda Python no navegador)
3.2.2 – Brython
3.2.3 – Transcrypt
LEGENDA
Nivel_1
Nivel_2
Nivel_3

Brython implementa Python 3 diretamente dentro do navegador. Assim, você escreve frontend inteiro usando apenas Python. Primeiramente, isso elimina a necessidade de aprender JavaScript. Por exemplo, a manipulação do DOM usa sintaxe Python pura. Além disso, Brython pesa menos de 1 MB (bem leve). Consequentemente, o carregamento inicial é muito rápido. Quando utilizar Brython? Em projetos pequenos e educacionais. Da mesma forma, é ótimo para programadores Python resistentes ao JS. No entanto, a performance fica abaixo do JavaScript nativo. Portanto, use Brython em protótipos, formulários e automação simples. Vamos explorar seus recursos com exemplos práticos. Três subtítulos guiarão você pelo universo Brython.

Primeiros passos com brython

Para usar Brython, inclua o script principal no HTML. Então, baixe do CDN ou instale localmente via npm. Depois, adicione a tag <script type="text/python">. Todo código Python dentro dela será executado normalmente. Você também precisa chamar brython() após o carregamento. Isso inicializa o interpretador e conecta os elementos da página. Assim, as funções ficam registradas para interação. Exemplo mínimo de página com Brython:

Salve como brython_exemplo.html e abra no navegador. O módulo browser fornece acesso completo ao DOM. A sintaxe lembra o JavaScript, mas permanece 100% Python. Portanto, a barreira de entrada cai drasticamente para devs Python.

Manipulação do dom e eventos

Brython oferece o módulo browser como ponte para o DOM. Você seleciona elementos com document["id"] ou document.select(".classe"). Além disso, eventos se vinculam com element.bind("click", funcao). O módulo browser.ajax permite chamadas assíncronas ao servidor. Toda a lógica do frontend pode ser escrita em Python puro. Então, quando usar essa abordagem? Em formulários interativos. Também em jogos simples ou animações controladas por Python. Por outro lado, loops pesados sofrerão com performance reduzida. Para gráficos ou cálculos intensos, prefira JavaScript ou WebAssembly. Um exemplo de manipulação de lista dinâmica:

Note o operador <= para adicionar elementos filhos. Essa é uma peculiaridade que torna o código mais legível. Assim, a atualização do DOM acontece de forma declarativa.

Brython vs. pyscript: qual escolher?

Brython é mais leve e carrega muito mais rápido. Ele não depende de WebAssembly, apenas JavaScript puro. Portanto, funciona em navegadores mais antigos sem problemas. PyScript é mais pesado, mas suporta NumPy e Pandas. Então, quando usar Brython? Em projetos sem bibliotecas científicas. Por exemplo, formulários, validações e jogos simples. PyScript se destaca em data science e visualizações pesadas. A fórmula de escolha pode ajudar na decisão: \(Escolha = \begin{cases} \text{Brython} & \text{se apenas Python puro} \\ \text{PyScript} & \text{se precisar de NumPy/Matplotlib} \end{cases}\) Ambos permitem reutilizar código Python existente no frontend. Brython tem uma comunidade menor, mas existe desde 2012. PyScript é mais novo e promissor, porém ainda instável. Para aprendizado e protótipos rápidos, Brython é excelente. Além disso, ele pode integrar com Vue ou React como “glue code”. Experimente migrar um pequeno projeto de JS para Brython. A sensação de escrever frontend em Python é libertadora. Comece hoje mesmo e nunca mais sofra com ponto e vírgula!

PyScript

python
3 – Web
3.2 – Frontend (transpilado)
3.2.1 – PyScript (roda Python no navegador)
3.2.2 – Brython
3.2.3 – Transcrypt
LEGENDA
Nivel_1
Nivel_2
Nivel_3

PyScript é um framework que executa código Python diretamente no HTML. Ele usa WebAssembly (Wasm) como tecnologia base para isso. Primeiramente, não é necessário instalar nada no servidor. Todo o processamento acontece na máquina do usuário. Por exemplo, você pode escrever <py-script>print("Olá")</py-script>. O navegador executa esse código como se fosse JavaScript. A voz passiva é usada aqui: “o interpretador CPython é compilado para Wasm”. Quando utilizar PyScript? Em protótipos rápidos e demonstrações. Também é útil para ensinar Python sem instalação local. No entanto, evite para aplicações críticas ou pesadas. A biblioteca ainda é jovem e tem limitações de performance. Vamos explorar seus recursos, vantagens e desvantagens. Três subtítulos detalham os principais aspectos práticos.

Instalação e primeiro código com pyscript

Para usar PyScript, basta incluir dois arquivos CSS e JS no HTML. Eles são servidos via CDN (rede de distribuição de conteúdo). Não há necessidade de pip, virtualenv ou servidor especial. Todo o código Python fica dentro de tags <py-script>. Além disso, você pode importar bibliotecas como NumPy ou Matplotlib. Elas também são carregadas via WebAssembly. A voz passiva é aplicada: “o código é executado após a página carregar”. Exemplo completo de uma página PyScript mínima:

Esse código cria uma calculadora funcional sem backend. O Python acessa o DOM via objeto js (bridge JavaScript). A função create_proxy converte funções Python em callbacks JS. Salve como .html e abra no navegador. Funciona no Chrome, Firefox e Edge modernos.

Bibliotecas suportadas e limitações atuais

PyScript carrega o ecossistema científico via Pyodide. Isso inclui NumPy, Pandas, Matplotlib e SciPy. Porém, o tempo de carregamento inicial é alto (vários megabytes). Bibliotecas com dependências nativas (como TensorFlow) não funcionam. A comunicação com o DOM é possível, mas verbosa. Além disso, o acesso a arquivos locais é restrito por segurança. Quando usar mesmo com essas limitações? Em tutoriais interativos. Por exemplo, um site que ensina estatística com gráficos ao vivo. Também em dashboards internos de empresas. A fórmula de tempo de carregamento: \(T_{\text{total}} = T_{\text{Wasm}} + T_{\text{libs}}\) Onde cada lib adiciona cerca de 1 a 5 MB. Portanto, evite bibliotecas pesadas desnecessariamente.

PyScript vs. javascript vs. servidor tradicional

JavaScript é muito mais rápido e leve que PyScript. Para manipulação intensa do DOM, JS ainda é a escolha certa. Por outro lado, PyScript permite reusar código Python existente. Cientistas de dados podem migrar notebooks Jupyter para o navegador. Já o backend tradicional exige servidor e infraestrutura. PyScript elimina custos de hospedagem e escala automaticamente. A voz passiva é aplicada: “toda lógica é executada no lado do cliente”. Entretanto, dados sensíveis não podem ficar no frontend. Qualquer usuário pode ver seu código Python (não é ofuscado). Portanto, use PyScript apenas para lógica não secreta. Casos de uso ideais: calculadoras, visualizações, simuladores educacionais. Evite para autenticação, pagamentos ou dados privados. PyScript é uma ferramenta revolucionária em maturação. Experimente em projetos pessoais e compartilhe com a comunidade. O futuro do Python no navegador nunca esteve tão próximo.