O Node.js é um runtime — aplicação que possibilita o processamento, a renderização e a execução de elementos escritos em linguagem não suportada nativamente pelo sistema — que permite, ao programador, desenvolver aplicações JavaScript diretamente do servidor.
Em outras palavras, ao instalar Node.js em ambiente server-side, você ganha a possibilidade de usufruir de vários aspectos e elementos do JavaScript que facilitam a vida do desenvolvedor, tais como:
- sintaxe;
- semântica;
- rapidez; e
- gama de recursos.
Quer entender melhor a importância disso que acabei de falar? Neste artigo, você conhecerá um pouco da influência da linguagem JavaScript atualmente, do propósito do Node.js, bem como os benefícios da ferramenta e processo de instalação.
A importância do JavaScript para desenvolvedores
A comunidade Stack Overflow realiza pesquisas anuais para coletar insights relacionados ao universo dos programadores de software. A última delas, divulgada em 2017, reuniu mais de 65 mil profissionais da área espalhados pelo mundo.
Dessa vasta quantidade de entusiastas e experts, 62,5% consideram o JavaScript “top of mind” — entre os profissionais da área, o número aumenta: 66,7%. Esses dados corroboram com o sucesso do JavaScript, mas o que o justifica?
A simplicidade da linguagem permite que usuários de todos os níveis a utilizem em projetos, desde a criação de funções absolutamente simples ao desenvolvimento de aplicações complexas. Ou seja, JavaScript é bastante acessível.
Evidentemente, a sua utilização costuma ocorrer no desenvolvimento front-end; isto é, trabalhar com elementos de interface e UX (User Experience) — como nos sites que executam aplicações Web.
Ao usar os scripts para complementar uma estrutura de códigos escritos em HTML e CSS, por exemplo, é possível acrescentar automatizações, animações e outras funcionalidades que influenciam na experiência dos usuários.
O uso do JavaScript, no entanto, não é restrito a atividades de front-end. Profissionais que atuam no back-end — no ambiente server-side — também podem aproveitar os benefícios do JavaScript para dar um plus nas aplicações executadas no servidor — como a interação com banco de dados.
Isso significa que o JavaScript suporta todas as camadas de desenvolvimento Web? Sim, ela é full stack: aplicável tanto no client-side quanto no server-side.
Para isso, é necessário instalar uma ferramenta no servidor para que os códigos sejam não apenas interpretados, mas compilados e otimizados para que rodem perfeitamente. Eis, então, que o Node.js entra em cena!
O propósito do Node.js
Criado em 2009 por Ryan Dahl, engenheiro de software que atualmente integra a equipe do Google Brain, o Node.js é relativamente recente no meio da programação, embora o progresso até o momento seja grande — são mais de 2200 colaboradores.
Conforme expliquei no primeiro parágrafo do artigo, o Node.js não é um framework, tampouco uma linguagem de programação; ele é um runtime. Sendo assim, podemos considerá-lo uma plataforma de desenvolvimento.
A ideia por trás do projeto é bastante simples: permitir que o JavaScript seja utilizado no lado do servidor para que o usuário consiga desenvolver aplicações de rede mais eficientes e escaláveis.
O problema que o Dahl e sua equipe se propuseram a resolver, no entanto, vai além. No caso, promover a evolução da arquitetura clássica de processamento dos servidores Web, a qual consiste em atender uma requisição de cada vez, mantendo uma fila de solicitações ociosa que gera deadlocks.
Felizmente, o Node.js supera esse desafio com seu modelo de arquitetura single-thread, porém não-bloqueante (assíncrona), capaz de responder a várias requisições simultaneamente — mesmo elas não sendo tratadas paralelamente.
Como o Node.js funciona?
O seu funcionamento é similar ao de um framework, pois permite que o desenvolvedor escreva os seus códigos em JavaScript, faça a compilação deles e os execute.
Contudo, a diferença é que a aplicação rodará em uma máquina virtual específica, a V8. A máquina virtual em questão é a mesma que o Google desenvolveu para o Chrome com o mesmo objetivo de executar os códigos em JS.
A própria escalabilidade do Node.js, ponto-chave que norteou sua criação, é assegurada, em partes, pela economia de recursos proporcionada pelo V8 — explorarei o assunto mais detidamente no tópico seguinte.
Como resultado da experiência proporcionada pelo Node.js somada à popularidade do JavaScript, a ferramenta é uma das mais utilizadas por profissionais — ao lado do AngularJS, segundo a já mencionada pesquisa da Stack Overflow.
As principais vantagens do Node.js
Quando o projeto é adequado para uso do Node.js, o usuário é beneficiado de múltiplas maneiras. Vamos conhecer algumas delas?
Full stack
A versatilidade de uma equipe full stack é muito vantajosa, pois o projeto de desenvolvimento Web como um todo utiliza da mesma linguagem, facilitando, assim, a comunicação entre back-end e front-end.
Fora isso, o uso de JavaScript no back-end é importante para otimizar o desenvolvimento em aspectos de server-side. Em termos de resultados, a conclusão do projeto tende a ser substancialmente mais ágil.
Escalabilidade
A escalabilidade do Node.js é uma vantagem oriunda de dois fatores. O primeiro deles é o baixo consumo de recursos da aplicação, o que é determinante para que o servidor não fique sobrecarregado em meio ao aumento de requisições simultâneas.
Do outro lado está a maneira como as conexões são feitas pelo Node.js. Por ser assíncrona e orientada a eventos, a ferramenta permite ao servidor suportar uma quantidade muito maior de conexões.
Requisitos de hardware e software
O Node.js é uma ferramenta muito leve e, por isso, requer pouquíssimos recursos de infraestrutura para garantir alto desempenho. O melhor disso tudo é a economia financeira que tal benefício agrega, visto que reduz a necessidade de licenças e upgrades.
Download e instalação do Node.js no Linux
O download do Node.js pode ser feito de múltiplas formas no Linux. A primeira delas é acessando o link oficial e selecionando, em seguida, a versão desejada — salientando que versões para Windows e Mac OS também estão disponíveis.
Se preferir baixar via repositório no Ubuntu, por exemplo, certifique-se de que está logado numa conta com privilégios do comando sudo. Abra o terminal e utilize os seguintes comandos:
# sudo apt update # sudo apt install nodejs # nodejs --version
Caso você precise aprender mais sobre o comando apt-get veja esse artigo:
A primeira linha executará a atualização das informações do pacote, a segunda é a própria instalação do Node.js e a terceira é para verificar a versão instalada.
Em suma, o Node.js é uma solução interessante para quem almeja desenvolver certos tipos de aplicações back-end usando a linguagem JavaScript, tornando-a útil para programadores full stack.
Instalar o Node.js em servidores Linux para Web, como Apache e Nginx, é um excelente meio de aliar as funcionalidades do JavaScript à alta performance desses sistemas em termos de estabilidade e segurança.
Está gostando das possibilidades que o Linux proporciona para a sua carreira? No site Profissionais Linux, você tem acesso a mais materiais que farão toda a diferença. Confira!