WebContainers: StackBlitz traz solução para rodar Node.js nativamente no navegador
Será que é possível usar tecnologias Web modernas para criar uma solução que permita criar tecnologias Web modernas? Sim.
O time do StackBlitz, solução de ambiente dev na nuvem, anunciou uma funcionalidade no mínimo interessante: rodar Node.js no navegador de forma nativa.
A tecnologia foi desenvolvida em parceria com os times do Next.js e do Google e anunciada no Google/IO 2021.
A premissa do projeto veio do raciocínio de que com o WebAssembly e todas as novas capacidades da Web atualmente, seria possível criar um sistema operacional, que por sua vez seria capaz de rodar o Node.js.
Então veio a pergunta: Será que é possível usar tecnologias Web modernas para criar uma solução que permita criar tecnologias Web modernas?
Isso mesmo, parece que estamos no filme Inception, mas é totalmente possível, tanto que nos últimos 2 anos o time do StackBlitz vem desenvolvendo tal solução.
WebContainers, nome dado para a tecnologia, permite que ambientes Node.js fullstack sejam criados e inicializdos em milissegundos, além de ficar online imediatamente.
Além diso, o ambiente é carregado com a experiência de edição do VSCode, um terminal completo, npm e muito mais.
Tudo isso é executado inteiramente dentro do seu navegador.
Os ambientes não estão sendo executados em servidores remotos.
Cada ambiente está completamente contido no navegador.
O próprio runtime do Node.js está rodando nativamente, dentro do navegador.
Em termos técnicos, a solução é realmente impressionante.
Os WebContainers incluem uma stack de rede TCP virtualizada que é mapeada para a API ServiceWorker do navegador, permitindo que seja possível criar servidores Node.js instantaneamente sob demanda que continuam a funcionar mesmo quando estamos offline.
Como ele é executado inteiramente na sandbox do navegador, as respostas do servidor têm menos latência do que o próprio localhost e são totalmente seguros.
Os WebContainers estão em beta público. O suporte atual inclui Next.js, GraphQL e Vanilla Node.js.
O time StackBlitz está trabalhando com outros projetos open-source para expandir o suporte.
Outro ponto realmente incrível é que o StackBlitz é uma PWA, podendo ser instalada no seu computador.
Além disso, assim como no ambiente local, é possível abrir e depurar seus servidores de desenvolvimento em uma janela completamente separada.
Saiba mais no post oficial de anúncio: https://blog.stackblitz.com/posts/introducing-webcontainers/