O post O que é Node.js: Primeiros passos têm como objetivo apresentar o que é o Node.js e como começar a utilizar essa incrível plataforma.
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,
interpretador de JavaScript open source implementado pelo Google em C++ e utilizado pelo Chrome ou seja, com Node.js podemos criar uma variedade de aplicações web e desktop utilizando apenas código em JavaScript.
Primeiros Passos
Primeira coisa a se fazer é instalar o Node.js acessando o site nodejs.org. Ao acessar o site você encontrará o arquivo de download.
Sua instalação na plataforma Windows é muito simples, basta clicar no executável, aceitar a licença, escolher o local de instalação e clicar em instalar., basicamente o famoso Next, Next, Next.
Após a instalação, basta executar o comando node -v no seu terminal para verificar se foi instalado corretamente.
O vídeo demonstra um primeiro contato com o Node.js apresentando um alô mundo web e desktop.
Quais as vantagens do Node.js?
O Node.js utiliza a linguagem Javascript, o que facilita encontrar profissionais para trabalhar, pois a linguagem tem algumas décadas de existência e milhões de programadores ao redor do mundo. O mesmo não pode ser dito das plataformas concorrentes.
Node.js permite o Javascript trabalhar full-stack, fato que é uma grande reclamação de muitos programadores web por tem que trabalhar com linguagens diferentes no front-end e no back-end. Node.js resolve isso ao permitir que você trabalhe com JS em ambos e a melhor parte: nunca mais se preocupe em ficar traduzindo dados para fazer o front-end se comunicar com o backend e vice-versa. Você pode usar JSON para tudo.
Node.js é muito leve e é multiplataforma, o que permite rodar projetos em servidores abertos e com o SO que quiser, diminuindo bastante seu custo de hardware (principalmente se estava usando Java antes) e software (se pagava licenças de servidor Windows). Só a questão de licença de Windows que você economiza em players de datacenter como Amazon chega a 50% de economia, fora a economia de hardware que em alguns projetos meus chegou a 80%.
Quais as desvantagens do Node.js?
Node.js usa Javascript. Para quem gosta de linguagens estritas como Java e C# (como eu, confesso), isso incomoda bastante. Não ter orientação à objetos do jeito que estamos acostumados, a tipagem ser fraca, não ter uma compilação bacana, etc.
Node.js é recente (2009). Apesar de já ter muita coisa criada pra ele, isso é uma desvantagem em relação à linguagens mais maduras como a JVM (1995) e Python (1991). Mesmo o .NET (2000) já está bastante calejado e maduro, o que nos garante mais confiança para executar projetos maiores e mais pesados.
Node.js é assíncrono. Isso complica bastante dependendo da complexidade de cada uma das suas requisições, uma vez que o uso demasiado de callbacks pode gerar o chamado callback hell com um aninhamento extenso de funções e uma complexidade absurda de depuração, o que é parcialmente resolvido com o uso de Promises (ES6) e Async/Await (ES7).
Para quê serve Node.js?
Serve para fazer o que você quiser, desde sites à scripts de automação. No entanto, usos ideais de Node.js seriam:
Node.js serve para fazer APIs. Esse talvez seja o principal uso da tecnologia, uma vez que por default ela apenas sabe processar requisições. Não apenas por essa limitação, mas também porque seu modelo não bloqueante de tratar as requisições o torna excelente para essa tarefa consumindo pouquíssimo hardware.
Node.js serve para fazer backend de jogos, IoT e apps de mensagens. Sim eu sei, isso é praticamente a mesma coisa do item anterior, mas realmente é uma boa ideia usar o Node.js para APIs nestas circunstâncias (backend-as-a-service) devido ao alto volume de requisições que esse tipo de aplicações efetuam.
Node.js serve para fazer aplicações de tempo real. Usando algumas extensões de web socket com Socket.io, Comet.io, etc é possível criar aplicações de tempo real facilmente sem onerar demais o seu servidor como acontecia antigamente com Java RMI, Microsoft WCF, etc.
Dica
Acesse nosso canal no YouTube para visualizar outros vídeos sobre programação, como por exemplo Python, Java e Desenvolvimento de sistemas comerciais utilizando a linguagem C#.
Participe do nosso grupo de estudos no Facebook acessando o link https://www.facebook.com/group
Fonte
Parte do conteúdo foi retirada do site luistools.
Links úteis