Saltar para o conteúdo

Node.js

Origem: Wikipédia, a enciclopédia livre.
Node.js
Autor Ryan Dahl
Desenvolvedor Node.js Developers, Linux Foundation
Lançamento 27 de maio de 2009 (16 anos)[1]
Versão estável 16.2.0[2] (19 de maio de 2021; há 4 anos)
Escrito em C, C++, JavaScript
Sistema operacional Linux, Microsoft Windows, MacOS, SmartOS, AIX, FreeBSD[3]
Gênero(s) Sistema de tempo de execução[4]
Licença MIT[5]
Estado do desenvolvimento Corrente
Página oficial http://www.nodejs.org

Node.js é um software de código aberto, multiplataforma, baseado no interpretador V8 do Google e que permite a execução de códigos JavaScript fora de um navegador web.[6][7]

O runtime de JavaScript é constituído pelos seguintes comandos: node package manager (npm), e npx (node package extractor), o npx foi introduzido na versão 5.2.0 do JavaScript, pois a antes deveria ser instalado individualmente; onde o primeiro tem o propósito de executar código armazenado num package de nodejs, instalando o software globalmente ou localmente, já o segundo tem o propósito de instalar a nível local o código instalado globalmente. Um exemplo disso é o npx create-react-app que tem como propósito instalar a nível local um template vazio de um site de react, pronto a ser usado, através de uma fórmula instalada com npm.

O código de nodejs é baseado na arquitetura orientada a eventos, capaz de entrada/saída assíncrona. Otimizado para ser executado em tempo real tratando-se também de um ditribuído.

Node.js é usado pela GoDaddy,[8] Groupon,[9] IBM,[10] LinkedIn,[11][12] Microsoft,[13][14] Netflix,[15] PayPal,[16][17] Rakuten, SAP,[18] Voxer,[19] Walmart,[20] e Yahoo!.[21]

Histórico

Ryan Dahl, Criador do Node.js

Ryan Dahl se inspirou para criar Node.js depois de ver barra de progresso de upload de arquivos no Flickr, ele percebeu que o navegador não sabia o quanto do arquivo foi carregado e tinha que consultar o servidor web.

Características

A principal característica e diferença de outras tecnologias (como PHP, Java, C# e C) é a execução das requisições/eventos em single-thread, onde apenas uma thread (chamada de Event Loop) é responsável por executar o código Javascript, sem a necessidade de criar nova thread que utilizaria mais recursos computacionais (por exemplo memória RAM) e sem o uso da fila de espera.[22]

Vantagens de uso

Flexibilidade

O Node.js possui o gerenciador com inúmeros pacotes e softwares reusáveis NPM (Node Package Manager), dando ao interpretador um potencial a ser utilizada em qualquer situação. O pacote mais conhecido é o Express.js, um framework completo para desenvolvimento de aplicações Web.[22]

Leveza

Um ambiente Node.js não exige muitos recursos computacionais tradicionais. Se utilizado em conjunto com a ferramenta Docker, o ganho na velocidade de deploy e replicação de máquinas pode ser muito significativo e, em ambientes escaláveis, de micro-serviços e serverless, representa menos custo e mais eficiência.[22] Um exemplo de uso é uma aplicação de conversa/bate papo (webchat).[22]

Suporte

Conta com suporte das principais empresas de serviços de armazenamento na nuvem, como a AWS, Google Cloud e, Microsoft Azure, com suporte nativo ao Node.JS.

Produtividade

O gerenciador NPM fornece pacotes reusáveis disponível gratuitamente para uso em grupo;[22]

Mesma linguagem no frontend e backend, que pode representar ganhos de reuso de código e criação de equipes multidisciplinares, reaproveitando recursos;[22]

A possibilidade de deploys e iterações mais rápidas, e resolução de problemas "on the fly", também permitem a criação de soluções próprias e inovadoras, como a Uber faz para resolver alguns problemas.[22]

Veja também

Referências

  1. «Release v0.0.1». Github (em inglês). 27 de maio de 2009. Consultado em 22 de maio de 2021 
  2. «Release 2021-05-19, Version 16.2.0 (Current)». Github (em inglês). 19 de maio de 2021. Consultado em 22 de maio de 2021 
  3. «node/BUILDING.md at master». Github. Consultado em 22 de maio de 2021 
  4. «Sobre | Node.js». Node.js. Consultado em 22 de maio de 2021 
  5. «node/LICENSE at master». GitHub (em inglês). Consultado em 22 de maio de 2021 
  6. «node/README.md at master». Github (em inglês). Consultado em 22 de maio de 2021 
  7. «Home | Node.js». Node.js (em inglês). Consultado em 22 de maio de 2021 
  8. Why GoDaddy’s Nodejitsu deal is great for Node.js, VentureBeat, February 10, 2015
  9. Geitgey, Adam (30 October 2013). «I-Tier: Dismantling the Monoliths». Groupon. Consultado em 30 April 2014  Verifique data em: |acessodata=, |data= (ajuda)
  10. «IBM Bluemix». Consultado em 4 July 2015  Verifique data em: |acessodata= (ajuda)
  11. «You'll never believe how LinkedIn built its new iPad app». VentureBeat. May 2, 2012. Consultado em May 10, 2012  Verifique data em: |acessodata=, |data= (ajuda)
  12. «Blazing fast node.js: 10 performance tips from LinkedIn Mobile». Consultado em 7 April 2015  Verifique data em: |acessodata= (ajuda)
  13. Baxter-Reynolds, Matthew (November 9, 2011). «Here's why you should be happy that Microsoft is embracing Node.js». London: The Guardian. Consultado em May 10, 2012  Verifique data em: |acessodata=, |data= (ajuda)
  14. «WebMatrix - Front End Web Developers take note (ASP.NET, PHP, node.js and more)». Consultado em 2 August 2014  Verifique data em: |acessodata= (ajuda)
  15. Node.js in Flames November 19, 2014
  16. «Clash of the Titans: Releasing the Kraken, NodeJS @paypal». fluentconf.com. May 28, 2013. Consultado em September 11, 2013  Verifique data em: |acessodata=, |data= (ajuda)
  17. «All such companies and their products in which Node.js is used». Consultado em 2 August 2014  Verifique data em: |acessodata= (ajuda)
  18. «SAP AppBuilder». SAP. March 10, 2014. Consultado em March 10, 2014  Verifique data em: |acessodata=, |data= (ajuda)
  19. The Node Ahead: JavaScript leaps from browser into future, The Register, March 1, 2011
  20. «Why Walmart is using Node.js». VentureBeat. January 24, 2012. Consultado em May 10, 2012  Verifique data em: |acessodata=, |data= (ajuda)
  21. «Yahoo! Announces Cocktails Shaken, Not Stirred». Consultado em 7 April 2015  Verifique data em: |acessodata= (ajuda)
  22. a b c d e f g lenon (5 de setembro de 2018). «Node.js - O que é, como funciona e quais as vantagens». Opus Software. Consultado em 10 de outubro de 2019 

Ligações externas

Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.