BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Frameworks emburrecem os desenvolvedores?

Frameworks emburrecem os desenvolvedores?

Em um post em seu blog, K. Siva Prasad Reddy, desenvolvedor de software da JP Morgan, trouxe à tona a questão polêmica sobre a possibilidade de frameworks web estarem "emburrecendo" os desenvolvedores. Ele comenta que, após realizar algumas entrevistas de emprego em sua empresa, chegou à conclusão que a utilização de frameworks pode impedir que os desenvolvedores tenham um aprendizado mais profundo sobre as características técnicas da solução, gerando consequências negativas em várias áreas.

Por ser particularmente interessante, aqui está reproduzida umas das entrevistas realizadas por Reddy, para um vaga de desenvolvedor Java sênior com aproximadamente cinco anos de experiência:

Reddy: Vejo que você utilizou Spring no seu último projeto. Quais são as vantagens de utilizá-lo?

Entrevistado: Configuramos os beans em XML e o Spring cuida de instanciá-los e disponibilizá-los.

Reddy: Se o Spring está apenas criando objetos, por que seria necessário, já que posso instanciar as dependências simplesmente usando "new". Por que então configurar os nomes das classes em um arquivo XML e obter o objeto pelo Spring?

Entrevistado: Se amanhã quisermos criar outra implementação da interface, bastaria criá-la e atualizar a configuração no XML para usá-la. Não é preciso mudar classes Java e recompilar o projeto.

Reddy: Mas se você está escrevendo uma nova classe em Java, então é claro que precisará compilar o projeto. Com relação à mudança do XML, este arquivo geralmente está empacotado em um arquivo WAR ou EAR. Então provavelmente vai ser rodado um script para criar o WAR com todas as novas mudanças, e não é válida sua observação que "se é um XML, não preciso compilar".

Entrevistado: Mas o padrão de projeto de Injeção de Dependências recomenda fazer desta forma...

Reddy: OK, a entrevista terminou. Nosso RH entrará em contato com você.

Reddy reconhece que a utilização de frameworks aumenta a produtividade, mas defende que os desenvolvedores devem tentar entender como o framework faz o seu trabalho.

David Brion, desenvolvedor .Net que já contribuiu com projetos como NHibernate e Agata, entre outros, analisou a questão levantada por Reddy, concordando parcialmente:

Não diria que frameworks emburrecem os desenvolvedores. Mas noto que muitos desenvolvedores não têm ideia alguma sobre o que um framework está fazendo. E isso não acontece apenas em uma comunidade específica. Vejo desenvolvedores .NET, Java e Ruby com comportamento similar, e imagino que isso seja comum em todas as plataformas que tenham crescido ao ponto de não serem mais consideradas de nicho.

Frameworks, lembra Brion, são desenvolvidos para que não se tenha que lidar constantemente com certos detalhes de implementação. Por outro lado:

Não é uma boa postura usar um framework para abstrair e evitar conhecer os detalhes do que ocorre. Claro que não se deve saber cada detalhe específico, mas é importante estar atento ao que pode causar danos.

Ele destaca ainda que existem certos aspectos em desenvolvimento de software que não podem ser ignorados e que o uso indiscriminado de frameworks pode ter efeito prejudicial em várias áreas, como por exemplo a manutenção do código. Ou seja, o que inicialmente parece um aprimoramento, pode levar a problemas sérios de inflexibilidade e fragilidade no projeto.

Se você entende porque ele simplifica seu trabalho e como isso acontece, provavelmente usará o framework com mais responsabilidade – em vez de usá-lo cegamente e correr o risco de desconsiderar aspectos que não podem ser ignorados.

Entre os aspectos, Brion cita desempenho, gerenciamento de memória, operações complexas em banco de dados (e sua frequência), e otimização do uso de largura de banda e de chamadas remotas – aspectos que muitas vezes exigem descer o nível de abstração, ou até mesmo driblar o framework, para realizar um tratamento adequado. Quando há problemas nessas áreas, saber como cada elemento se encaixa e o que ocorre nos bastidores pode significar a economia de semanas de trabalho.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT