Introdução
O que é framework mesmo? Framework é aquela "biblioteca grandinha", ou melhor, aquele conjunto de bibliotecas que te fornece um ambiente de desenvolvimento pra facilitar todas as tarefas de um determinado escopo.Esteja de olho nas novas tendências
Sempre é bom estar de olho nas bibliotecas que estão se tornando tendência, mesmo que você não adote elas. Quando você entende a maneira que ela resolve os problemas você também entende como a comunidade deste determinado escopo está pensando e pode ter novas idéias para resolver os seus problemas. Muitos Frameworks apresentam um novo paradigma de programação, uma nova perspectiva de lidar com o seu código em geral e pode acrescentar muito na maneira que você pensa.Para Grandes Empresas
Em grandes empresas, adotar um framework famoso pode ser tão importante quanto adotar uma linguagem pois irá tornar o código mais homogêneo pois todos os desenvolvedores irão saber como resolver o problema da mesma maneira, e por consequência, saberão ler e dar manutenção no código alheio.O Problema surge antes do Framework
Mas o framework pode trazer mais problemas do que soluções, é importante saber escolher, afinal, você precisa mesmo de um framework? O Framework deve vir pra resolver um problema que você já conhece. Quando você aprende uma nova linguagem, antes de ir procurando quais frameworks existem no mercado, você deve sentir como é desenvolver com essa linguagem e entender suas limitações e dificuldades, assim vai poder identificar quando o framework irá facilitar ou trazer complexidade desnecessária.Desapegue-se
Também é preciso saber quando desistir de um framework, foi muito legal, muito divertido, tivemos ótimos momentos juntos, mas nosso relacionamento já não é como era antes, conheci novas técnicas e tecnologias e você está mais atrapalhando do que ajudando.Quando eu comecei a desenvolver para Java Web fui apresentado logo de cara ao JSF (Java Server Faces), era o framework adotado na empresa e provavelmente eu não tinha escolha mesmo, mas depois de diversos meses usando a ferramenta, depois de me tornar um expert, saber tudo sobre o assunto, eu queria fazer coisas mais avançadas, pesquisei muito na internet como realizar algumas tarefas que ele não estava pronto e tudo o que pude fazer era gambiarra, estava na hora, e nos próximos projetos eu radicalizei, voltei ao básico: Servlet e javascript puro. Parece impossível, mas o puro foi mais produtivo que o framework. Mas isso não pôde durar muito.
O Framework Indispensável
Existem alguns frameworks indispensáveis, a linguagem as vezes está parada no tempo ou não quer abstrair tanto, mas a comunidade vê potencial, quer essa abstração e cria frameworks que as estendem totalmente de maneira que simplesmente não dá pra não usa-la. É o caso do Ruby on Rails, e no meu caso, era o jQuery para javascript.Eu aprendi javascript puro, na época que não existia jQuery e era doloroso (IE6) e cansativo, eu considero o jQuery uma salvação para o javascript, é claro que a linguagem não iria morrer pois todo mundo usava o navegador e todas as empresas tinham um website, mas a linguagem estava largada as traças, você tinha que escrever muito, com métodos muito extensos, sem falar nos vários IFs para navegadores diferentes. Não tinha como não usar jQuery e ele era o framework perfeito.
Não seja um escravo do sistema
Hoje é muito frequente ver vagas de emprego com não só linguagens como requisitos básicos mas também frameworks. Pode isso Arnaldo? Como eu disse anteriormente, é bom adotar um framework em grandes empresas, porém você como desenvolvedor não pode se acomodar com essa situação, você não é apenas um operário para "aplicar" código usando uma arquitetura e sem ter que pensar em nada, não tire essa idéia da cabeça.A Modinha dos Frameworks
Novos frameworks são criados com cada vez mais frequência, veja o caso de javascript, a velocidade que novos frameworks MVC são criados é incabível, e todos eles implementando o mesmo padrão de projetos, é um desperdício de mão de obra. Angular, Backbone, Knockout, Ember, Batman, Cappuccino, Spine, Sammy, entre tantos outros. E é incrível como continua a ser criados frameworks MVC, só porque eles parecem magica, fazer tudo automático, mas pra falar a verdade a maioria dos projetos web não se encaixam no padrão MVC. Para as aplicações web mais dinâmicas eu prefiro lidar com eventos.A Difícil Quest do Framework perfeito
Conforme você vai adquirindo experiência e o tempo vai passando, eventualmente você terá que largar o seu framework favorito para seguir em frente, e alguns frameworks novos que você conhecer poderão te dar um bloqueio por tudo que você aprendeu ao longo dos anos, pois estes seguem padrões que você vê que não te darão tanta liberdade quanto gostaria. Quando chegar esse momento você terá que optar em continuar procurando o framework perfeito incessantemente, continuar com a porcaria que você tem ou criar o seu próprio conjunto de bibliotecas.E se eu criasse meu próprio Framework?
A vantagem de usar o seu próprio conjunto de bibliotecas, fazer seu próprio framework com classes utilitárias, classes abstratas para processos e classes para models genéricos é que a curva de aprendizado é mínima, você poderá altera-lo para se adequar a suas novas necessidades, o código poderá evoluir sempre com mais facilidades, você terá certeza de como funciona e poderá abandonar ou adquirir módulos a qualquer momento. O lado ruim é que nunca conseguirá contratar um funcionário que já sabe usar seu framework.Na Martin.labs
Na Martin.labs usamos diversas linguagens: Java para o servidor, javascript para a web, C# para Android e iOS; em cada um desses ambientes avaliamos qual seria a melhor estratégia de frameworks:Para Java nós já conhecíamos muito de como desenvolver webservices sem um framework, e já sofremos muito com frameworks de terceiros, preferimos criar nosso próprio framework para lidar com Servlet, Transações, envio de E-mail, Conexão com Banco de Dados e Classes de Modelos padrão para respostas de WS e Exceptions;
Para javascript usamos essencialmente jQuery e Require, além de outras ferramentas para build e bibliotecas simples, mas juntamos um conjunto de bibliotecas e criamos nosso próprio framework também;
Para Android e iOS a situação é mais delicada, utilizamos um grande framework chamado Xamarin, bom não é exatamente um framework - nós desenvolvemos usando os métodos de Android e iOS porém em C#, e muitas funcionalidades de lógica de negócios fica em um único código - E como não encontramos nenhum ótimo framework para Xamarin e não sentimos a necessidade de um, fizemos nosso próprio conjunto de bibliotecas, e códigos reutilizáveis para vários projetos.
No comments:
Post a Comment