Desenvolvimento

28 fev, 2013

Node.js com Express.js nos negócios

Publicidade

Os processos fundamentais por trás dos negócios e do desenvolvimento de software são muito diferentes, e muitas vezes é a razão pela qual ter os dois trabalhando juntos pode ser um desafio.

Nos negócios, você é frequentemente capaz de testar as ideias de forma rápida e sem grandes custos, o que significa que é comum uma abordagem experimental para o desenvolvimento. No desenvolvimento de software, você não é capaz de testar suas ideias tão rapidamente, porque você precisa de coisas para ser estável, e isso custa tempo e dinheiro. Isso significa que o desenvolvimento de software depende das necessidades bem definidas que os empresários têm dificuldade em articular, porque eles não estão acostumados a fazer isso.

Existem muitas maneiras de melhorar isso. Uma opção é a prototipagem, e outra é os empresários adquirirem uma melhor compreensão de como funciona o desenvolvimento de software, melhorando assim a base para uma boa comunicação.

Eu acho que aprender Node.js com Express.js pode ser uma ótima maneira para os empresários obterem uma compreensão de como funciona o desenvolvimento de software que lhes permita melhorar o relacionamento de duas maneiras diferentes: por meio da construção de protótipos que podem ajudá-los a explicar o que querem, e por conseguirem falar melhor a língua dso desenvolvedores.

Node.js

Node.js é JavaScript, e a própria natureza expressiva da linguagem torna o código relativamente fácil de entender. Isso permite que você aprenda com uma compreensão muito limitada da linguagem. Essa pode não ser a melhor maneira de fazer isso, mas constrói motivação que mantém você querendo seguir em frente.

Ele tem uma comunidade grande e ativa que constrói frameworks e módulos impressionantes, por isso, quando surgem obstáculos, são boas as chances de você encontrar um módulo ou um desenvolvedor amigo que poderão ajudá-lo. Isso mantém você seguindo em frente.

O Node também pode ser usado para várias outras coisas, como a construção de um servidor web ou de bate-papo, que o encoraja a tentar entender como tudo funciona em conjunto, e isso faz você se sentir muito poderoso apenas aprendendo uma linguagem.

Express.js

Construir aplicativos web com o Node permite iterar e mudar a estrutura de seu aplicativo muito facilmente, porque é JavaScript tanto no lado do servidor e no lado do cliente. O Express.js é um dos frameworks mais populares para o Node, e ele cuida de várias coisas, permanecendo leve e flexível. Isso se encaixa muito bem em uma abordagem experimental e interativa.

É super fácil de instalar, e é incrível o quão rápido você pode ter um aplicativo em execução. Os passos que você precisa passar um são (1):

  • Instale Express.js: npm install express
  • Gere o app: express myapp
  • Instale dependências: cd myapp && npm install
  • Execute o aplicativo: node app
  • Acesse o aplicativo em: http://localhost:3000

Padrões do Express para usar Jade, que é uma engine de template (em outras palavras, é uma forma diferente de escrever HTML e inserir dados nele) para Node. Mas, se você preferir usar HTML e Handlebars.js, você pode fazer isso. Primeiro, instale alguns pacotes:

npm install html
npm install hbs

Em seguida, altere algumas configurações. No arquivo app.js, mude app.set(‘view engine’, ‘jade’) para app.set(‘view engine’, ‘html’).

Em seguida, configure o aplicativo para usar hbs adicionando esta linha:

app.engine('html', require('hbs').__express);

Agora, renomeie index.jade para index.html e  imprima o título com HTML e Handlebars.js:

<h1>{{title}}</h1>

Relance (2) o app, vá para localhost : 3000, e o título que está definido na rota deve ser apresentado.

Desenvolvimento

O framework não faz qualquer suposição em termos de como você deseja estruturar seu código, então você está livre para fazer o que faz sentido para você para o projeto atual. Isso pode ser um pouco confuso no início, então vamos dar uma olhada em um exemplo de como você pode iniciar o desenvolvimento de um aplicativo.

Vamos dizer que você quer ter uma página que exiba alguns números sobre o seu negócio. Para lidar com isso, você vai precisar de uma nova rota e um view, e você terá que dizer ao aplicativo onde você quer que a página esteja.

Adicione um arquivo numbers.js para o diretório routes, e cole no código indexroute. Configure-o para tornar os números em vez de ver a view do index.

  1. Adicione um arquivo para o diretório de rotas e cole-o no código a partir do índice de rotas. Configure-o para renderizar o número de views em vez do índice de views.
  2. Adicione um arquivo numbers.html para o diretório de views;
  3. Adiconar esta linha de código a seu arquivo app.js: app.get(‘/numbers’, routes.numbers); ao fazer isso, a rota de  números será chamada quando /numbers for solicitados, e irá pegar os dados e renderizar a view.

Agora você pode começar a adicionar a lógica para a rota que obtém os dados que você precisa, mas em breve você vai precisar de um modelo que possa cuidar da retirada de dados de outros serviços, como um banco de dados. O Express não sugere um lugar para manter os modelos, mas contanto que você só tenha alguns, apenas coloque-os no diretório roote. Conforme seu aplicativo cresce, e você terá mais rotas, views e modelos, você pode ajustar a estrutura a seu gosto e, a essa altura, você vai saber exatamente o que ele é.

Conclusão

Em resumo, Node.js com Express.js é ótimo para pessoas de negócios, porque é fácil de aprender, pode ser usado para fazer um monte de coisas diferentes e incentiva você a entender como a Web funciona. Ele permite que você construa as coisas rapidamente e faça iterações até que esteja feliz, o que é uma ótima maneira de prototipar e demonstrar suas ideias.

Então, se você for uma pessoa de negócios (todos nós somos), e tem ideias que adoraria ver trazidas para a vida (todos nós), considere Node.js com Express.js. É impressionante.

Notas

(1) Supondo que você esteja em um Mac e tem Node.js e NPM instalados. Se você ainda não tem o Node.js instalado, faça-o aqui.

(2) Nodemon é uma grande ferramenta que relança automaticamente o aplicativo quando você salva. Então, se você não gosta de relançá-lo constantemente, ele vai ser seu amigo.

***

Texto original de Andreas Birkebæk, publicado em WebAdvent (http://webadvent.org/2012/node-js-with-express-js-in-business-by-andreas-birkeb)