O Enxoval da Noiva do Node.JS

Com o passar dos anos, a tecnologia Node.js já rivaliza com tecnologias tradicionais com como o ASP.NET, JSF, Ruby, PHP e Python em ambientes dinâmicos como startups e empresas de produtos WebMesmo empresas tradicionais no Brasil já tem começado a experimentar essa tecnologia bastante promissora.

Já apresentei aqui como fazer uma aplicação mínima em Node.JS, para aqueles que estão tendo o primeiro contato com essa tecnologia.

Ao mesmo tempo, algumas pessoas ainda perguntam: “É possível fazer em Node.JS uma aplicação com acesso a banco de dados com controle transacional, suporte a APIs REST, micro-serviços, com segurança forte,  tolerância a falhas e operação em cluster, entre outras preocupações técnicas corporativas?”.

A resposta, retumbante, é sim.

Para isso basta você acrescentar novos módulos ao node com o comando npm install -g <NomeModulo>. Isso é porque o Node.js vem pelado de fábrica e você deve incluir módulos conforme necessário. Essa abordagem minimalista, que permite criar ambientes Web muito leves, é um dos fatores de sucesso do Node.JS

Compilo aqui alguns módulos  que podem ajudá-lo na jornada do Node.JS e fazer aplicações cada vez melhores no mundo JavaScript.

  • ExpressJS[1] – Biblioteca para gerir requisições HTTP de forma facilitada a aplicativos móveis e Web.
  • LoopBack[2] [3] – Framework para a montagem rápida de aplicações Node. Esse framework conta com suporte da IBM e StrongLoop e tem ferramentas visuais para a geração de modelos, APIs Rest, scaffoldings e conectores com banco de dados.
  • Restify[4] – Módulo para facilitar a criação de web services REST.
  • PassportJS[5] – Biblioteca para autenticação de usuários em aplicações Node. Conta já com mais de 300 estratégias de autenticação como por exemplo OpenID, OAuth1, OAuth2 ou SAML.
  • Node-mysql[6] – Biblitoeca para acesso a aplicações MySQL com Node.
  • Node-OracleDB[7] – Driver mantido pela própria Oracle[8] para acesso aos banco de dados Oracle em aplicações Node.
  • Mssql[9] – Driver para acesso a banco de dados SQL Server em aplicações Node.
  • Mongoose[10] – Framework para manipulação do banco de dados Non-SQL MongoDB.
  • Azure[11] – Facilitador para implantação de aplicações Node em ambiente Microsoft Azure, mantido pela própria Microsoft.
  • Mocha[12] – Biblitoeca para testes de unidade para aplicações Node.
  • Pm2[13] – Gerenciamento de processo de produção para aplicações Node, com suporte a clusters, balanceamento de carga e tolerância a falhas.
  • NodeMon[14] – Biblioteca utilitária para facilitar a monitoração de mudanças no seu código fonte e recarregar automaticamente a sua aplicação Web.
  • Commander[15] – Módulo facilitador de execução de programas de linhas de comando em aplicações Node.
  • Nodemailer[16] – Biblioteca para a manipulação de emails em aplicações Node.
  • Request[17] – Biblioteca ainda mais simples que o Express para a manipulação de requisições HTTP.
  • Hapi[18] – Um outro framework HTTP para desenvolvimento de aplicações Web em Node.
  • Bluebird[19] – Biblioteca para facilitar a escrita de programas concorrentes, com suporte à primitiva de programação promise[20].
  • Async[21] – Módulo utilitário para fornecer funções de manipulação de código assíncrono em JavaScript.
  • stomp-client[22] – Módulo utilitário para clientes do protocol de fila de mensagens Stomp[23], suportado em implementações como o Apache ActiveMQ[24] e outros sistemas de filas de mensagem.
  • Numerals.JS[25] – Biblioteca utilitária para manipular e formatar números.
  • MomentJS[26] – Biblioteca utilitária para manipular datas.
  • ShouldJS[27] – Biblioteca utilitária para auxiliar a escrita de testes BDD em JavaScript.
  • Nock[28] – Biblioteca para criar mocks e simulações em testes de unidade JavaScript.

O portal do npmjs mantém uma lista  de pacotes populares JavaScript e pode ser usado como fonte de referência para acompanhar novidades da comunidade.  Para mais informações, veja aqui: https://www.npmjs.com/browse/star.

E você que já trabalha em Node.JS, que módulos Node.JS utiliza ou pretende utilizar para desenvolver aplicações Web JavaScript?  Complemente essa lista. 🙂

[1] http://expressjs.com/pt-br/

[2] http://loopback.io

[3] http://loopback.io/resources/#compare

[4] http://restify.com

[5] http://passportjs.org

[6] https://www.npmjs.com/package/node-mysql

[7] https://www.npmjs.com/package/oracledb

[8] http://www.oracle.com/technetwork/database/database-technologies/scripting-languages/node_js/index.html

[9] https://www.npmjs.com/package/mssql

[10] http://mongoosejs.com

[11] https://azure.microsoft.com/pt-br/develop/nodejs/

[12] http://mochajs.org

[13] http://pm2.keymetrics.io

[14] http://nodemon.io

[15] https://www.npmjs.com/package/commander

[16] https://www.npmjs.com/package/nodemailer

[17] https://www.npmjs.com/package/request

[18] http://hapijs.com

[19] http://bluebirdjs.com/docs/why-promises.html

[20] https://en.wikipedia.org/wiki/Futures_and_promises

[21] https://github.com/caolan/async/blob/v1.5.2/README.md

[22] https://www.npmjs.com/package/stomp-client

[23] http://stomp.github.io

[24] http://activemq.apache.org/stomp.html

[25] http://numeraljs.com/

[26] http://momentjs.com

[27] https://github.com/shouldjs/should.js

[28] https://github.com/node-nock/nock

 

 

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s