Quando o assunto é programação, a área de Ciência de Dados e Inteligência Artificial fala basicamente Python, que nos últimos anos se tornou a linguagem referência para o desenvolvimento de bibliotecas, modelos e código dedicado a este tipo de trabalho. Por outro lado, no ambiente web a linguagem que reina é Javascript, tanto que os navegadores são nativamente capazes de rodar código escrito nesta língua. Isto vinha sendo uma barreira para a disseminação de aplicações em IA, já que, se praticamente todo mundo tem acesso a um navegador, a execução de código Python exige a instalação de um ambiente exclusivo. Algumas das bibliotecas de IA mais relevantes possuem versões para Javascript, mas a funcionalidade costuma ser limitada e exige esforço dos desenvolvedores para fazerem as adaptações necessárias.
Mas isto está prestes a mudar. Na conferência PyCon US 2022, que terminou ontem em Salt Lake City, nos Estados Unidos, os desenvolvedores do Anaconda, um dos mais populares administradores de pacotes Python, anunciaram o lançamento do PyScript, um sistema que permite rodar código Python em HTML da mesma forma que já acontece com o Javascript. Isto deve popularizar ainda mais a linguagem, já que desenvolvedores front-end poderão utilizá-la em aplicações web com a menor fricção possível.
Uma das maiores vantagens é que o PyScript elimina a necessidade de deployment, ou seja, a criação de um aplicativo Python que roda na nuvem e para o qual um browser faz requisições, se comunicando através de uma biblioteca intermediária. Agora, o código inteiro pode rodar no browser do usuário, seja um PC ou um dispositivo móvel.
O PyScript foi possível graças ao WebAssembly, um sistema lançado em 2017 que permite escrever código – em princípio em qualquer linguagem – que então é convertido em um binário para que possa ser executado por um navegador. Conforme a comunidade vá se interessando por ele, mais linguagem devem ser incorporadas na rotina de trabalho de desenvolvedores web.
A versão alpha do PyScript pode ser encontrada em pyscript.net. Por enquanto ela oferece três flags que podem ser incluídas em código HTML:
<py-env>
, que lista as bibliotecas necessárias para rodar o código Python;<py-script>
, que discrimina a localização do script (arquivopy
) a ser executado;<py-repl>
, que cria um componente REPL (read-eval-print-loop, ou loop de leitura, avaliação e exibição, em tradução livre) que avalia o código que um usuário entra e mostra os resultados, podendo ser usado, por exemplo, para exibir um dashboard interativo.
Alguns exemplos de aplicações podem ser vistos na página no GitHub do projeto, e os desenvolvedores prometem que este é apenas o começo.
Será que esse negócio vai funcionar mesmo? Não deve ter o mesmo potencial da JavaScript ou será que tem?
Olá Douglas,
É cedo pra dizer, vai depender da aceitação da comunidade e da performance. Eu certamente vou ficar de olho!
Eu fiz alguns testes e gostei do resultado!
Legal Ítalo! 🙂