DROPS: Camada de apresentação não faz mais sentido!

DROPS: Camada de apresentação não faz mais sentido!

Esse artigo é para compartilhar um pouco de experiencia em desenvolvimento de software. Se você programa há mais de seis anos, conhece muito bem a camada de View ou Presentation e sabe o que ela significa.

Seis de técnologia evoluindo, é muito tempo dentro do nosso mercado e já temos toda uma geração de professionais que apesar de ainda usar e até ensinar esses não se atentaram que ele hoje não faz mais sentido. Então vamos

Vamos do básico

Vamos falar da arquitetura mais fácil que existe o MVC, eu aprendi essa arquitetura com PHP, particularmente estudando Joomla, que tem um site bem parecido com o de 2009 e algo interessante sobre esse tipo de abordagem é separação de responsabilidades. Quais responsabilidades?

Coisas como o gist em anexo, não eram raras em sistemas até muito mais complexos do que esse simples cadastro em PHP.

Você tinha no mesmo arquivo o HTML, CSS, Javascript e PHP com direito a conexão de dados no banco em um único arquivo.

Então a necessidade de separar a responsabilidade e criar uma arquitetura para o software se manter de pé era muito necessária e com isso começou todo um trabalho para separar códigos, por exemplo a View, composto por HTML, CSS e Javascript, Model com regras de negócio e a Controller para juntar as duas camadas.

Muitas outras arquiteturas cresceram em torno disso e ou trabalham com conceitos semelhantes, sempre deixando HTML, CSS e Javascript na camada de apresentação e aqui é onde entra que isso não faz mais tanto sentido.

O que é a view hoje em dia?

Como estamos falando de algo completamente mutavel, estamos falando do ano de 2020 e isso pode não ser mais verdade daqui alguns anos, hoje a camada de view, virou toda uma disciplina chamada front-end.

Com o conceito de Web Services e REST APIs a camada de view deixou de fazer sentido, basicamente hoje temos no back-end a application e data layer, se falarmos de uma arquitetura de camadas.

Quando falamos de arquiteturas mais avançadas como o Onion, Ports and Adapter ou Clean Architure, temos essa parte bem isolada e muitas vezes não precisamos quebrar a cabeça resolvendo isso, bastando criar as respostas da API desacoplada UI.

Já dentro no Front-End hoje existe todo um novo modelo de se pensar em arquiteturas e diria que estamos só no começo, por falta de arquiteturas que realmente façam sentido no front-end, que sempre foi deixado de lado, mas hoje está cada vez mais complexo.

E para deixar um guia, AngularJS usava incialmente uma arquitetura MVC  foi para uma Model, View View Model, finalizando sem ser opinativo sobre arquitetura.E React funciona bem com uma arquitetura MVVM, lembrando que ele é uma View Library

Espero ter conseguido explicar um pouco do porque hoje em dia não faz mais sentido escrever back-end com uma camada de view e deixar aqui uma excessão, caso o seu Back-end esteja ainda gerando a view ou front-end da aplicação.