Nodejs
Pablo Henrique de Oliveira
26 de março de 2013
Node isn't always the solution, but it does solve some important problems.
Learning node might take a little effort, but it's going to pay off. Why? Because you're afforded solutions to your web application problems that require only JavaScript to Solve.
By Brett McLaughlin
Objetivo: Conceituar basicamente o framework (plataforma) Node.JS e explicar e explorar de forma concisa o conceito de tempo real em uma aplicação web, tendo em vista facilitar a interatividade de uso por diversos usuários ao mesmo tempo.
Node.JS é basicamente um framework (plataforma) para implementar operações de entrada e saída no lado do servidor. É baseado em eventos, streams e faz uso do motor de Javascript V8 (Javascript Engine V8), a implementação JavaScript do navegador Google Chrome. Tem como premissa básica a fácil construção de rápidas e escaláveis aplicações de rede. Para tal emprega um modelo baseado em eventos, e non-blocking I/O. O Node.JS tem como filosofia básica: single-threaded, non-blocking I/O, suporte embutido para os protocolos mais importantes (HTTP, DNS, TLS), low-level, stream everything, ou seja, procura nunca forçar o gargalo de dados.
Para gerencimaneto de pacotes, Node.JS conta com NPM (Node Packaged Modules), onde há inúmeros módulos de terceiros, contendo módulos de Web Frameworks, Database, Deploy, CMS, CSS Engine, entre muitos outros. O NPM também serve para tornar mais fácil para especificar e vincular dependências em projetos.
O módulo usado para explorar o conceito de real-time é o Socket.IO, que oferece uma API de JavaScript simples, baseada em eventos que permite comunicação entre o servidor e o cliente sem esforço e em tempo real. Usa como mecanismo padrão o WebSockets, porem tem suporte embutida para WebSockets, FlashSockets, AJAX long polling, AJAX multipart streaming, Forever Iframe ou JSONP Polling, o que garante compatibilidade