Aplicações web real-time com Node.js
Caio Ribeiro PereiraConteúdo
Node.js é uma poderosa plataforma. Ele permite escrever aplicações JavaScript no server-side, tirando proveito da sintaxe e familiaridade da linguagem para escrever aplicações web escaláveis.
Como o Node.js usa um modelo orientado a eventos, focado em I/O não bloqueante, desenvolver nele pode ser diferente para quem está acostumado às aplicações web tradicionais. Neste livro, Caio Ribeiro Pereira quebra essa enorme barreira, mostrando claramente essa mudança de paradigma, além de focar em tópicos importantes, as APIs principais e frameworks como o Express e o Socket.IO.
Edição atualizada em 09/2021:
Este livro tem entregado valor para os iniciantes em Node.js desde o seu lançamento em 2013. A partir daí, diversas mudanças surgiram no ecossistema JavaScript e Node.js, e os conceitos apresentados neste livro continuam válidos até os dias de hoje.
Nesta atualização, você vai aprender a trabalhar com Node.js versão 16 já usando todos os módulos com versões atuais. Muitos códigos para o uso do Express, do MongoDB e testes foram simplificados. Além disso, todo o projeto abordado no livro está usando códigos de JavaScript moderno desde o ES6 até o atual ES2021.
Sumário
- 1 Bem-vindo ao mundo Node.js
- 1.1 O problema das arquiteturas bloqueantes
- 1.2 E assim nasceu o Node.js
- 1.3 Single-thread
- 1.4 Event-loop
- 1.5 Instalação e configuração
- 1.6 Gerenciando módulos com NPM
- 1.7 Entendendo o package.json
- 1.8 Escopos de variáveis globais
- 1.9 CommonJS, como ele funciona?
- 2 Desenvolvendo aplicações web
- 2.1 Criando nossa primeira aplicação web
- 2.2 Como funciona um servidor HTTP?
- 2.3 Trabalhando com diversas rotas
- 2.4 Separando o HTML do JavaScript
- 2.5 Desafio: implementando um roteador de URL
- 3 Por que o assíncrono?
- 3.1 Desenvolvendo de forma assíncrona
- 3.2 Assincronismo versus sincronismo
- 3.3 Entendendo o event-loop
- 3.4 Evitando callbacks hell
- 4 Iniciando com o Express
- 4.1 Por que utilizá-lo?
- 4.2 Instalação e configuração
- 4.3 Criando um projeto de verdade
- 4.4 Gerando o scaffold do projeto
- 4.5 Organizando os diretórios do projeto
- 5 Dominando o Express
- 5.1 Estruturando views
- 5.2 Controlando as sessões de usuários
- 5.3 Criando rotas no padrão REST
- 5.4 Aplicando filtros antes de acessar as rotas
- 5.5 Indo além: criando páginas de erros amigáveis
- 6 Programando sistemas real-time
- 6.1 Como funciona uma conexão bidirecional?
- 6.2 Conhecendo o framework Socket.IO
- 6.3 Implementando um chat real-time
- 6.4 Organizando o carregamento de Sockets
- 6.5 Compartilhando sessão entre Socket.IO e Express
- 6.6 Gerenciando salas do chat
- 6.7 Notificadores na agenda de contatos
- 6.8 Principais eventos do Socket.IO
- 7 Integração com banco de dados
- 7.1 Bancos de dados mais adaptados para Node.js
- 7.2 Instalando o MongoDB
- 7.3 MongoDB no Node.js utilizando Mongoose
- 7.4 Modelando com Mongoose
- 7.5 Implementando um CRUD na agenda de contatos
- 7.6 Persistindo estruturas de dados usando Redis
- 7.7 Mantendo um histórico de conversas do chat
- 7.8 Persistindo lista de usuários online
- 8 Preparando um ambiente de testes
- 8.1 Mocha, o framework de testes para Node.js
- 8.2 Criando um ambiente para testes
- 8.3 Instalando e configurando o Mocha
- 8.4 Rodando o Mocha no ambiente de testes
- 8.5 Testando as rotas
- 8.6 Deixando seus testes mais limpos
- 9 Aplicação Node em produção – Parte 1
- 9.1 Configurando clusters
- 9.2 Redis controlando as sessões da aplicação
- 9.3 Monitorando aplicação por meio de logs
- 9.4 Otimizações no Express
- 10 Aplicação Node em produção – Parte 2
- 10.1 Mantendo a aplicação protegida
- 10.2 Mantendo o sistema no ar com Forever
- 10.3 Externalizando variáveis de configurações
- 11 Node.js e Nginx
- 11.1 Servindo arquivos estáticos do Node.js usando o Nginx
- 12 Continuando os estudos
- 13 Bibliografia
Autor
Caio Ribeiro Pereira
Caio Ribeiro Pereira é desenvolvedor desde 2008, já brincou muito com Java, PHP, Ruby e atualmente brinca muito com tudo que envolve JavaScript, React, React Native e Node.js! Bacharel em Sistemas de Informação pela Universidade Católica de Santos, nos tempos livres escreve alguns post no seu blog Underground WebDev (udgwebdev.com), de vez em quando contribui no open-source em projetos como Moment.js, Sequelize.js, VanillaMasker, DevFreeBooks e outros em seu GitHub (github.com/caio-ribeiro-pereira), também é admin do Facebook Groups JavaScript - Brazil e atualmente é founder da WatchCoins (watchcoins.net) uma plataforma para acompanhar o mercado de bitcoin e outras criptomoedas. Para saber mais sobre ele, acesse: crpwebdev.github.io
O que dizem deste livro
-
Leonardo Jobim @leojobim
Acabei de ler o Livro de Node.js de @crp_underground e @casadocodigo. Excelente para quem quiser aprender de forma rápida e objetiva.
-
Jonas Eduardo @JonasEAR
Lendo o e-book do @crp_underground e entendendo assincronamente os mistérios cabulosos do Node.js hahaa #nodejs @casadocodigo.
-
Hugo Amorim @h_lyra
@crp_underground @casadocodigo Obrigado pelo livro de nodejs. Muito show!
-
Diego Domingues @diegohdomingues
Muito bom o Livro de @nodejs do @crp_underground. Prático e didático. Parabéns! Ótimo conteúdo. #dev #nodejs
Dados do produto
- Número de páginas:
- 186
- ISBN:
- 978-85-66250-14-5
- Data publicação:
- 05/2013. Atualizado em 09/2021.