Um exemplo de ferramentas que agora estão disponíveis na Web graças ao WebAssembly.
O WebAssembly permite que os desenvolvedores adicionem novas funcionalidades de alto desempenho à Web de outros idiomas. Nos últimos anos, os desenvolvedores aproveitaram muito as possibilidades. Esta postagem mostra apenas algumas das novas ferramentas que podem ser úteis, em parte graças ao WebAssembly.
Ferramentas e bibliotecas que você pode usar agora
Sem mais delongas, vamos ao que interessa :D
SQLite
Essa versão completa do SQLite oferece um sistema de gerenciamento de banco de dados relacional leve e incorporado. Para saber mais, leia esta postagem do blog que mostra essa porta incrível e como usá-la.
FFmpeg.wasm
O FFmpeg é um projeto de software sem custo financeiro e de código aberto que consiste em um conjunto de bibliotecas e programas para processar vídeos, áudios e outros arquivos e transmissões multimídia. Confira uma versão compilada do Wasm aqui (repositório do GitHub) que permite fazer todas essas funções diretamente no navegador.
Descrição de cena universal (USD)
A descrição de cena universal (USD) é uma estrutura para dados de gráficos 3D de computador que se concentra na colaboração, na edição não destrutiva e na ativação de várias visualizações e opiniões sobre dados gráficos. É um padrão do setor aceito por empresas como a Pixar, a Autodesk, a Nvidia e muitas outras. Ainda é cedo para o suporte da Web, mas a Autodesk já disponibilizou um visualizador de USD baseado na Web, que você pode conferir aqui.
CanvasKit
O CanvasKit é o Skia, o mecanismo de renderização do Chrome e do Android, compilado diretamente para o WebAssembly. Com ele, você tem acesso simples à API JavaScript para praticamente todo o poder do mecanismo de renderização do Skia. A funcionalidade inclui renderização complexa, formatação de texto, animação, tinta e muito mais. Confira o pacote npm e o guia de início rápido.
TensorFlow.js
O TensorFlow.js traz o poder do TensorFlow diretamente para o navegador com uma API JavaScript simples. Por baixo dos panos, ele otimiza modelos na GPU e na CPU (incluindo otimizações SIMD) para maximizar o desempenho. Consulte o guia de início ou confira algumas das demonstrações diretamente.
OpenCV
O OpenCV é um padrão do setor de funções de programação, principalmente para visão computacional em tempo real. Há um pacote npm fácil de usar aqui, e para usuários do Emscripten, há também instruções detalhadas para fazer um build completo. Para saber como o SIMD e as linhas de execução estão melhorando o desempenho dessas cargas de trabalho, assista esta seção da palestra sobre o WebAssembly moderno no Chrome Dev Summit.
Cocos
O Cocos é um mecanismo de jogo poderoso e conhecido que permite aos desenvolvedores criar jogos com suporte multiplataforma, incluindo a Web. Ele se junta a uma longa lista de mecanismos de jogo que permitem a exportação da Web por meio de wasm. Para começar, acesse o editor Cocos e siga estas instruções.
Conclusão
Além desses exemplos específicos, há muito o que esperar do potencial do WebAssembly de mudar o ritmo das novas funcionalidades da Web. O Chrome até mesmo criou o Advanced Web Apps Fund, que pode ajudar os desenvolvedores a financiar o trabalho deles para melhorar a funcionalidade da Web disponível para todos os desenvolvedores.
Imagem principal do Pexels, por Ann Marie Kennon.