O que é Node.js?


Node.js é uma plataforma para desenvolvimento de aplicações server-side baseadas em rede utilizando JavaScript e o V8 JavaScript Engine, ou seja, com Node.js podemos criar uma variedade de aplicações Web utilizando apenas código em JavaScript.

Em uma primeira análise essa informação pode não parecer tão interessante, uma vez que existem diversas outras maneiras em que esses tipos de serviços podem ser implementados. Mas se pensarmos um pouco mais sobre as demandas de aplicações na internet e o modo em que o código em JavaScript pode ser estruturado, vamos nos deparar com uma gama de novas possibilidades para desenvolvimento Web, e provavelmente nos juntar à crescente comunidade que tem adotado essa plataforma.

Embora Node.js tenha muito em comum com os servidores tradicionais como Apache e IIS, podemos entender melhor essa relação se considerarmos as diferenças. Node.js é extremamente simples, por isso pode não ser a solução ideal para todos os casos. Enquanto os servidores tradicionais são mais robustos e preparados para situações mais complexas, e isso invariavelmente vai consumir mais recursos das máquinas do que Node.js.

Outra importante diferença está no fato do Node ser single threaded. Embora isso possa parecer uma desvantagem em um primeiro momento, o que percebemos ao desenvolver com Node.js é que isso simplifica extremamente a construção da aplicação, e por Node.js utilizar uma abordagem não obstrutiva, essa diferença vai ser imperceptível na maioria dos casos.