Executando verificação de segurança...
2

Como sempre, é um enorme "depende".

Se só um fosse bom não teria porque existir o outro.

O MVC se tornou prevalente, especialmente entre alguns grupos de pessoas. Muitas vezes o uso se dá porque a pessoa ouviu falar que é bom. Mas se ela não entende e não analisa os ganhos e problemas, e para isso é necessário estudo completo de computação, então ela adota como "boa prática". A única boa prática aceitável é entender o'que está escolhendo, eventualmente usando algum checklist que as pessoas chamam de "boa prática", mas ainda precisa entender o'que é aquilo, saber se o checklist é bom, nem todos são.

O próprio MVC foi e ainda é vendido como uma panaceia que resolve todos os problemas, quando ele faz muito pouco em muitos casos ou até prejudica em alguns.

Projetos complexos (a maioria nunca vai trabalhar em um), com muitas rotas, com maneiras de acessar o conteúdo muito diversificadas, pode sim se beneficiar do MVC, seja para entregar a página ou apenas dados para a API (o que dá na mesma, e qualquer framework que não entenda isso está fundamentalmente errado).

Para todo o resto é melhor fazer da forma mais simples possível. Nunca adicione complexidade se não se pagar muito bem. Hoje a indústria está pródiga em incentivar a complexidade sem apresentar ganhos claros.

Uma das grandes vantagens do PHP desde seu nascimento foi entregar um framework (sim ele é um framework muito interessante que tem uma linguagem de programação) simples que permite fazer páginas de forma muito fácil. Em determinado momento quiseram entregar também o complexo e começaram fazer framworks para rodar em cima do framework, em geral com MVC. Nenhum problema nisso, até a linguagem está se adaptando para entregar isso de forma melhor porque PHP original não fazia bem. Eu tenho críticas a isso, mas não vem ao caso aqui.

Acontece que em tecnologias que estão surgindo mais recentemente estão fazendo o caminho oposto porque viram que o MVC é um fardo que a maioria das aplicações não deveriam carregar. Até mesmo tecnologias consagradas estão indo para esse caminho.

Posso falar do que uso mais (uso PHP também só de forma simples, nem quero saber como faze MVC nele, PHP é ótimo para o simples). Em C# começou com um treco chamado WebForms que tentava imitar o jeito de desenvolver no desktop. Isso tem lá suas vantagens, mas se mostrou um erro.

Adotaram MVC como tecnologia web principal. E depois incorporaram a API ano mesmo sistema, e você só escolhia se mandava uma view ou um JSON.

Mais recentemente perceberam que estavam matando formigas com canhão na maioria dos casos, até para projetos internos. Então criaram algo chamado Minimal API. Como eu sempre fiz, passaram a recomendar o simples primeiro, e até que se prove que o mais complexo é melhor, não deve pensar nele. Não falarei de Razor Pages, que também é muito simples, porque não é o foco aqui, mas quero reforçar para o simples mesmo eu vou e PHP, do jeito mais simples possível, ele bem puro.

É um processo semelhante ao que acontece com linguagens mais modernas que estão preferindo não ter ou dificultar OOP, porque hoje se tem informações de que não é algo tão bom quanto as pessoas acreditavam. O mercado não costuma acompanhar isso tão facilmente. Cada vez mais o mercado é ditado pelo que "a web fala" e não por estudos conclusivos e especialistas no assunto demonstrando sua experiência.

Minha experiência mostra que MVC é menos eficaz na maioria dos casos, eficiência não acho que seja uma medida fácil de fazer ou importante aqui. Mas nunca é tão simples responder isso. Eu sei que todo mundo quer uma resposta muito objetiva, mas ela estará sempre errada.

Faz sentido?

Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Carregando publicação patrocinada...