Pyodide
Alguém perguntou se existe alguma implementação Python na web. Quando se fala em tecnologias web, duas abordagens existem:
- Server side
- Client side
Em um abordagem server side (lado do servidor), todo o processamento ocorre no servidor. É lógico que processar as coisas no cliente (navegador de internet em geral) é tem várias vantagens. Menos rede e menos processamento são usados. Mas aí em geral estamos limitados a Javascript, uma outra linguagem de programação importante que é padrão em praticamente em todos os navegadores. E aí tem um problema: teoricamente não faz diferença em que navegador um programa está rodando mas na prática cada navegador e cada versão têm suas peculiaridades.
Quando você roda as coisa no servidor, você tem controle total do que está acontecendo. Python é muito utilizado no servidor, assim como Java (outra linguagem de programação popular).
Existem alguns projetos que traduzem Python para javascript. Mas existe um projeto muito interessante que usa o python original!
Existe um padrão recente que se chama Web Assembly. É uma linguagem de baixo nível que, assim como Javascript, é suportado pelos principais navegadores. A implementação Python mais importante e usada é chamada de CPython e é o que estamos usando neste curso. Nesta implementação o interpretador é implementado em C (uma linguagem de programação de baixo nível extremamente importante). A sacada é que um programa em C pode ser compilado para Web Assembly.
O projeto Pyodide fez exatamente isso: compilou o interpretador e várias outras bibliotecas Python (numpy e matplotlib) para web assembly. Agora você pode rodar python no cliente!!!
Se quiser brincar um pouco existe um terminal na web para você testar https://pyodide.org/en/stable/console.html.
O objetivo deste projeto é criar um ambiente para ciência de dados rodando no navegador.
Vale a pena ficar de olho...
Comentários
Comments powered by Disqus