Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • Outros
  • Todos
  • Design & UX
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

    Desmistificando WebAssembly Alta performance, portabilidade e segurança

    Raphael Amorim
    Livro de WebAssembly

    *Você terá acesso às futuras atualizações do livro.

    Conteúdo

    WebAssembly é um formato de código binário portátil cujo objetivo é tornar possíveis aplicações de altíssima performance em páginas Web, ao mesmo tempo em que adiciona pluralidade, pois viabiliza que programadores de diversas linguagens criem ou portabilizem aplicações existentes de plataformas nativas para os navegadores. Tudo isso tendo um modelo de segurança do WASM projetado para ser completamente isolado em "caixa de areia", com permissões restritas e controladas pela pessoa desenvolvedora. Tendo conhecimento aprofundado, é possível utilizar WebAssembly sem depender de linguagem, ferramenta ou recurso específico além dele mesmo para desenvolver aplicações, seja para a Web ou até mesmo no back-end e outros destinos de uso.

    Neste livro, Raphael Amorim aborda as principais caraterísticas do WebAssembly, do básico ao avançado: segurança, performance, portabilidade e pluralidade de linguagens. Com foco no uso prático da tecnologia no dia a dia, recheado de exemplos de módulos WebAssembly, você vai examinar e dissecar desde o processo de compilação de módulo até a sua execução com a máquina virtual do WASM. Você partirá de uma aplicação Web que faz uso de Rust, até ter o completo entendimento de como funciona uma estrutura de arquivo binário, depuração e suas instruções. Em seguida, terá os conceitos computacionais necessários para a escrita de aplicações mais complexas como codificação de dados, vinculação dinâmica e estática, instruções atômicas, memória compartilhada e outros.

    Saiba o que você vai aprender

     

    Sumário

    • 1 Introdução
    • 1.1 Do NodeJS ao WebAssembly
    • 1.2 O que é WebAssembly?
    • 2 Fundamentos ao primeiro módulo
    • 2.1 Máquina virtual do WebAssembly
    • 2.2 Fundamentos básicos
    • 2.3 Formatos de arquivo
    • 2.4 Tipos de valores de dados
    • 2.5 Compilação para o código binário
    • 2.6 Escrevendo nosso primeiro módulo
    • 3 Por trás da magia no navegador
    • 3.1 Matrizes tipadas
    • 3.2 DataView
    • 3.3 WebAssembly no JavaScript
    • 3.4 Módulo
    • 3.5 Instanciamento de módulos
    • 3.6 Criando e gerenciando memória
    • 3.7 Valores globais
    • 3.8 Tabelas
    • 4 Criando um editor de imagem com WebAssembly
    • 4.1 De volta ao navegador
    • 4.2 Trabalhando com memória
    • 4.3 Salvando os dados da imagem
    • 4.4 Filtro preto e branco em JavaScript
    • 4.5 Filtro preto e branco em WebAssembly
    • 4.6 Filtros de tons de cores em WebAssembly
    • 4.7 Filtro de opacidade em WebAssembly
    • 4.8 Filtro de inversão em WebAssembly
    • 5 Vinculação e interface binária de aplicativo
    • 5.1 Uso da C ABI e Rust ABI no WebAssembly
    • 5.2 Blocos externos
    • 5.3 Compilando WebAssembly com vinculação dinâmica e estática
    • 6 Encoding e Strings
    • 6.1 Codificação e decodificação de dados
    • 6.2 UTF-8
    • 6.3 Strings do Rust para WASM
    • 6.4 Envio de Strings do Rust para o WebAssembly
    • 7 Threads e atômicos
    • 7.1 Memória compartilhada
    • 7.2 Instruções atômicas
    • 7.3 Web Workers
    • 8 Tipos de erro
    • 8.1 Erro de compilação
    • 8.2 Erro na configuração da instância
    • 8.3 Erros em tempo de execução
    • 9 Destrinchando o formato de texto
    • 9.1 WAT: WebAssembly Text Format
    • 9.2 Instruções numéricas
    • 9.3 Instruções de controle
    • 10 Estruturas binárias, WABT e Binaryen
    • 10.1 WebAssembly Binary Toolkit
    • 10.2 Estrutura binária do WebAssembly
    • 10.3 Visualização de arquivos binários
    • 10.4 Execução de binários usando o interpretador
    • 10.5 Descompilação de binários
    • 10.6 wasm2c: conversão de arquivos binários para C
    • 10.7 Binaryen
    • 10.8 Otimização de arquivos binários
    • 10.9 wasm2js: conversão de arquivos binários para JavaScript
    • 10.10 wasm-tools
    • 11 WASI - WebAssembly System Interface
    • 11.1 O que é o WASI?
    • 11.2 Como a arquitetura do WASI funciona?
    • 11.3 Como usar WebAssembly com WASI?
    • 11.4 Wasmtime
    • 11.5 WASI com Rust
    • 11.6 Escrevendo em arquivo com WASI
    • 11.7 WASI com WebAssembly Text Format
    • 11.8 Usando pthreads com WASI
    • 11.9 Conclusão
    • 12 Referências bibliográficas

    Autor

    Raphael Amorim

    Raphael Amorim é formado em análise e desenvolvimento de sistemas pelo Instituto Infnet, foi palestrante em múltiplas conferências nacionais e internacionais. Atualmente, trabalha como Sr. Software Engineer no Viaplay, tendo também trabalhado em empresas como Spotify, GoDaddy e Globo.com nos últimos 10 anos. Foi responsável pela implementação e adoção da linguagem de programação Rust, e eventualmente WebAssembly, na maior empresa de streaming de vídeos dos países nórdicos. Apaixonado por Open Source desde muito cedo, ele se envolveu com diversos projetos abertos, especialmente no cenário de desenvolvimento Web, sendo contribuidor do pacote binário oficial do WebAssembly, jQuery, React, entre outros.

    Dados do produto

    Número de páginas:
    311
    ISBN:
    978-85-5519-346-0
    Data publicação:
    09/2023
    Submeter errata Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    Impulsione sua carreira aprendendo também...

    Livro de NodeJS
    Node.js
    +
    Livro de Rust
    Rust
    altLogoFooter

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alura

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev