DEV Community

Ezequiel Dias
Ezequiel Dias

Posted on

Front-end e back-end não existe, o que existe é engenharia de software

Recentemente perdi a noção dessa separação de frontend e backend.

Lá no início, quando estava começando, sempre ouvi que frontend era "a camada de apresentação, no qual o cliente interagia" e backend "a camada de negócios, que cuidava da comunicação com o banco de dados e serviços". Hoje mexendo no meu projeto, mesmo sendo minúsculo, que é uma aplicação com Tauri para gerenciamento de questões e coleções de estudos, percebo que essa linha de pensamento é correta, porém incompleta. Para aplicações bem simples, esse conceito é essencialmente verdadeiro. Mas, e quando a aplicação tem um fluxo de dados mínimo que você não tem o pleno controle de todos os dados? Nesse ponto, a ideia conceitual de frontend e backend separados deixa de fazer sentido. Em ambos, você vai ter que gerenciar os dados, validar e ter uma noção mínima do fluxo e ciclo de vida. Aí eu paro, observo e penso: "cara, é uma coisa só em ambientes diferentes com propósito diferente!".

Ambos tem sua lógica para lidar com os dados e ciclo de vida, a principal diferença que noto é que o frontend foi virando bagunça, bom ao menos no ecossistema JS que tive primeiro contato: ReactJS. Não vou dizer que sou um especialista nisso porque nunca consegui usar sem me engasgar. Porém, enfiar hooks, misturar o que é negócio com a camada do que é APRESENTAÇÃO, obter e tratar dados diretamente no componente, me parece questionável no longo prazo.

A ideia de componentização é muito boa, porém esse acoplamento gerado misturado com o que é puramente sobre negócios é extremamente complicado de rastrear, entender e compreender. Nesse ponto, ao menos para mim, o frontend se perde totalmente da mesma fonte que bebe o backend e se torna um sistema confuso. O desenvolvimento para de ser de software e se torna de framework. Aí é questão de tempo de o meu ou seu negócio, ideia ou aplicação parar de ser nossa e ficar refém das decisões do framework, ficando todo costurado sem um norte claro de para onde está caminhando.

Nesse ponto, a separação é essencial. Frontend não é somente camada de apresentação, é uma parte da aplicação tanto quanto o backend. A forma para ser pensada, deve ir além de apenas uma tela simples no qual o usuário interage.

Top comments (0)