sábado, 24 de junho de 2017

Sails.js - Eis o motivo que optei por esse Servidor

Chegou no momento da minha vida que resolvi fazer um trabalho de pesquisa (significa que não estava fazendo nada para melhorar sua carreira e resolvi ver o que o mundo podia me oferecer, não confunda isso com trabalho de faculdade) sobre um Servidor (padrão Node.js) que poderia me prover serviços. Depois de algum tempo optei pelo Sails.js.

Cheguei nesse resultado após ficar tendencioso entre quatro servidores (cortei a extensão js para simplificar): Express, Restify, Hapi e Sails (por favor não entenda que os outros são ruins apenas não me adaptei a eles). Agora não tinha mais escolha o máximo que poderia fazer era um teste de campo com cada um e ver qual deles me atendia.

A lista abaixo de prós e contras representam as observações que tive sobre cada um deles, não é uma regra geral ou uma opinião formada pelo mundo.

Express

Prós:
  • Bom ponto de partida
  • Baixa curva de aprendizado
  • Próximo ao padrão Node.js para Web Middleware
  • Totalmente customizável
  • Alvo no navegador e template
Contras:
  • Todos os endpoints devem ser criados manualmente
  • Sem padrão ou prescrição, tipo DIY (Do it yourself - Faça você mesmo)

Restify

Prós:
  • Boa estabilidade
  • DTrace automático e suporte para todo handlers ou plataformas
  • Construído em throding
  • Suporte SPDY*
  • Estrita API com total controle sobre as interações HTTP
  • Visibilidade dentro das características da App
Contras:
  • Todos os endpoints devem ser criados manualmente
  • Sem padrão ou prescrição, tipo DIY
  • Pouca documentação

Hapi

Prós:
  • Suportado pelo Labs Walmart
  • Controle granular
  • Detalhada referencia da API com suporte para geração da documentação
  • Significantemente mais funcional para construção de Web Servers
  • Pseuda prescrição com abordagem para configuração cêntrica
  • Caching, Autenticação e validação de dados
  • Bom conjunto de Plugins, com base em arquitetura escalável 
  • Boa construção de blocos, mas deixa para você seis próprios dispositivos para padrões de projeto
Contras:
  • Esconde módulos específicos
  • Todos os endpoints devem ser criados manualmente

Sails

Prós:
  • MVC - possibilidade de fazer Visão e Serviços em um só lugar
  • Rápido desenvolvimento RESTful API
  • Convenção sobre a configuração (estende o Express)
  • Construído sobre modelos de uso (ORM)
  • Suporte a RPC, Web e Mobile SDK
  • Conectores de dados
  • Totalmente configurado quando necessário.
  • Extensa documentação
  • Suporte comercial e fulltime ao projeto (Loopback)
  • Serviços Mobile (Push, Geo, Storage, Sync, Offline, File, Device, User)
  • Autenticação, validação e autorização
  • Endpoints são criados através de geração automática
Contras:
  • Alta curva de aprendizado
  • Deve obrigatoriamente seguir o modelo prescrito (fiquei na dúvida se colocava isso como um pró ou contra)
Não escolhi o Sails.js por ter poucos contras (inclusive você pode encontrar muito mais coisas contras), foi o servidor que mais rápido me adaptei e o que atendeu as minhas necessidades. Recomendo que ao escolher um Servidor reduza sua lista a um número aceitável e teste cada um deles vendo o que melhor lhe atende. Nunca parta de opiniões formadas.

Deseja aprender mais sobre o Sails.js? Baixe aqui uma apostila gratuita que criei.

Obrigado e até a próxima
Fernando Anselmo

* SPDY (pronunciado speedy) é um protocolo de rede desenvolvido principalmente pela Google para transporte de dados pela internet. Apesar de não ser atualmente um protocolo padrão, o grupo que está desenvolvendo o SPDY está trabalhando em direção a uma padronização cuja última versão é o spdy/4 (Wikipédia).

0 comentários:

Postar um comentário