Considerando o desenvolvimento de aplicações Web modernas, ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa B: Baseada em microserviços é a correta.
Vamos entender por que essa é a resposta certa e analisar as outras alternativas:
B - Baseada em microserviços: Esta abordagem arquitetônica divide a aplicação em pequenos serviços independentes que se comunicam por meio de APIs. Microserviços facilitam a separação de responsabilidades entre o cliente (front-end) e o servidor (back-end), promovendo melhor escalabilidade e manutenção do sistema. Cada microserviço pode ser desenvolvido, implantado e escalado de forma independente, o que torna essa abordagem ideal para aplicações web modernas.
A - Monolítica: Nesta abordagem, tanto a lógica de apresentação quanto a de negócios são implementadas juntas em um único bloco de código. Embora seja mais simples de implementar inicialmente, uma aplicação monolítica pode se tornar difícil de manter e escalar à medida que cresce. Isso ocorre porque todas as funções da aplicação estão interligadas, tornando a separação de responsabilidades menos clara.
C - SPA (Single Page Application): Essa abordagem se refere exclusivamente à construção do front-end. Uma SPA carrega uma única página web e atualiza dinamicamente o conteúdo conforme a interação do usuário, sem recarregar a página inteira. Embora SPAs possam melhorar a experiência do usuário, elas não necessariamente facilitam a separação de responsabilidades entre front-end e back-end.
D - MVC (Model-View-Controller): O padrão de projeto MVC é utilizado para organizar a interface de usuário. Ele separa a aplicação em três componentes principais: Model (dados), View (interface de usuário) e Controller (lógica de controle). Embora ajude a organizar o código e mantenha a interface de usuário separada da lógica de negócios, o MVC sozinho não resolve a questão da separação de responsabilidades entre o cliente e o servidor de maneira tão eficaz quanto a arquitetura de microserviços.
Para resolver a questão, é importante entender conceitos de arquitetura de software e como diferentes abordagens podem impactar a manutenção, escalabilidade e separação de responsabilidades em uma aplicação web moderna. A arquitetura de microserviços é atualmente reconhecida como uma das melhores práticas para alcançar esses objetivos.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo