Você já ouviu falar do Node.js, mas não tem certeza do que é ou onde ele se encaixa em seu fluxo de trabalho de desenvolvimento. Ou talvez você já tenha ouvido pessoas elogiando o Node e agora esteja se perguntando se é algo que você precisa aprender. Talvez você esteja familiarizado com outra tecnologia de back-end e queira descobrir o que há de diferente no Node.
Vamos dissecar o Node.js e seus principais paradigmas. Vou examinar os principais casos de uso do Node, bem como o estado atual do cenário do Node, e oferecer uma ampla gama de pontos de partida (para leitura adicional) ao longo do caminho.
O que é o Node.js?
Existem muitas definições que podem ser encontradas online.
Vamos dar uma olhada em alguns dos mais populares. Isso é o que a página inicial do projeto tem a dizer: Node.js® é um tempo de execução de JavaScript construído no motor JavaScript V8 do Chrome.
E isso é o que o Stack Overflow tem a oferecer: Node.js é um evento assíncrono, não bloqueador de Tempo de execução de E/S que usa o mecanismo V8 JavaScript do Google e a biblioteca libuv.
Entendi, “baseado em evento”, “sem bloqueio”, “E/S assíncrona” - muita coisa certo?
Então, vamos abordar isso de um ângulo diferente e começar focando no outro detalhe que ambas as descrições mencionam - o mecanismo V8 JavaScript.
Node é construído "sob" a engine de JavaScript V8 do Google Chrome
O mecanismo V8 é o mecanismo JavaScript de código aberto executado no Google Chrome e em outros navegadores da web baseados em Chromium, incluindo Brave, Opera e Vivaldi. Ele foi projetado com desempenho em mente e é responsável por compilar JavaScript diretamente para o código de máquina nativo que seu computador pode executar.
No entanto, quando dizemos que o Node é construído no motor V8, não queremos dizer que os programas do Node são executados em um navegador. Eles não são. Em vez disso, o criador do Node (Ryan Dahl) pegou o mecanismo V8 e o aprimorou com vários recursos, como uma API do sistema de arquivos, uma biblioteca HTTP e vários métodos de utilitário relacionados ao sistema operacional.
Isso significa que o Node.js é um programa que podemos usar para executar JavaScript em nossos computadores. Em outras palavras, é um tempo de execução JavaScript.
Node.js é indicado para qual tipo de projeto?
O Node é particularmente adequado para construir aplicativos que requerem alguma forma de interação ou colaboração em tempo real - por exemplo, sites de bate-papo ou aplicativos como Codeshare, onde você pode assistir a um documento sendo editado ao vivo por outra pessoa.
Também é uma boa opção para construir APIs em que você lida com muitas solicitações orientadas por I/O (como aquelas que precisam realizar operações em um banco de dados) ou para sites que envolvem streaming de dados, já que o Node possibilita o processamento de arquivos enquanto eles ainda estão sendo carregados. Se esse aspecto de tempo real do Node é algo que você gostaria de examinar mais, confira nosso tutorial sobre como criar um aplicativo de bate-papo em tempo real.
No entanto, dizendo isso, nem todo mundo vai construir o próximo Trello ou o próximo Google Docs e, realmente, não há razão para que você não possa usar o Node para construir um aplicativo CRUD simples.
Outra das grandes vantagens do Node é que ele fala JSON. JSON é provavelmente o formato de troca de dados mais importante na Web e a língua franca para interagir com bancos de dados de objetos (como MongoDB). JSON é ideal para consumo por um programa JavaScript, o que significa que quando você está trabalhando com o Node, os dados podem fluir perfeitamente entre as camadas sem a necessidade de reformatação. Você pode ter uma sintaxe do navegador ao servidor e ao banco de dados.
Mesmo uma solução como a Express é mínima, o que significa que se você quiser fazer algo um pouco fora do comum, precisará obter módulos adicionais do npm. Isso está em total contraste com frameworks como Rails ou Laravel, que vêm com muitas funcionalidades prontas para o uso.
E não para no servidor. Existem muitos outros usos interessantes e variados do Node.js!
Por exemplo, ele pode ser usado como uma linguagem de script para automatizar tarefas repetitivas ou sujeitas a erros em seu PC. Ele também pode ser usado para escrever sua própria ferramenta de linha de comando, como este gerador Yeoman-Style para criar novos projetos. O Node.js também pode ser usado para construir aplicativos de desktop multiplataforma e até mesmo para criar seus próprios robôs.
Bora aprender?
Nenhum comentário:
Postar um comentário