Nó.JS (Node.JS)

Node.js é um tempo de execução JavaScript de plataforma cruzada de código aberto que é executado em servidores. Desde o seu lançamento em 2009, esta plataforma tornou-se extremamente popular e desempenha um papel muito importante no campo do desenvolvimento web nos dias de hoje.
Para o artigo completo em Node.JS ...

Mostrar filtro
Filtros de hospedagem
A2 Themes & Host Me Filter

Sistema operacional

Espaço em disco

Memoria RAM

Tipo de disco

Núcleos de CPU

Ordenar

Pontuação - 0
RedSwitches Logo
RedSwitches

RedSwitches

Pearl
$6.94 /Por mês


Locais do servidor


RedSwitches Servers in NetherlandsPaíses Baixos RedSwitches Servers in UnionEstados Unidos RedSwitches Servers in MelbourneAustrália RedSwitches Servers in MumbaiÍndia RedSwitches Servers in GermanyAlemanha
Comparar
Pontuação - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Por mês


Locais do servidor


Hostarina Servers in UnionEstados Unidos Hostarina Servers in RawalpindiPaquistão Hostarina Servers in MunichAlemanha
Comparar
Pontuação - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Por mês


Locais do servidor


Net9 Oy Servers in StockholmSuécia Net9 Oy Servers in HelsinkiFinlândia Net9 Oy Servers in ParisFrança
Comparar
Pontuação - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Por mês


Locais do servidor


Heroku Servers in United StatesEstados Unidos
Comparar
Pontuação - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Por mês

Comparar
Pontuação - 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /Por mês


Locais do servidor


Chemi Cloud Servers in BangaloreÍndia Chemi Cloud Servers in New YorkEstados Unidos Chemi Cloud Servers in BucharestRomênia Chemi Cloud Servers in LondonReino Unido Chemi Cloud Servers in AmsterdamPaíses Baixos Chemi Cloud Servers in TorontoCanadá Chemi Cloud Servers in SydneyAustrália
Comparar
Pontuação - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Por mês


Locais do servidor


Oudel Servers in UnionEstados Unidos
Comparar

 

Node.js

 

 

Node.js é um tempo de execução JavaScript de plataforma cruzada de código aberto que é executado em servidores. Desde o seu lançamento em 2009, esta plataforma tornou-se extremamente popular e desempenha um papel muito importante no campo do desenvolvimento web nos dias de hoje. Se considerarmos o número de estrelas que um projeto coletou no GitHub como um indicador de popularidade, o Node.js, que tem mais de 50.000 estrelas, é um projeto muito, muito popular.

 

A plataforma Node.js é construída no mecanismo V8 JavaScript do Google, que é usado no navegador Google Chrome. Esta plataforma é usada principalmente para criar servidores web, mas seu escopo não se limita a isso.

 

Vejamos os principais recursos do Node.js.

 

Rapidez

 

Uma das principais atrações do Node.js é a velocidade. O código JavaScript executado em Node.js pode ser duas vezes mais rápido do que o código escrito em linguagens compiladas como C ou Java, e ordens de magnitude mais rápidas do que linguagens interpretadas como Python ou Ruby. A razão para isso é a arquitetura sem bloqueio da plataforma, e os resultados específicos dependem dos benchmarks usados, mas no geral, Node.js é uma plataforma muito rápida.

 

Simplicidade

 

A plataforma Node.js é fácil de aprender e usar. Na verdade, é muito simples, especialmente quando comparado a algumas outras plataformas de servidor.

 

JavaScript

 

JavaScript é executado no ambiente Node.js. Isso significa que milhões de desenvolvedores front-end que já usam JavaScript no navegador podem escrever código do lado do servidor e do lado do cliente na mesma linguagem de programação sem ter que aprender uma ferramenta totalmente nova para passar para o desenvolvimento do lado do servidor.

 

O navegador e o servidor usam os mesmos conceitos de linguagem. Além disso, o Node.js pode fazer a transição rápida para novos padrões ECMAScript à medida que são implementados na plataforma.

 

Não há necessidade de esperar que os usuários atualizem seus navegadores para isso, pois o Node.js é um ambiente do lado do servidor que está completamente no controle do desenvolvedor. Como resultado, novos recursos de idioma tornam-se disponíveis quando você instala uma versão de suporte do Node.js.

 

Motor V8

 

No coração do Node.js, entre outras soluções, está o mecanismo V8 JavaScript de código aberto do Google, que é usado no Google Chrome e em outros navegadores. Isso significa que o Node.js está aproveitando as vantagens de milhares de engenheiros que tornaram o tempo de execução do JavaScript do Chrome incrivelmente rápido e continuam trabalhando para melhorar o V8.

 

Assincronia

 

Em linguagens de programação tradicionais (C, Java, Python, PHP), todas as instruções são bloqueadas por padrão, a menos que o desenvolvedor explicitamente cuide da execução do código de forma assíncrona. Como resultado, se, por exemplo, em tal ambiente, você fizer uma solicitação de rede para baixar algum código JSON, a execução do fluxo do qual a solicitação é feita será suspensa até que a resposta seja recebida e processada.

 

JavaScript torna muito mais fácil escrever código assíncrono e sem bloqueio usando um único thread, callbacks e uma abordagem de desenvolvimento orientada a eventos. Sempre que precisamos realizar uma operação pesada, passamos um callback para o mecanismo apropriado, que será chamado imediatamente após a conclusão desta operação. Com isso, não há necessidade de esperar pelos resultados dessas operações para que o programa continue funcionando.

 

Um mecanismo semelhante originado em navegadores. Não podemos esperar, digamos, por umAJAXsolicitação para terminar sem poder responder às ações do usuário, como cliques em botões. Para que seja conveniente aos usuários trabalhar com páginas da web, tudo, tanto o download de dados da rede quanto o processamento de cliques em botões, deve ocorrer simultaneamente, em tempo real.

 

Se você já criou um manipulador de eventos de clique de botão, já usou técnicas de programação assíncrona.

 

Os mecanismos assíncronos permitem que um único servidor Node.js lide simultaneamente com milhares de conexões sem sobrecarregar o programador com gerenciamento de threads e tarefas de execução paralela de código. Muitas vezes, essas coisas são fontes de erro.

 

O Node.js fornece ao desenvolvedor mecanismos básicos de E / S sem bloqueio e, em geral, as bibliotecas usadas na estrutura do Node.js são escritas usando paradigmas sem bloqueio.Isso torna o comportamento de bloqueio a exceção, e não a norma.

 

Quando o Node.js precisa realizar uma operação de I / O, como carregar dados da rede, acessar um banco de dados ou sistema de arquivos, em vez de bloquear o thread principal esperando pelos resultados de tal operação, o Node.js iniciará seu execução e continuar a fazer outras coisas até que os resultados desta operação sejam recebidos.

 

Bibliotecas

 

Com a facilidade e a conveniência de trabalhar com um gerenciador de pacotes para Node.js chamado npm, o ecossistema Node.js está prosperando. Existem agora mais de meio milhão de pacotes de código aberto no registro npm que qualquer desenvolvedor Node.js pode usar livremente.

 

Após revisar alguns dos principais recursos da plataforma Node.js, vamos testá-la em ação. Vamos começar com a instalação.

 

 

Node.js

 

 

Instalando Node.js

 

O Node.js pode ser instalado de várias maneiras, que abordaremos em um momento. Portanto, os pacotes de instalação oficiais para todas as principais plataformas podem ser encontrados.

 

Existe outra maneira muito conveniente de instalar o Node.js, que é usar o gerenciador de pacotes fornecido no sistema operacional. Por exemplo, o gerenciador de pacotes macOS, que é o padrão de fato nesta área, é chamado de Homebrew.

 

Se você tiver um em seu sistema, pode instalar o Node.js executando este comando na linha de comando:

 

brew install node

 

Uma lista de gerenciadores de pacotes para outros sistemas operacionais, incluindo Linux e Windows, pode ser encontrada aqui.

 

Um gerenciador de versão Node.js popular é o nvm. Esta ferramenta permite alternar convenientemente entre as diferentes versões do Node.js, com sua ajuda você pode, por exemplo, instalar e experimentar uma nova versão do Node.js e então, se necessário, reverter para a antiga. O Nvm também é útil em uma situação em que você precisa testar algum código em uma versão antiga do Node.js.

 

Para iniciantes usarem os instaladores oficiais do Node.js. Para usuários do macOS, é recomendável instalar o Node.js usando o Homebrew. Agora que você instalou o Node.js, é hora de escrever "Hello World".

 

Primeiro aplicativo Node.js

 

O exemplo mais comum de um primeiro aplicativo Node.js é um servidor da web simples. Aqui está seu código:

const http = requer ('http')

const hostname = '127.0.0.1'

porta const = 3000

servidor const = http.createServer ((req, res) = & gt; {

res.statusCode = 200

res.setHeader ('Content-Type', 'text / plain')

res.end ('Olá, mundo \ n')

})

server.listen (porta, nome do host, () = & gt; {

console.log (`Servidor em execução em http: // $ {hostname}: $ {port} /`)

})

 

Para executar este código, salve-o em um arquivo server.js e execute o seguinte comando no terminal:

 

node server.js

 

Para verificar o servidor, abra um navegador e insira na barra de endereços http://127.0.0.1:3000, ou seja, o endereço do servidor que será exibido no console após seu lançamento com sucesso. Se tudo funcionar como deveria, a página exibirá "Hello World".

 

Vejamos este exemplo.

 

Primeiro, observe que o código contém o comando para conectar o módulo HTTP.

 

A plataforma Node.js possui um excelente conjunto padrão de módulos, que inclui mecanismos bem desenvolvidos para trabalhar com a rede.

O método do objeto createServer () http cria um novo servidor HTTP e o retorna.

 

O servidor está configurado para escutar em uma porta específica em um host específico. Quando o servidor está pronto, o callback correspondente é acionado, informando que o servidor está rodando.

Quando o servidor recebe uma solicitação, é disparada uma solicitação de evento que fornece dois objetos. O primeiro é a solicitação (req, o objeto http.IncomingMessage), o segundo é a resposta (res, o objeto http.ServerResponse). Eles são os mecanismos mais importantes para lidar com solicitações HTTP.

 

O primeiro nos fornece informações sobre a solicitação. Em nosso exemplo simples, não usamos esses dados, mas, se necessário, usando o objeto, req você pode acessar os cabeçalhos de solicitação e os dados passados ​​nele.

 

O segundo é necessário para formar e enviar uma resposta a uma solicitação.

 

Nesse caso, formamos a resposta à solicitação da seguinte maneira. Primeiro, definimos o código de status da propriedade para um valor de 200, o que indica uma operação bem-sucedida:

 

res.statusCode = 200

Em seguida, definimos o título Content-Type:

res.setHeader ('Content-Type', 'text / plain')

Em seguida, concluímos a preparação da resposta adicionando seu conteúdo como um argumento para o método end ():

res.end ('Olá, mundo \ n')

 

Já mencionamos que um poderoso ecossistema se formou em torno da plataforma Node.js. Vamos agora discutir algumas estruturas populares e ferramentas auxiliares para Node.js.

 

Frameworks e ferramentas auxiliares para Node.js

 

Node.js é uma plataforma de baixo nível. Para simplificar o desenvolvimento e tornar a vida mais fácil para os programadores, um grande número de bibliotecas foi criado. Alguns deles se tornaram muito populares com o tempo. Aqui está uma pequena lista de bibliotecas que considero bem feitas e que vale a pena explorar:

 

Expressar: Esta biblioteca fornece ao desenvolvedor uma ferramenta extremamente simples, mas poderosa, para construir servidores web. A chave para o sucesso do Express tem sido uma abordagem minimalista e um foco em mecanismos básicos do lado do servidor, sem tentar impor uma visão de arquitetura de servidor "one-stop".

 

Meteoro: É uma estrutura de pilha completa poderosa que adota uma abordagem isomórfica para desenvolver aplicativos JavaScript e usar código no cliente e no servidor. Outrora, o Meteor era uma ferramenta independente que inclui tudo que um desenvolvedor poderia precisar. Agora também se integra a bibliotecas de front-end, como React, Vue e Angular. O Meteor, além de desenvolver aplicações web comuns, também pode ser usado no desenvolvimento móvel.

 

Koa: Esta estrutura da web é construída pela mesma equipe por trás do Express. Com base em anos de experiência com o Express, ele foi desenvolvido com foco na simplicidade e compactação. Este projeto surgiu como uma solução para o problema de fazer grandes mudanças no Express que são incompatíveis com outros mecanismos de framework que podem dividir a comunidade.

 

Next.jsObservação: esta estrutura foi projetada para organizar a renderização do lado do servidor de aplicativos React.

 

Micro: É uma biblioteca muito leve para a construção de microsserviços HTTP assíncronos.

Socket.io. É uma biblioteca para o desenvolvimento de aplicativos de rede em tempo real.

 

Na verdade, no ecossistema Node.js, você pode encontrar uma biblioteca auxiliar para quase todas as tarefas. Como você pode imaginar, leva muito tempo para construir esse ecossistema. A plataforma Node.js surgiu em 2009. Durante sua existência, aconteceram muitas coisas que deveriam ser conhecidas por um programador que deseja aprender esta plataforma.

 

Uma breve história do Node.js

 

Node.js faz 9 anos este ano. É claro que isso não é tanto quando você compara esta idade com a idade do JavaScript, que já tem 23 anos, ou com a idade de 25 anos da web como a conhecemos se contarmos com o advento do Mosaico navegador.

 

9 anos é pouco tempo para a tecnologia, mas agora parece que a plataforma Node.js sempre existiu.

 

Com Node.js das primeiras versões da plataforma quando tinha apenas 2 anos. Mesmo assim, apesar de não haver tanta informação sobre o Node.js, já se podia sentir que o Node.js é muito sério.

 

Agora vamos falar sobre as tecnologias por trás do Node.js e dar uma olhada rápida noprincipais desenvolvimentos relacionados a esta plataforma.

 

Portanto, JavaScript é uma linguagem de programação que foi criada no Netscape como uma linguagem de script para manipular páginas da web no navegador Netscape Navigator.

Parte do negócio da Netscape era vender servidores web, que incluíam um ambiente chamado Netscape LiveWire. Ele permitiu que você crie páginas da web dinâmicas usando JavaScript do lado do servidor.

 

a ideia de usar JS para desenvolvimento do lado do servidor é muito mais antiga do que Node.js. Essa ideia é quase tão antiga quanto o próprio JavaScript, mas na época em questão, o JS do lado do servidor não era popular.

 

Um dos principais fatores que tornaram a plataforma Node.js tão difundida e popular foi quando ela apareceu pela primeira vez. Então, alguns anos antes, o JavaScript começou a ser considerado uma linguagem séria. Isso aconteceu graças a aplicativos da Web 2.0 como o Google Maps ou Gmail, que mostraram ao mundo o poder das tecnologias modernas da web.

 

Graças à guerra competitiva de navegadores, que continua até hoje, o desempenho dos motores JavaScript aumentou significativamente. As equipes de desenvolvimento por trás dos principais navegadores estão trabalhando todos os dias para melhorar o desempenho de suas soluções, o que tem um efeito benéfico no JavaScript em geral.

 

Um desses motores é o já citado V8, usado no navegador Chrome e usado no Node.js. É um dos resultados dos desenvolvedores de navegador que buscam um código JavaScript de alto desempenho.

 

É claro que a popularidade do Node.js não se baseia apenas em uma feliz coincidência e no fato de que a plataforma nasceu na hora certa. Ela apresentou ao mundo uma abordagem inovadora para o desenvolvimento de JavaScript do lado do servidor. Vejamos os principais marcos na história do Node.js.

 

2009


  • O surgimento do Node.js

  • Fazendo a primeira variante npm.

 

2010

  • A aparência do Express.

  • O surgimento de Socket.io.

 

2011


  • Versão 1.0 do Npm.

  • Grandes empresas como LinkedIn e Uber começaram a usar o Node.js.

 

2012


  • O rápido aumento da popularidade do Node.js.

 

2013


  • O surgimento do Ghost, a primeira grande plataforma para publicações usando Node.js.

  • Lançamento Koa.

 

2014


  • Eventos dramáticos aconteceram este ano. Surgiu o projeto IO.js, que é um fork do Node.js, cujo objetivo, entre outras coisas, era apresentar o suporte ES6 e acelerar o desenvolvimento da plataforma.

 

2015


  • A Fundação Node.js é fundada.

  • Mesclando IO.js e Node.js.

  • No npm, é possível trabalhar com módulos privados.

  • Rendimento Node.js 4 (deve-se observar que as versões 1, 2 e 3 da plataforma não).

 

2016


  • Incidente com o pacote esquerdo.

  • O surgimento do Yarn.

  • Versão do Node.js 6.

 

2017


  • O Npm está começando a prestar mais atenção à segurança.

  • Versão 8 do Node.js

  • O surgimento do suporte para HTTP / 2.

  • O V8 é oficialmente reconhecido como um mecanismo JS projetado não apenas para o Chrome, mas também para o Node.

  • Há 3 bilhões de downloads NPM todas as semanas.

 

2018


  • Versão 10 do Node.js.

  • Suporte para módulos ES.

  • Suporte experimental para mjs.