Contact Us
Node.JS: o potencial da plataforma que fez JavaScript crescer
Tempo de leitura: 4 minutos

Node.JS: o potencial da plataforma que fez JavaScript crescer

por Diogo Salaberri, Technical Project Manager @ Xpand IT

Para vos ajudar e explicar o que é Node.JS, há que vos dar um um pouco de contexto. Temos de falar primeiro sobre JavaScript! A famosa linguagem de programação foi criada por Brendan Eich no final do ano de 1995.

No entanto, o JavaScript que conhecemos hoje já é diferente porque antes estava num campo ainda novo, que era a Web, onde já existiam linguagens como PHP e Java (JSF – JavaServer Faces). JavaScript desenvolveu-se bastante até os dias de hoje, mas sempre foi uma opção Client Side pois, como sabemos, funciona nos navegadores porque cada cliente tem os seus motores para isso.

O mundo do desenvolvimento Web é normalmente dividido (mas não em todos os casos) em Backend e Frontend, devido à arquitetura Cliente-Servidor e o JavaScript. No caso de JavaScript, que já tinha o seu espaço para trabalhar Frontend, tendo um limite muito claro à sua frente: o Backend. E é aqui que entra o nosso tema central, o Node.JS.

Node.JS
Fonte: Flatlogic.com

O que é Node.JS?

Segundo o próprio site da plataforma, o Node.JS “é um ambiente de execução JavaScript multiplataforma de código aberto”. O Node.JS não foi a primeira tentativa de levar o JavaScript para fora dos navegadores. Surgiram várias opções, mas esbarraram em performance, usabilidade, etc., acabando por dar errado. O que dá notoriedade ao Node.JS é que ele foi bem-sucedido, abrindo um novo mundo para onde o JavaScript pôde crescer.

O ambiente funciona sobre a implementação do motor JavaScript V8, criado pelo Google e presente nos navegadores Chrome e Chromium, e isso explica como foi possível ter as linguagens interpretadas fora dos navegadores. Afinal, se eu precisar de um motor JavaScript e não estou mais a rodá-lo (sendo interpretado) no navegador, cria-se um ambiente que tem o seu próprio motor – e esse é o Node.JS.

Node.JS – Aprofundando os conceitos…

Agora que percebemos como o ambiente Node.JS foi capaz de interpretar JavaScript fora dos navegadores, precisamos de ter atenção a alguns conceitos que ajudaram a plataforma a consolidar-se como uma escolha viável no desenvolvimento Server-Side.

Ao contrário das linguagens concorrentes, Node.JS é single-thread, o que significa que existe apenas uma thread para tratar das requisições. Essa única thread chama-se Event Loop e é muito importante também dizer que ela é não-bloqueante – conceito chave para que isto funcione. Ser uma thread não-bloqueante significa que o Event Loop não fica bloqueado e a aguardar que as requisições sejam resolvidas. O Event Loop recebe as requisições, repassa o trabalho e espera a próxima requisição, tratando-as como assíncronas.

Node.JS é multi-plataforma, ou seja, as suas aplicações escritas em JavaScript, podem operar em diferentes plataformas como Windows, macOS e Linux. Basta teres o Node.JS instalado para interpretares o teu código, independentemente de onde estiver a funcionar.

Node.JS vem com um extra…

Quando o Node.JS é instalado no ambiente de desenvolvimento, vem também com o NPM que, por ser importante, também merece ser mencionado. Trata-se do Node Package Manager: um gestor de pacotes JavaScript para Node.JS. Isto torna a plataforma ainda mais atrativa à comunidade porque traz vários pacotes de terceiros para acrescentar à sua aplicação. Em termos práticos, não precisas de fazer tudo sozinho, se alguém na comunidade já solucionou o problema, provavelmente publicou a solução no NPM e basta adicioná-la à sua aplicação.

As aplicações mais comuns de Node.JS

  • REST API: o Node.JS brilha quando usado para desenvolver REST APIs. Juntando poucas bibliotecas podemos, rapidamente, ter uma REST API servindo ou integrando aplicações. Quando falamos de REST APIs com Node.JS, lembramo-nos logo do Express.JS, que é uma framework Web, flexível e minimalista. Tal framework pode, facilmente, ser adicionada ao teu projeto através do NPM
  • Tempo real: aplicações em tempo real, como chats, obrigam a um alto tráfego de informação, muitas vezes para diversos dispositivos. Nesta aplicabilidade, temos o uso dos conceitos de multiplataforma, requisições assíncronas e não-bloqueantes
  • Proxy API: uma outra forma muito comum de utilização do Node.JS é a criação de Proxy APIs, que é uma camada que está normalmente acima de outras APIs, orquestrando chamadas, dados ou até mesmo a funcionar como um Load Balancer.
Node.JS
Fonte: IBM Developer

Conclusão

O Node.JS pode já não ser uma novidade para os developers de JavaScript, mas ainda é de grande importância na comunidade, não só pelo que fez no passado, mas pelo que faz para as frameworks JavaScript através do NPM.

Para finalizar, e ao escrever este texto em 2022, o Node.JS já é plenamente aceite e consolidado como um ambiente de desenvolvimento JavaScript e sempre será lembrado como uma plataforma que rompeu as fronteiras das soluções Server-Side. Para além disso, já existem soluções escritas em cima de Node.JS, como o Nest.JS, que traz consigo o TypeScript, assim como diversas abstrações.

Leave a comment

Comments

  1. I precisely wished to appreciate you yet again. I’m not certain what I would have followed without these secrets provided by you regarding such subject. Previously it was a real frustrating crisis for me personally, but taking note of a new specialised way you resolved that made me to cry for gladness. I will be thankful for your information and as well , hope you comprehend what a great job that you are putting in teaching others thru your web blog. I am sure you have never come across any of us.

  2. I have read your article carefully and I agree with you very much. So, do you allow me to do this? I want to share your article link to my website: gate.io

  3. I have read your article carefully and I agree with you very much. This has provided a great help for my thesis writing, and I will seriously improve it. However, I don’t know much about a certain place. Can you help me?