will

Expeed: acelerando a maneira que api’s são criadas

Compartilhe:

Share on linkedin
LinkedIn
Share on facebook
Facebook
Share on twitter
Twitter
Share on whatsapp
WhatsApp
Share on email
Email
Share on print
Print
WhatsApp Image 2020-04-02 at 14.22.16

Por Willian Rocha – Web Developer na Viaflow

Antes de explicar o que é e o que faz este framework, precisamos de uma breve contextualização sobre o ambiente javascript.

No começo essa linguagem era utilizada somente nos browsers para desenvolvimento web ­client-side. Mas com o passar dos anos e as mudanças e evoluções tecnológicas que eles trazem o javascript foi tomando cada vez mais espaço.

Somente em 2009, por Ryan Dahl, que o javascript passou de uma linguagem que até então era focada somente no frontend para se tornar uma linguagem server-side, atuando também no backend através do saudoso node.js. Agora então o javascript poderia ser utilizado para criar aplicações não dependendo mais de um browser, pois agora o ambiente de execução passava a ser a própria máquina local. Agora o javascript poderia ser então utilizado tanto no frontend e no backend, aumentando assim a produtividade.

Com essa chegada inúmeros frameworks backend para o node foram sendo criados, um deles é o assunto deste post.

will 00

O express.js é um dos mais utilizados frameworks web para node.js do mundo. Por ser rápido, flexível e minimalista ele tem cativado diversos desenvolvedores. Muitos utilizam ele com bancos não relacionais, como por exemplo, mongoDB, um dos mais, senão o mais famoso, mas pode sim ser utilizado com bancos relacionais. Olha só como é rápido subir um servidor na máquina local utilizando ele:

Subindo na mão:

will 001 (2)

 

Utilizando express:

will 002

A necessidade

Uma solução sempre surge de uma necessidade. Por dar a liberdade ao desenvolvedor criar a aplicação e desenvolve-la da maneira que quiser, pois o express não segue padrões na estrutura de pastas, utilizar express no desenvolvimento de uma api leva um certo tempo para criar toda a estrutura de folders e files que ali necessita, como por exemplo: src, controllers, models. Vamos exemplificar como é uma estrutura de um projeto em express:

will 000

Este é um exemplo de uma estrutura de uma api em node com express.

Iniciando um projeto,  já irá criar os arquivos package.json, e/ou yarn.lock dependendo do gerenciador de pacotes que você irá utilizar, npm ou yarn, mas o resto dos arquivos terá que ser criado na mão, como, .gitignore para não subir o repositório com a pesada pasta node_modules, a pasta src e por ai vai. Lembrando que logicamente o que ser criada e dentro dela são:

will 0000

Como já foi dito antes, dentro da pasta src são colocadas controllers, models e services, note que nessa estrutura acima, já foi colocada a pasta services que é onde irá ficar a todas as regras de negócio da aplicação, geralmente não é colocado, muitos utilizam apenas controllers models e na controller é que são colocadas as regras de negócio. A maneira correta é ter uma camada na aplicação específica para isso que neste caso é a nossa services. Agora vamos ver para que serve cada arquivo ali dentro:

server.js: responsável por subir nosso servidor node.js (como foi mostrado na primeira parte desse post), neste arquivos são colocadas a configurações do nosso servidor, como rotas, cors, qual porta o servidor irá rodar na nossa máquina, conexão com banco de dados, etc.

routes.js: responsável pelas rotas da nossa aplicação, aqui serão instanciadas as rotas que a aplicação irá utilizar, mas note pela imagem abaixo que aqui ficam apenas as importações das rotas de uma pasta chamada “Routes” lá de dentro da controller.

will 00000

Pasta Routes – Aqui sim irá conter as rotas com os métodos, get, post, put e delete do recurso que será criado.

will 000000

.env – Aqui onde é colocado as variáveis de ambiente que o projeto irá utilizar.

A solução

will 0000000 (2)

A Expeed surgiu para que a gente não perca tempo montando todas as pastas e arquivos antes de começar a colocar a lógica da regra de negócio da aplicação que você está criando, ou seja, você não precisa perder tempo montando as pastas, você vai direto ao ponto agora. Todas essas pastas e arquivos serão gerados automágicamente para você, apenas digite o comando e pronto. Basicamente expeed funciona como um gerador de um projeto express. Vamos passo a passo como utilizar essa lib:

– Instale globalmente, mas turma! Lembre-se, aqui você pode utilizar tanto npm ou yarn:

will 00000000

Pronto, agora você tem acesso aos comandos:

expeed generate <nome do projeto> – Esse é o comando principal, é o que cria todas as pastas e files configurados exatamente como vimos nas imagens acima.

will 000000000

Os arquivos Docker-compose.yml e Procfile já são adicionados caso você queira usar o Docker ou subir a api no famoso heroku. Inclusive no readme gerado ali é explicado como subir essa api em 5 minutos no heroku. Perceba que na linha de comando está dizendo que as dependências estão sendo instaladas, porque dentro do arquivo package.json, há varias dependências que o projeto usa, então no momento em que se executa esse comando, as dependências também são instaladas, gerando a pasta node_modules no projeto. Tá vendo?!  nunca foi tão rápido iniciar uma api em express, você não se preocupa com o grosso da aplicação, apenas com o mais importante, a regra de negócio que seu projeto terá.

expeed model <nome da model> – Veja que bacana, se caso você precisar de mais uma model você tem esse comando para isso, ele não apenas vai criar a model, mas também vai criar a controller, a rota, e a service dessa model. Não use mais o clique direito do seu mouse!!

Conclusão

          Um dos maiores objetivos de um desenvolvedor é ter tempo e como ser mais produtivo nele. Esse foi um dos motivos pelo qual a expeed foi criada. Não perca tempo criando pastas, arquivos e configurações dentro desses arquivos, vá direto ao ponto. Assim como frameworks como react.js para o frontend, ou adonis.js para o backend geram seus projetos, o express também precisa de um gerador com a “casca” do projeto, podemos dizer assim, aumentando a produtividade e acelerando a forma que as api’s são criadas.

 

Curtiu?

Envie sua mensagem e colaboração!

ViaFlow

ViaFlow

Consultoria focada na aproximação da tecnologia com os negócios e as pessoas, visando inovação, automação e transformação.
Share on linkedin
LinkedIn
Share on facebook
Facebook
Share on twitter
Twitter
Share on whatsapp
WhatsApp
Share on email
Email
Share on print
Print