- Possibilita o uso do JS no Backend
- O Node.js é uma plataforma que possibilita rodar o JavaScript do lado do servidor
- Assim o desenvolvedor JS pode facilmente se tornar um desenvolvedor full-stack
- Pois consegue programar com a mesma linguagem no back-end e no front-end
- Comunicação com Banco e File System
- Adiciona uma camada de aplicação para interagir com o Sistema Operacional
- Trabalha baseado em eventos
- As respostas podem ser assíncronas (espera / wait)
- Usa o Event loop - que mantém diversas threads em alta performance
- Gerenciamento de estado até que aja uma resposta
- Utilizar a Engine V8 (Chrome / Mongo)
- Como na sua máquina para criar uma poderosa plataforma de desenvolvimento
- No HTTP recebe as informações do front-end
- Entrada, processamento e saída
- Gerenciamento de recursos do servidor
- Interação com banco de dados e file system
- Node Package Manager
- AWS, Azure, Google Cloud
- FaaS - Functions as a Service
- SaaS - Software as a Service
- IaaS - Infrastructure as a Service
- Diferente dos sistemas monolíticos
- CRUD (Create Read Update Delete)
- Application Programming Interface (API)
- Representational State Transfer (Rest)
- Utitiliza métodos HTTP
- POST: cria dados
- GET: leitura / listagem de dados
- DELETE: exclui informações
- PUT: atualizações registros
- https://serverless-stack.com/chapters/pt/what-is-serverless.html
- https://www.w3schools.com/whatis/whatis_http.asp
- Node
- NPM / Yarn
- Nodemon
- Webpack
- Visual Studio Code
- Insomnia
- CORS (cross-origin resource sharing)
- Integração Back-end e Front-end
- Full-stack node.js
- Listagem
- Adicionar
- Alterar (aluno)
- Excluir (aluno)