Node.js Tools no Visual Studio
Veremos nesse artigo o Node.js Tools para Visual Studio, que torna mais fácil o desenvolvimento de aplicações cliente-Server no Visual Studio com o JavaScript. Na prática, criaremos uma aplicação para listar filmes assistidos.
Ao desenvolvermos nossas aplicações, sejam estas nas linguagens PHP, ASP.NET ou mesmo Java, temos uma característica que é comum a qualquer uma delas, que é a paralização dos processos enquanto estão fazendo uso dos recursos de entrada e saída (I/O) no servidor. Essa paralização é conhecida pelo termo Blocking-thread, onde as requisições são enfileiradas e depois processadas uma a uma, não ocorrendo múltiplos processos simultaneamente.
Guia do artigo:
- Criação de uma aplicação para listar filmes assistidos
- Utilizando o Express
- Utilizando o MongoDB
- Interagindo com MongoDB e Node.js
- Criando uma página HTML para Listagem dos filmes
- Consumindo API REST com AngularJS
Este é o tipo de arquitetura padrão que encontramos hoje, presente em diversos projetos que passam a ter um desempenho ineficiente. Alguns dos exemplos de requisições que demandam uma lentidão significativa nos processos são tarefas como enviar e-mails e uma consulta numa base de dados.
Este tipo de processamento consome boa parte do tempo, muitas vezes bloqueando sistemas inteiros enquanto não são finalizadas.
Devido a este problema, em meados do ano 2009, o Node.js teve sua expansão iniciada numa palestra no JSConf, a qual foi apresentada por Ryan Dahl. Ao contrário do que é imaginado, o Node.js não é uma biblioteca JavaScript, mas sim uma plataforma para a criação de aplicações web do lado do servidor, fazendo uso do JavaScript.
O Node.js foi construído inicialmente com base nas linguagens C++ e JavaScript, e usando o V8, que é uma engine do JavaScript que vem com o Chrome, que é a mesma engine utilizada para processar JavaScript no servidor.
Com a utilização do Node.js, podemos rapidamente construir e executar aplicações web em poucos minutos. Assim como o JavaScript, o Node.js funciona em qualquer navegador moderno e além de ser orientado a eventos, também é assíncrono.
Assume-se, no entanto, que todas as operações I/O são lentas.
Assim, eles são todos executados de forma assíncrona, devido ao modelo de arquitetura trazido com o Node.js ser o de non-blocking thread, o que apresenta uma melhor performance com relação ao consumo de memória e também um melhor aproveitamento com relação ao processamento dos servidores.
O Node executa cada uma de suas operações como sendo um evento, que é executado em um ciclo de eventos, onde o servidor tem apenas um segmento para executar todas as operações. Este ciclo de eventos continua “ouvindo” os eventos do servidor e quando um evento assíncrono é encontrado, como buscar dados num banco de dados, a operação é realizada fora do ciclo de eventos, que por sua vez, libera o segmento e responde a qualquer outro evento que venha depois.
Uma vez que a operação assíncrona é concluída, o ciclo de eventos recebe uma mensagem sobre a sua conclusão e o resultado é então processado, uma vez que o ciclo de eventos seja liberado.
O evento responsável pela escuta e emissão dos eventos nos sistemas é o Event-Loop, que na prática é um loop infinito que a cada iteração verifica na fila de eventos se um determinado evento foi emitido ou não. Caso haja um evento, este é executado e enviado para uma fila de executados.
O fluxo do Node.js é bastante leve, ao contrário de outras tecnologias de servidor, além de não possuir uma grande variedade de componentes instalados por padrão, apenas possui o número certo de componentes para iniciar o servidor. Claro que, caso necessário, outros componentes podem ser adicionados.
Neste artigo abordaremos o Node.js como base na construção de uma aplicação para apresentação de uma lista de filmes, além de utilizarmos do Express, o MongoDB e o AngularJS. Utilizaremos o sistema operacional Windows 8 (64 bits) e o Visual Studio para o desenvolvimento de nossa aplicação.
Uma observação a ser feita aqui é que as ferramentas Node para Visual Studio podem ser usadas com o Visual Studio 2012 Web Developer Express, Visual Studio 2013 Web Developer Express, ou com as versões completas do Visual Studio 2012 ou 2013. Para a execução do nosso projeto, precisaremos ter em nossas máquinas as seguintes ferramentas:
- Visual Studio 2012 ou 2013;
- Node.js;
- Node.js tools for Visual Studio (NTVS);
- MongoDB.
Os três primeiros itens de nossas ferramentas podem ser instalados de forma simples, apenas aceitando as configurações padrões que são fornecidas. Já para o MongoDB, receberemos um arquivo zip que contém um conjunto de arquivos binários, que devem ser extraídos do zip para qualquer local que desejarmos. No nosso caso, este será extraído em E:\MongoDB\bin. Uma vez que tenhamos os arquivos extraídos, devemos seguir os seguintes passos:
- Na pasta chamada MongoDB vamos criar uma pasta chamada 'data' e dentro dessa pasta criaremos outra pasta chamada ‘db’;
- Agora vamos até a nossa pasta que extraímos na unidade E:\MongoDB\bin e vamos criar um arquivo de texto com o nome de ‘mongod.conf’. Em seguida, passemos para ele as seguintes declarações, de acordo com as apresentadas pela Listagem 1.
dbpath = E:\MongoDB\data\db
logpath = E:\MongoDB\mongo-logs.log
logappend = true
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo