WebAssembly: o que será do futuro da internet?
Neste artigo vamos falar sobre o futuro da internet, mais conhecido como WebAssembly. Já ouviu falar nele? Quer entender melhor como funiciona? Acompanhe o texto até o final com a gente! A página que você está lendo nesse momento é um amontoado de HTML, CSS e JavaScript. HTML é o cara que dá forma pra página, CSS é o cara que a deixa bonitinha e JS é a linguagem de programação por trás disso tudo.
Você já ouviu falar sobre JavaScript? Parece pergunta de vendedor de canal de compras, mas não é. No GitHub, essa é a linguagem com maior número de repositórios.
Há mais Frameworks JavaScript do que átomos no universo. Virtualmente toda pessoa desenvolvedora já escreveu um código em JavaScript.
Sumário
E por que isso?
Bem, basicamente porque não é possível construir uma aplicação Web sem usar JavaScript. Sério isso? Sim, tão sério que até aplicações de celulares tem usado JavaScript, olha o PWA aí.
Não usar o JavaScript é um problema?
Cara, pra mim não. Eu gosto muito de JavaScript, muito mesmo. JavaScript é a linguagem que te dá liberdade suficiente pra fazer o que quiser da maneira que quiser. Olha o NodeJs , por exemplo. Mas como diria meu pai: com grandes liberdades, vem grandes responsabilidades.
Então se você é livre pra fazer o que quiser como quiser em JavaScript, você tem que saber muito bem o que está fazendo. E aqui começa o problema. Infelizmente nem sempre escrevemos bons códigos em JavaScript, e essa é uma verdade dolorida.
Você já parou pra pensar em como um código JavaScript é executado pelo Browser? Leia o próximo parágrafo correndo.
O browser recebe o código ocorre a interpretação léxica o parser monta a árvore de execução o tradutor a converte em bytecode finalmente o interpretador executa o código.
Ficou cansado? Parece muita coisa? De maneira geral, é assim que uma engine JavaScript funciona. Acredite, esse processo já é bastante otimizado, cada passo desses é muito rápido. Só que esse processo acontece sempre, a cada requisição, a cada cliente da sua aplicação, esse processo se repete.
E aí vem a questão: já que o browser vai sempre fazer a mesma coisa pra transformar código em bytecode, por que eu não entrego bytecode direto pra ele?
O WebAssembly, ou WASM, entra aí.
Inclusive, olha uma palhinha do tech shot que eu dei na dti sobre WASM.
Vamos entregar o “Assembly” para “Web”.
A ideia inicial era compilar o próprio código JavaScript e entregar pro navegador. No entanto, um efeito colateral interessante disso é que agora podemos escrever códigos em outras linguagens e entregar pro browser.
Então, se eu não gosto muito de JavaScript, agora eu posso escrever meu código C# e deixar que o browser rode o bytecode compilado a partir dele.
WebAssembly funciona?
Funciona! Olha esse repositório aqui no GitHub . Ele é um fork que eu criei do projeto do Blazor do Steve Sanderson.
Com o Blazor, é possível escrever um código C# que vai rodar direto no browser.
Legal, cara, mas como isso vai tornar o mundo um lugar melhor?
Primeiro: as aplicações Web vão ficar mais rápidas, aquele processo todo que o browser faz vai ficar mais simples. Nesse link você pode ver a comparação em tempo real entre um código WASM e um código JavaScript no processamento de imagem.
Segundo: agora você pode escolher sua linguagem preferida pra escrever sua aplicação, se você não gosta de JavaScript, sem problemas, escreva um bom código na linguagem com a qual você se sente mais confortável.
Atualmente, muito do que se faz em WebAssembly ainda é experimental, mas há quem acredite que esse seja o futuro da Internet .
Se você tem interesse em mais insights como esse, acesse nosso podcast sobre tecnologia e metodologia ágil no mercado de trabalho: Os Agilistas. Nele, você fica próximo das tendências sobre o mercado de trabalho do futuro. Te esperamos lá!
Desenvolvimento de Software
Confira outros artigos
![](/_next/image?url=https%3A%2F%2Fwww.cms.dtidigital.com.br%2Fwp-content%2Fuploads%2F2024%2F07%2Fmecanismos-de-acompanhamento.webp&w=1024&q=75)
Mecanismos de Acompanhamento no Desenvolvimento de Software
O uso de mecanismos de acompanhamento é imprescindível no mundo do desenvolvimento de software e pode potencializar a eficiência digital. O acompanhamento efetivo das operações é fundamental para garantir a entrega de soluções digitais de sucesso. Na nossa empresa, utilizamos uma metodologia única, o dti evolve, que incorpora inteligência artificial (IA) para acelerar nosso processo de […]
Desenvolvimento de Software
![Fundo de código com celular apresentando eficiência digital com copilot](/_next/image?url=https%3A%2F%2Fwww.cms.dtidigital.com.br%2Fwp-content%2Fuploads%2F2024%2F07%2FGitHub-copilot-eficiencia-dti.webp&w=1024&q=75)
Eficiência digital com copilot: um caso de uso do GitHub
Em um mundo em constante evolução tecnológica, otimizar o tempo e potencializar a eficiência digital se torna cada vez mais crucial. Portanto, vamos apresentar alguns experimentos que estão sendo implementados com o Git Hub Copilot em busca de maior eficiência digital. Certamente quem nos acompanha sabe que estamos experimentando e introduzindo as melhores ferramentas de […]
Desenvolvimento de Software
![Engenharia de Prompt - Como conversar com Ia](/_next/image?url=https%3A%2F%2Fwww.cms.dtidigital.com.br%2Fwp-content%2Fuploads%2F2024%2F07%2FShutterstock_2422157137-1.png&w=1024&q=75)
Engenharia de Prompt: A Arte de Conversar com a IA
Sumário1 Falando a Linguagem das Máquinas2 O que é Engenharia de Prompt?3 A Importância da Engenharia de Prompt em Ação: Aplicações do Mundo Real 4 Princípios-chave da Engenharia de Prompt Eficaz4.1 Desconstruindo o Prompt:4.2 Técnicas de Engenharia de Prompt:4.3 Combinando Técnicas e Criando sua Obra-Prima:5 As Armadilhas da Engenharia de Prompt: Navegando pelos Limites dos Modelos […]
Desenvolvimento de Software