22 mar 2016

Criando REST APIs com NodalJS

Com diversos frameworks já consolidados como ExpressJS, HapiJS e Strapi, vou abordar um pouco sobre o framework NodalJS, focado em otimização de APIs e Ferramentas Built-in, o que o tornam completo e simples de usar.

O que mais me chamou a atenção, foi a integração completa com Banco de Dados (Suporte para PostgreSQL por enquanto) e ORM. ExpressJS ou até mesmo HapiJS necessitam de plugins ou extensões que façam esse trabalho. Não que seja algo ruim, mas utilizar frameworks com features built-in na maioria dos casos é melhor para manutenção.

NodaljS é um webserver com base em NodeJS, e o foco principal dele é a construção de API services.

Para quem está familiarizado com Django ou Rails, este framework MVC segue os mesmos conceitos.

Mesmo estando em fase Beta, ele é promissor, e na versão 0.8.2 ele possui features como:

  • Models
  • Routing
  • Migrations
  • Tasks
  • Authorizer
  • Controllers
  • ORM
  • Schedulers
  • Middleware
  • CLI Tools

NodalJS possui as seguintes propostas:

  • Plataformas de software devem ser modular – de preferência um serviço para cada domínio
  • Cada serviço deve ser realmente bom em uma coisa, e apenas uma coisa
  • Serviços representam Lógicas de Domínio e devem existir como projetos separados e e o menor acoplamento possível.

Iniciando o Projeto

Para começar um novo projeto, é preciso a instalação do módulo node. Lembrando que é necessário ter Node (4.x) ou mais.

npm install nodal -g

A partir deste ponto, temos o comando “nodal” disponível na linha de comando.
Para iniciar um projeto utilize:

nodal new

Todo o Scaffold do projeto será construído.

Iniciando o Servidor

Utilize o comando:

nodal s

Caso queira mudar as configurações de ambiente, altere as configurações de config/secrets.json

1
2
3
4
5
6
7
8
9
10
11
{

"development": {
"port": 3000,
},

"production": {
"port": "{{= env.PORT }}",
}

}

Criando Controllers por linha de comando

Para criar controllers via linha de comando execute:

nodal g:controller NomeDoController

Caso queira criar um controller específico para uma Model (CRUD), utilize:

nodal g:controller –for:ModelName

Criando Models

Para criar models via linha de comando execute:

nodal g:model NomeDaModel

Com estes comandos básicos, é possível a criação de CRUD’s básicos e de uma forma rápida.

Para finalizar, seguem links do Framework e como iniciar um novo projeto.

http://www.nodaljs.com/

https://github.com/keithwhor/nodal/blob/master/LEARN.md

Leave a Comment