‫Narrador: Agora, antes de mergulhar em algum código NodeJS, vamos
‫fazer uma visão geral de alto nível
‫do que o NodeJS realmente é, para
‫que o usamos e por que usamos o Node
‫em vez de outras tecnologias.
‫Portanto, a definição oficial é que
‫NodeJS é um JavaScript
‫Runtime construído no mecanismo V8 JavaScript de código aberto do Google.
‫Agora, o que isso realmente significa?
‫Bem, vamos começar tentando entender o que
‫o JavaScript Runtime
‫e o motor V8 realmente são.
‫Então, você provavelmente já usou JavaScript
‫antes e provavelmente sempre esteve apenas dentro de um navegador, certo?
‫Porque qualquer navegador entende HTML, CSS e
‫JavaScript nativamente e não importa se você escreve JavaScript
‫vanilla ou alguma estrutura de
‫JavaScript como React ou código Angular,
‫isso é
‫tudo JavaScript que é executado direto no navegador.
‫Portanto, neste caso, o
‫navegador é o JavaScript Runtime.
‫Mas, e se pudéssemos tirar o
‫JavaScript do navegador e
‫simplesmente executar o código JavaScript em outro
‫lugar, sem todas as restrições que temos no navegador?
‫Bem, descobrimos que realmente podemos.
‫E a solução para isso, como
‫você pode imaginar, é chamada de NodeJS e, portanto, o
‫Node JS é apenas outro JavaScript Runtime.
‫É como um container, como um ambiente,
‫no qual um programa escrito
‫em JavaScript pode ser executado, mas fora de qualquer navegador.
‫Tudo bem, na verdade é um pouco mais complexo
‫do que isso, é claro, mas por enquanto, isso é o suficiente.
‫Agora, quem realmente executa o
‫código senão o navegador?
‫E é aí que o motor
‫V8 desenvolvido pelo Google entra em jogo.
‫Porque é exatamente onde o
‫código JavaScript será analisado e executado no NodeJS, certo?
‫Portanto, espero que agora a definição de
‫NodeJS como um JavaScript Runtime no mecanismo V8 JavaScript faça muito
‫mais sentido e, novamente, esta é apenas
‫uma visão geral de alto
‫nível do que é Node e como funciona.
‫Vamos entrar em muitos detalhes sobre
‫como o Node realmente funciona nos bastidores
‫na próxima seção, mas neste ponto, eu só quero
‫que você tenha uma visão
‫geral rápida para que possa começar a aprender
‫os fundamentos do NodeJS na prática ao longo esta seção.
‫De qualquer forma, agora que
‫temos JavaScript fora do navegador
‫em um tipo de ambiente autônomo
‫que apenas NodeJS, podemos fazer muito mais coisas com
‫JavaScript que eram completamente impossíveis antes, como
‫acessar o sistema
‫de arquivos, ou melhores recursos de
‫rede não são possíveis com O NodeJS
‫e todos esses fatores juntos nos fornecem
‫as condições perfeitas para usar o NodeJS como um servidor da web,
‫o que significa que agora podemos finalmente
‫usar o JavaScript no lado do servidor de desenvolvimento
‫da web para construir aplicativos de rede
‫rápidos e altamente escalonáveis para alimentar o back-end
‫de todos para sites ou aplicativos da web.
‫E isso é absolutamente
‫fantástico e revolucionário para o desenvolvimento web.
‫Portanto, vamos agora dar uma olhada em alguns casos de uso
‫para o Node e por que ele se encaixa tão bem no desenvolvimento de back-end.
‫E a primeira coisa sobre a qual precisamos
‫falar é o fato
‫de que os aplicativos Node são tão rápidos e escaláveis porque
‫o NodeJS é de thread único
‫baseado em um modelo de E / S não bloqueado
‫e orientado por eventos que torna o NodeJS muito leve e eficiente.
‫Agora, isso, é claro, parece super complicado, eu sei,
‫mas mais uma vez vamos falar sobre o
‫que tudo isso significa exatamente um
‫pouco mais tarde no curso.
‫Mas, por enquanto, apenas tenha em
‫mente que o Node é perfeito para criar
‫aplicativos da web com uso intensivo de dados, super rápidos e escalonáveis.
‫E isso torna o NodeJS um ajuste perfeito para construir
‫todos os diferentes tipos de
‫aplicativos, como construir uma API com um banco de
‫dados por trás dele e, de preferência, um banco de dados NoSQL não relacional
‫como o MongoDB e isso é exatamente o que
‫faremos posteriormente neste curso, enquanto mergulhe cada vez mais fundo no NodeJS.
‫Mas, é claro, existem todos os tipos de
‫outros aplicativos que podemos construir como aplicativos de
‫streaming de dados, como YouTube ou Netflix, aplicativos de bate-papo em
‫tempo real ou mesmo aplicativos da web do
‫lado do servidor onde todo o conteúdo é
‫simplesmente gerado diretamente no servidor, como
‫você vê, as possibilidades são realmente infinitas.
‫Mas, na verdade, também existe um tipo de aplicativo
‫que não devemos construir com o Node.
‫E isso é quando
‫nosso aplicativo precisa de algum processamento superpesado
‫do lado do servidor, como manipulação de imagens, conversão de
‫vídeo, compactação de arquivo ou qualquer coisa assim, tudo bem.
‫E você aprenderá por que isso acontece quando nos aprofundarmos
‫em como o Node realmente funciona.
‫Portanto, neste caso, é
‫melhor usar algo como Ruby on Rails, PHP ou Python.
‫Como o NodeJS simplesmente não foi
‫desenvolvido para esses casos de uso e embora existam soluções
‫para lidar com eles, devemos sempre usar
‫a ferramenta certa para a tarefa em questão.
‫Ok, então esses são os tipos de
‫aplicativos que podemos e não podemos construir usando o NodeJS.
‫E se você escolher usar o Node,
‫bem, então você está em
‫boa companhia porque muitas empresas importantes como Netflix, Uber,
‫PayPal, Ebay e muitas outras já começaram a usar o
‫NodeJS, o que realmente prova que a tecnologia é
‫estável o suficiente neste ponto para ser usado na produção.
‫Agora, é claro que há mais razões para usar o
‫Node, e a maior delas é provavelmente que usar
‫a mesma linguagem em toda a pilha,
‫tanto no front-end quanto no
‫back-end, é muito mais fácil para você ou para sua equipe.
‫Primeiro, você não
‫precisa aprender uma nova linguagem
‫de programação para construir seu back-end e,
‫também, não precisa ficar alternando entre
‫as linguagens, o que tornará todo o processo
‫de construção mais rápido e eficiente.
‫Acredite em mim, é realmente
‫incrível poder usar JavaScript para construir seu
‫aplicativo inteiro do início ao fim.
‫É absolutamente fantástico.
‫E outra grande razão para
‫usar o Node é que existe uma enorme biblioteca de pacotes
‫ou módulos de código aberto, como também
‫podemos chamá-los, disponível para todos gratuitamente.
‫Chama-se NPM e provavelmente você já ouviu falar dele
‫ou já o usou.
‫E, é claro, também começaremos
‫a usar pacotes direto na seção.
‫E, finalmente, também é bom
‫saber que existe uma enorme comunidade
‫ativa de desenvolvedores Node por aí que
‫estão constantemente melhorando o NodeJS e ajudando iniciantes como você.
‫E, para que você possa realmente contar com
‫a tecnologia para todos os seus projetos nos próximos anos.
‫Ok, então essa foi uma breve introdução
‫e visão geral do NodeJS e alguns de seus casos de uso.
‫Portanto, no restante desta seção,
‫usaremos o Node para criar um
‫servidor da web muito simples e
‫construir uma API extremamente simples, para que você
‫possa se familiarizar
‫com os princípios básicos do desenvolvimento do Node.