NodeJS

O que é NodeJS?

O que é NodeJS?

Neste tutorial, vamos começar com o Node.js. Aprenda sobre alguns de seus recursos mais populares e tentará motivar os leitores a adotarem essa tecnologia maravilhosa em seus projetos futuros. Como pré-requisito, você só precisa ter uma familiaridade passageira com JavaScript e conceitos de programação genéricos, como variáveis, tipos de dados e funções.

JavaScript tem uma história estranha. Começou como uma linguagem de script leve para navegadores da web e foi tratada mais como um "brinquedo" do que uma linguagem de programação séria. Mas há muito superou seu começo humilde.

As pessoas começaram a estender seus recursos quando o Google abriu o interpretador de JavaScript do Chrome - o motor V8. Nó.js pega esse mecanismo JavaScript e o estende para funcionar fora do domínio do navegador. Nó.js vincula JavaScript com a API do seu sistema operacional para que possa ser executado nativamente no servidor (ou, no caso de um desenvolvedor, em seu desktop). Sim, isso significa que você pode implementar aplicativos do lado do servidor, aplicativos de desktop e mecanismos de back-end aprendendo apenas uma linguagem - JavaScript.

Simplificando, você pode escrever .js arquivos que contêm programas escritos em sintaxe JavaScript que serão interpretados pelo Node.js da mesma maneira que .py arquivos com sintaxe válida são interpretados / executados por interpretador python.

Há mais do que apenas saber o idioma, no entanto, Node.js tem módulos e conceitos desconhecidos que exigiriam paciência em um ciclo interminável de aprendizado de novos conceitos. Ele tem seu próprio gerenciador de pacotes (npm), gerenciador de versões (nvm) e o maior registro de pacotes do mundo. Fique tranquilo, a dificuldade inicial tornará sua vida muito mais fácil a longo prazo.

Instalação

Atualmente, existem duas opções para Node.versões js que você pode querer considerar.

Continuaremos com a versão LTS. Baixar o Node do site oficial do seu sistema operacional também instalaria o Node Package Manager (npm). É difícil falar sobre Node.js sem entrar no npm. Voltaremos ao gerenciador de pacotes mais tarde. Se você estiver usando o Ubuntu ou qualquer outra distro debian, simplesmente use:

$ sudo apt install nodejs

Para todos os binários e o código-fonte, visite a página oficial de download.

É isso com a instalação, é hora de dizer “Olá, mundo!”

Olá Mundo! E criando um servidor

Como prometido, estaremos criando um Olá.js arquivo e executá-lo usando o Node. Em um arquivo de texto simples, chamado Olá.js, nós escrevemos a seguinte linha:

console.log (“Olá, Mundo!”);

Agora salve o arquivo e abra um terminal no mesmo diretório do arquivo e execute o seguinte comando:

$ node olá.js
#Ou você pode correr
$ node olá

Isso lhe dará a saída desejada de "Olá Mundo". Assim como o JavaScript vanilla. Mas, certamente, podemos fazer melhor ..

Ao contrário das aplicações baseadas em PHP que requerem Apache ou Nginx ou algum outro programa de servidor web para rodar no topo, no nó nós escrevemos nossas próprias rotas http, configuramos as portas e nomes de host e processamos requisições HTTP para dar respostas apropriadas.

Parece muito trabalho, mas é apenas um obstáculo inicial na curva de aprendizado e, assim que você pegar o jeito, será capaz de entender os aplicativos da web com maior profundidade do que nunca. Vamos criar um servidor web que escuta na porta 3000 no localhost e retorna um arquivo de texto como resposta. Crie um arquivo aplicativo.js com o seguinte conteúdo:

const http = requer ('http');
const hostname = '127.0.0.1 ';
porta const = 3000;
servidor const = http.createServer ((req, res) =>
res.statusCode = 200;
res.setHeader ('Content-Type', 'text / plain');
res.end ('Olá, mundo \ n');
);
servidor.escute (porta, nome do host, () =>
console.log ('Servidor rodando em http: // $ hostname: $ port /');
);

Antes de entrarmos nos detalhes do código, salve este arquivo e abra um terminal no mesmo diretório do arquivo e execute:

app $ node

Isso executará o conteúdo de aplicativo.js arquivo e você obterá uma saída da seguinte forma:

Abra um navegador da web e visite http: // localhost: 3000 / ou http: // 127.0.0.1: 3000 / para ver um texto simples do Hello World na janela do seu navegador.

Então o que acabamos de fazer? Bem, se você está familiarizado com JavaScript, provavelmente pode entender parte dele ..

O primeira linha importa o módulo http, que é um módulo embutido que vem junto com o Node e nos ajuda a ouvir solicitações em soquetes da web, processar solicitações http e fornecer respostas apropriadas.

O segunda e terceira linha define o nome de anfitrião para '127.0.0.1 ' e porta  para 3000. Isso significa que podemos continuar reutilizando a variável nome de anfitrião e porta, em vez de digitar todo o endereço IP. Mais tarde, quando estiver realmente implantando em um servidor, você irá substituí-lo pelo endereço IP do servidor e um número de porta como 80 ou 443 se for um servidor web. A palavra-chave const garante que a variável não pode ser alterada em outro lugar no programa.

O linhas quatro a oito  cria um objeto de servidor que aceita solicitação como req e dá resposta como res.

A resposta tem um atributo statusCode, o res.statusCode que é definido como 200, que o cliente interpreta como o status "Ok". Os códigos de erro são 400s e 500s, por exemplo, Erro 404 é um código para recurso não encontrado. Da mesma forma, o atributo setHeader é definido como 'text / plain', o que significa que o cliente receberá texto simples. Você pode definir isso para HTML e seu navegador irá renderizar qualquer html válido com o qual o servidor responde. E a fim atributo é simplesmente o texto que queremos retornar. Em vez de ter uma string aqui, os aplicativos do mundo real terão um arquivo HTML estático ou outro .js arquivo para o navegador do cliente, o que constituiria uma resposta muito mais útil.

finalmente, o últimas três linhas inicia o servidor e imprime uma mensagem dizendo que ele está ativo em um nome de host específico e número de porta conforme definido por const declarações, inicialmente. Toda vez que uma nova solicitação chega no nome do host especificado: o servidor de combinação de porta dá responde com resposta objeto.

O que isso implica?

Você não precisa entender o código acima em sua totalidade para saber as implicações. Já temos JavaScript no front-end graças a frameworks incríveis como Angular e React. Junto com isso, também temos funcionalidades de back-end embutidas no Node.js ethos.

Estruturas da Web como Express.js pode ajudá-lo a escrever aplicativos ainda mais complexos no topo do Node.js. A busca de dados do banco de dados, a criação de APIs e a interface de usuário front-end podem ser gravadas em uma linguagem.

O poder do V8

Apesar de tudo ser um único idioma, ainda há muito o que aprender. Estruturas e módulos diferentes têm funcionalidades diferentes. Há uma tonelada de versões para acompanhar. Então, há algum outro benefício de usar o Node.ecossistema js.

Um dos argumentos mais importantes para apoiá-lo é que o motor V8 tem um excelente suporte para E / S assíncrona e sem bloqueio. O que basicamente significa que um único processo em execução na memória do sistema pode lidar com várias solicitações de entrada. O que significa aproximadamente é que se uma solicitação está sendo processada e outra solicitação chega, o Node tem a capacidade de iniciar o processamento da nova solicitação, mesmo que o o primeiro pedido ainda não foi concluído.

Além disso, um único processo em execução na sua memória é responsável por lidar com todas as solicitações recebidas. Ao contrário dos aplicativos baseados em PHP, que geram um novo processo para cada nova solicitação de entrada.

Esperançosamente, esta introdução foi o suficiente para motivá-lo sobre o Node.js. Vamos saber se você deseja tutoriais mais aprofundados sobre tópicos semelhantes, seguindo-nos no Twitter, Facebook e YouTube.

Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...
Melhores jogos para jogar com rastreamento manual
Oculus Quest introduziu recentemente a grande ideia de rastreamento manual sem controladores. Com um número cada vez maior de jogos e atividades que e...
Como mostrar a sobreposição de OSD em aplicativos e jogos Linux em tela cheia
Jogar jogos em tela cheia ou usar aplicativos em modo de tela cheia sem distração pode cortar você das informações relevantes do sistema visíveis em u...