O que é um Stack JavaScript?
Um Stack é o empilhamento de outras ferramentas de desenvolvimento e nesse livro vamos abordar um Full-Stack JavaScript com: Node.js, ExpressJS, MongoDB e React (o Node é a principal razão desse Full-Stack existir) - então vamos chama-los de PRIMERS. Usando essas quatro ferramentas juntas você vai desenvolver aplicações eficientes, bem organizadas e interativas com agilidade.
Uma vez que todos os PRIMERS (os componentes da pilha) usam JavaScript, você vai conseguir transitar por todas as camadas da sua aplicação sem problemas. Daqui a pouco eu vou te contar mais sobre essas camadas, mas é basicamente o seguinte. Com eles, você vai poder:
- Usar JavaScript no server-side com Node e Experss
- Usar JavaScript no cliente-side com React
- Persistir seus objetos JSON (JavaScript Object Notation) no MongoDB
- Usar objetos JSON para enviar dados do banco para o servidor e então renderizar no browser.
Se algum desses nomes for novo para vc, pode ficar tranquilo. Nos próximos 20 minutos vc vai aprender tudo sobre eles. O mais importante agora é saber que:
Uma única linguagem em todas as camadas vai potencializar a sua produtividade. Porque quando você estiver trabalhando com React no client-side você vai facilmente entender o código, também, no server-side. Por que está tudo em JavaScript. Isso não é incrível?
Começando desde o MongoDB, onde você pode persistir seus objetos JSON. Você vai poder escrever queries JSON no servidor Node e enviar tudo isso direto pro front-end que usa React. Isso é especialmente útil quando você estiver trabalhando junto com outros desenvolvedores em um projeto ágil. O código do server-side é bem simples de ser entendido pelos desenvolvedores do front-end e vice-versa. Isso torna tudo mais transparente e aumenta bastante a agilidade e produtividade do time. Essa agilidade vai ficar mais visível, daqui a pouco, quando eu te mostrar alguns exemplos que vão salvar você de algumas dores de cabeça no futuro.
... mas antes disso, eu preciso te contar "Quando USAR e quando NÃO Usar esse DevStack".