Todo desenvolvedor, não importa qual a linguagem em que trabalhe, certamente há de ter feito a si mesmo, pelo menos uma vez, a seguinte pergunta: devo ou não utilizar um framework? Ouso dizer que a resposta é SIM. E passo a detalhar as razões da minha assertiva.
Imagine, nos tempos pré-históricos, como nossos remotos ancestrais se viravam para sobreviver. Tinham que inventar suas próprias ferramentas, arranjar o que vestir. Até fazer fogo era algo extremamente trabalhoso. Felizmente, não vivemos mais naquela época. Mas alguns desenvolvedores ainda insistem em viver na Pré-História da programação, quando precisavam fazer quase tudo a partir do zero e “na unha”. Para defender sua postura em não adotar um framework, costumam lançar a questão “E se esse troço der pau, quem vai consertar?”.
Esse tipo de desenvolvedor é aquele que se apega de tal modo a seu “jeito de fazer as coisas”, ao ponto que todo código não escrito por ele mesmo lhe parece esotérico ou produto de seres alienígenas. Aqui vale um alerta: se você olha para o código-fonte de um framework e não entende nada do que está escrito ali, volte para casa zero e comece a estudar sua linguagem novamente!
O programador troglodita crê piamente que o valor do seu trabalho está no (mau) código que escreve, e não na solução que oferece para o problema do cliente. É aquele que foge o quanto pode das linguagens interpretadas, porque o aplicativo precisa do código-fonte para ser executado e “todo mundo pode ver e se apossar do que eu fiz”. É aquele cara que, nos idos do glorioso Clipper (uma linguagem semicompilada), morria de medo do Valkyrie, um utilitário capaz de traduzir o bytecode executável de volta a código-fonte.
Os melhores frameworks disponíveis na atualidade baseiam-se em padrões de desenvolvimento, giram em torno de uma grande e ativa comunidade e suas versões são testadas com rigor antes de serem disponibilizadas ao grande público. Tudo isso se traduz em qualidade de software, o que, certamente, as soluções do nosso companheiro troglodita não tem.
Adotar um framework significa, num primeiro momento, renúncia. Você abrirá mão do seu jeito de fazer as coisas para endossar o dele. Na maior parte das vezes, isso significa parar de contemplar o próprio umbigo e olhar ao redor, onde mais gente faz mais coisas de forma semelhante, e, portanto, tem problemas similares. Todos começam a falar a mesma língua, e fica mais fácil pedir ajuda e ajudar.
Muitos tomam o tempo que se gasta no aprendizado de um framework como perdido. Eu não veria desta forma. Antes, eu consideraria essas longas horas como auto-instrução e aperfeiçoamento profissional. O resultado, por certo, não aparecerá logo de início (para desespero dos apressados), mas terá reflexos num futuro melhor.
Obviamente, de nada adianta tentar aprender a trabalhar com um framework a toque de caixa para aplicá-lo naquele projeto que era para ontem. Aconselho que essa atividade de aprendizado se dê em paralelo ao desenvolvimento rotineiro, e, a menos que se tenha tempo disponível para erros e tentativas, não utilizar o framework em um projeto sério enquanto não entender seu funcionamento e se sentir minimamente confortável com ele.
Em suma, creio que a grande diferença entre utilizar ou não um framework é a mesma entre ter uma caixa de ferramentas de alta qualidade prontas para o uso, e já partir para o trabalho, ou perder tempo (re) inventando a roda, frequentemente de modo improvisado.
E você? Já escolheu seu framework preferido?
Curtir isso:
Curtir Carregando...
Goncin, muito bem esplanativo seu texto. Faz um tempo já escrevi algo parecido sobre o que voce colocou aqui – http://augpinhao.com.br/?p=155 –
Hoje em dia se a pessoa esta pretendendo ser um bom profissional em qualquer tipo de empresa, é de suma importância o domínio de um ou mais Frameworks.
Faço minha as suas palavras e complementaria com um profissional sem um Framework, não é um profissional completo, pois vai estar gastando muito mais horas, para fazer a mesma coisa que com um framework levaria minutos.
Parabéns.
Realmente, pensamos de forma semelhante. Foi bom conhecer o termo Inversão de Controle, o qual eu não conhecia, embora o conceito seja bastante familiar.
Parabéns, e obrigado pela visita e pelo comentário!
Pingback: Tweets that mention Por que usar um “framework” « goncin@wordpress.com:~$ _ -- Topsy.com
Acho frameworks essenciais e concordo com você que já existem várias opções maduras, com comunidades ativas.
Só tenho medo que as pessoas aprendam a “programar em Cake” e não em PHP, por exemplo. Aí quando precisa fazer um simples formulário de cadastro, vai utilizar os 10MB do Cake pra isso. Você acaba ficando viciado. O mesmo acontece com jQuery x Javascript.
Atualmente uso o kohanaphp (1,79 MB), rapido e sem muita configuração é praticamente descompactar e usar.
Agora só falta um framework flex que eu me sinta confortável…
Já ia esquecendo… hauuaha
Muito bom o post.
Olá, Fernando! Obrigado pela visita e pelo comentário.
Flex não é a minha praia, mas tenho visto muitas menções ao SWIZ Framework. Já experimentou?
Um abraço,
Framework Flex use o SwizFramework. O melhor que há
Bem pelo menos para mim.
Ótimo post. E concordo com o que o colega Davi salientou, principalmente na parte do jQuery. Infelizmente grande parte dos iniciantes que usam jQuery praticamente não tem conhecimento em JavaScript, o que pode ser um problema no momento em que o jQuery não atender a uma necessidade específica.
Parabéns!
Claro !
Normalmente as pessoas que discordam de frameworks se pretegem dizendo que só confiam no código que geram, mas prefiro acreditar que estão com preguiça de aprender mais.
Frameworks e repositórios devem existir em um projeto de software moderno.
Mto bom o post.
Isso realmente é verdade…tanto este medo de “experimentar” o novo, como as vezes até a preguiça de ter q aprender algo, acabam fazendo as pessoas criticarem frameworks sem nem ao menos terem feito alguns testes.
Fora q vejo muitos “sobrinhos” q acham q frameworks são como CMS, algo pronto q basta rodar o install q está lá, pronto pra uso. Qdo vêem q devem aprender algo, desenvolver, fogem.
Gde abraço!
Sim, já escolhi: dot net
mas tem um problema (kkkk):
fiz um programinha simples, básico, usando C#, para gerenciar um banco de dados SQLite. O programa ficou com 112 KB. … Mas tem que baixar e instalar um framework .NET 4 que tem 48 MB. Putz, 48 Mega para rodar 100 k? Custava o C# compilar com o código necessário embutido no próprio programa? Aumentaria o tamanho dele para uns 500KB. Nada mal para um programinha SGBD.
Em parte compreendo a importância dos frameworks, mas a forma de aplicá-los está levando a programação para uma direção nada legal.
Além disso, reinventar a roda é para quem está começando na programação. Quem já tem experiência já tem suas rodas inventadas e aperfeiçoadas.
Ter uma interface entre o usuário e o hardware (sistema operacional) é muito bom, mas ter mais interfaces é bobagem.
Facilita por um lado, mas exige muito de outro.
Um abraço a todos.
Pingback: Tweets that mention Por que usar um “framework” « goncin@wordpress.com:~$ _ -- Topsy.com