Arquitetura RESTful seria um modelo concorrente de uma arquitetura Full MVC?

Boa noite, estou estudando construção de aplicações utilizando a arquitetura RESTful com NodeJS e com surgiram algumas indagações e algumas conclusões que não sei se estão corretas. Então, se alguém puder me ajudar, agradeceria.

É possível construir aplicações RESTful seguindo arquiteturas que distribuem a responsabilidade do código de outras formas?

Pergunto isso pois sempre que vejo exemplos de aplicações utilizando RESTful elas são construídas aplicando a separação de responsabilidades semelhante ao modelo MVC, exceto, claro, que não existe a View. Já que num modelo Full MVC existe um forte acoplamento entre o frontend e o backend, enquanto numa aplicação RESTful é completamente desacoplado ao ponto que frontend e backend de um mesmo sistema web são aplicações diferentes.

Seguir essa separação de responsabilidades é algo que faz parte do RESTful?

Na verdade arquitetura é somente REST, RESTful é o nome que se dá a aplicações que seguem este modelo arquitetural!

Sobre este modelo você pode ouvir muitas opiniões diferentes, tanto de pessoas puristas que prezam seguir 100% do que o modelo possuí, como também de pessoas mais pragmáticas que não se limitam somente a estas regras estabelecidas na arquitetura REST.

A separação de responsabilidades no meu ponto de vista é algo mais próximo da orientação à objetos do que de um modelo arquitetural qualquer que seja.

Sobre a utilização da arquitetura REST ela pode ser aplicável em N contextos de aplicações, como por exemplo: monolitos, aplicações modularizadas, microsserviços e etc.

1 curtida

São escolhas. Escolha de acordo com sua necessidade, independentemente de modas ou o que puristas falem.

Se não tiver a necessidade de separar backend e front em dois projetos, nao separa, processa o html direto do servidor e responde tudo enxuto pro browser. É bem mais prático, do que ficar pulando entre dois projetos pra mexer em um sistema.

Geralmente em sistemas utilizados por funcionários internos ou que nao precisem ser SPA, não faço essa separação de projeto front e back seguindo Rest, mas faço esses sistemas modulares pra cada gerência da empresa, ao invés de um sistemão.

Sobre padrões de arquitetura como MVC, não se prenda a essas siglas, siga o que for mais prático e menos burocrático para o dia a dia do seu projeto.

1 curtida