Ola meu caro leitor(a) este e o meu primeiro poste sobre node.js e espero que seja o primeiro de muitos. Neste poste irei abordar sobre a instalacao e configuracao do node.js e scoket.io no Windows 7, sendo o principal foco a demonstracao da instalacao e configuracao dos aplicativos e a criacao de alguns exemplos para demonstrar o uso do node.js e socket.io. Caso voce utiliza o SO Linux pode utilizar as instrucoes deste link. O meu conhecimento sobre node.js e socket.io ainda esta no nivel iniciante, pois tem pouco tempo que comecei a brincar com essa plataforma, mas espero que com o tempo e com os posts posso ir evoluindo junto com voces.Sobre o node.jsO node.js nasceu em meados de 2009 sendo o seu criador Ryan Dahl e uma equipe de 14 desenvolvedores que pretendiam criar uma plataforma para facilitar a criacao de aplicacoes real-time e de alta escalabilidade.O objetivo principal do node.js e "fornecer uma maneira facil de criar programas de rede escalaveis" solucionando o principal problema das aplicacoes atuais feitas em Java, PHP ou .NET, pois essas aplicacoes iniciam um processo para cada conexao que e acompanhado de aproximadamente de 2MB de memoria, desta forma limitando o numero de acessos pela quantidade de memoria da maquina. Para contornar este problema sao criados varios servidores para tornar a aplicacao mais escalavel.O node.js veio para solucionar este problema mudando a forma que e feito as conexoes no servidor, pois ao inves de iniciar um encadeamento em cada conexao sera criado um processo que nao necessita que o bloco de memoria fique alocado a este processo. Algumas caracteristica do node.js Threads nao bloqueantes: uma das melhores caracteristicas do node.js onde nao ha um controle de concorrencias entre os recursos disponiveis para os processos. Nas linguagens tradicionais como JAVA e .NET gerenciam as suas threads colocando em fila de execucao onde os processos que necessitam utilizar o mesmo recurso esperam a sua vez par usufruir do recurso.Programacao Orientada a eventos I\O: existem diversas bibliotecas para se trabalhar com os protocolos HTTP, HTTPS, Web Sockets (para aplicacoes real-time), entre outros protocolos.Mecanismo V8: node.js roda Javascript no lado do servidor utilizando o mecanismo V8 (mecanismo Javascript do Google utilizado no Chrome). Podendo utilizar todo o poder da ECMAScript5Modulos: contem varios modulos para facilitar o desenvolvimento de aplicacoes como o modulo de sockets, manipulacao de arquivos, url, banco de dados NoSQL, entre outros. Sobre o socket.ioO socket.io e um modulo do node.js que permiti fazer comunicacao bidirecional utilizando as APIs de transporte nativas dos browsers. Resumidamente este modulo que ira proporcionar o real-time criando uma conexao com o servidor permitindo que haja a troca de informacoes entre Client e Server sem a necessidade de solicitar um novo request. A troca de informacoes entre Server e Client sao feitas atraves de eventos onde cada ponta deve monitorar um determinado evento que sera disparado. Na parte de exemplos irei detalhar com maiores informacoes como funciona o disparo dos eventos entre o Server e Client.Pre requisitosExecutavel do Node.js v.0.8.6 (Ultima versao ate a data deste post) Python v.3.2.3 (Ultima versao