O papel dos frameworks no desenvolvimento de softwares!
28/11/2017 por Eunides Santos

Texto produzido por: Luiz Paulo Fernandes

 

Como qualquer mercado, o mercado de software mudou muito ao longo dos últimos anos. Sabemos que as indústrias, e isto também se aplica a indústria de software, se empenham diariamente para conseguir produzir mais rapidamente, por um custo menor, e ainda assim entregar um produto com mais qualidade.

Diante deste cenário, algumas empresas se destacam, conseguindo entregar um produto melhor, mais barato, e mais rapidamente. Como todos já sabemos a muito tempo, eis que surgem os problemas para os seus concorrentes: eles precisam melhorar também. Caso contrário, eles começam a perder clientes, podendo chegar a falir.

No caso da indústria de software, os concorrentes então, para se salvar e se sustentar no mercado, começam a procurar formas de melhorar o seu processo de desenvolvimento. Isto não é uma tarefa fácil, pois muitas empresas não têm tempo ou dinheiro para desenvolver novas técnicas, novas ferramentas, contratar uma consultoria ou reestruturar todo o seu processo de desenvolvimento. Este tipo de mudança afeta bastante o desempenho da empresa e, caso estas mudanças não sejam realizadas de forma inteligente, pode ser um tiro no próprio pé.

Surge então a questão: como mudar tanto, em tão pouco tempo e sem demandar altos custos? Uma das soluções que podem ser adotadas é o uso de frameworks. Um framework é uma abstração, um conjunto de recursos de software, contendo código que pode ser utilizado e reutilizado no processo de desenvolvimento de um software final, que será entregue para o cliente. Além de um conjunto de ferramentas, ele é um modelo de trabalho que, provavelmente, sua empresa desenvolveria se tivesse tempo e dinheiro suficiente, além de pessoas extremamente capacitadas.

Os frameworks resolvem problemas comuns que os desenvolvedores encontram ou vão encontrar, poupando os mesmos de terem que criar soluções para eles. Outro ponto positivo sobre os frameworks é que a maioria deles possui uma documentação completa e detalhada do seu funcionamento e dos seus recursos, poupando a empresa de ter que criar esta documentação.

Quem desenvolve os frameworks são comunidades de programadores, desenvolvedores e analistas que estudam as melhoras práticas, que proporcionam agilidade, organização, coesão, e várias outras melhorias, ao processo de desenvolvimento. Estas comunidades também estudam e eliminam as falhas de segurança dos softwares, proporcionando mais tranquilidade em relação a ataques de hackers ou vazamentos de informações.

Muitos desenvolvedores que fazem parte das empresas concorrentes, citadas anteriormente, também estão inseridos nestas comunidades. Eles estão correndo atrás de melhorar seus processos, mas não têm tempo para estudar e implementar modelos, melhores práticas, etc. Só têm tempo para focar no produto final. Eles se ajudam, reportando erros, pontos de melhoria, etc, fazendo o framework se tornar mais e mais poderoso.

Mas é preciso tomar muito cuidado. Os frameworks são muito poderosos sim, mas, como tudo na vida, eles não são ferramentas divinas que resolverão todos os seus problemas como se fosse mágica. É preciso saber quando, como e onde devem ser utilizados. É preciso também estudar qual framework se adapta melhor aos processos da sua empresa. Abaixo listei alguns pontos positivos e pontos de atenção que devem ser considerados na hora de adotar o uso de um framework.

FRAMWORKS MAIS UTILIZADOS

 

Pontos positivos e benefícios proporcionados pelo bom uso dos frameworks:

Desenvolver soluções em código, melhorias de processos, etc, demandam tempo, e tempo é dinheiro. Existem muitos e muitos frameworks que podem ser encontrados e baixados facilmente na internet, a custo zero. Na maioria dos casos a documentação deles também está disponível na internet e pode ser acessada gratuitamente. Em alguns casos até o suporte é gratuito, fornecido pela própria comunidade. A economia para sua empresa neste caso pode ser muito grande.

Sua equipe pode se tornar muito, mas muito mais eficiente utilizando frameworks. Frameworks possuem modelos, classes e métodos embarcados que foram criados por desenvolvedores que já enfrentaram os problemas mais comuns que surgem durante o desenvolvimento de softwares. Sendo assim, diante de um problema que demandaria centenas de linhas de código para ser resolvido, sua equipe pode utilizar recursos já disponíveis no framework e resolver o problema com algumas poucas linhas de código.

Se a equipe do seu projeto é muito grande, o uso de frameworks pode ajudar a definir para a equipe, de forma consistente, um modelo de trabalho, estabelecendo um fluxo, determinando padrões, de forma a tornar um trabalho onde muitos participam mais simples e organizado. Outra vantagem é que, como os frameworks disponibilizam uma documentação completa, a sua empresa também economiza com treinamento dos envolvidos no projeto. Eles podem simplesmente acessar e estudar a documentação que já está pronta, multiplicando o conhecimento para os outros membros da equipe.

O uso de frameworks garante um software final mais seguro. O modelo de trabalho imposto pelos frameworks e as suas ferramentas de segurança garantem um software com menos falhas de segurança, pois as comunidades estão constantemente estudando e eliminando estas falhas e disponibilizando atualizações que implementam estas melhorias. Um software mais seguro pode ser um diferencial, pois proporciona mais tranquilidade à sua empresa e ao cliente, e pode acabar se tornando uma preferência.

Além de possuir ferramentas para resolver problemas comuns enfrentados pelos desenvolvedores, os frameworks também podem proporcionar a sua empresa novos recursos, que nem faziam parte dos planos. Alguns deles possuem por trás um código muito complexo, muito demorado e difícil de se desenvolver, que não seria possível de ser criado pela sua empresa, e agora estão prontos para serem facilmente consumidos pelos desenvolvedores da sua equipe.

 

Pontos de atenção que devem ser levados em conta na utilização de frameworks:

Como já citado anteriormente, alguns frameworks são muito difíceis de se aprender. Neste caso, recomendo estudar os benefícios que ele proporciona (se de fato proporciona) e se vale a pena se empenhar para aprendê-lo e implementá-lo.

O uso constante de recursos do framework pode fazer os desenvolvedores ficaram "mal acostumados", ou seja, acostumados a não terem que pensar e criar soluções, ficando dependentes de códigos de terceiros para realizarem um bom trabalho. Isto pode limitar a criatividade da sua equipe. É preciso garantir que os seus desenvolvedores continuem estudando sobre os conceitos da computação, linguagens e técnicas de programação. Estes conceitos têm um tempo de vida muito maior do que os frameworks.

Se o software final que sua empresa está desenvolvendo é muito simples ou requer pouca manutenção, talvez usar um framework para desenvolvê-lo pode trazer uma complexidade desnecessária para o seu projeto. Lembre-se que o produto deve ter qualidade, mas também deve ser entregue rapidamente. Quanto mais simples for o seu projeto, mais rápido serão as suas manutenções.

O fato de um framework existir não garante que ele vai existir para sempre. Ele pode ser descontinuado, a comunidade pode abandoná-lo, e sua empresa pode ficar sem suporte. É preciso ficar atento às notícias, artigos, etc, sobre os frameworks que sua empresa utiliza, pois eles podem dar sinais de que seu futuro não é mais tão promissor quanto antes.

Atualizações nos frameworks costumam acontecer frequentemente. Melhorias no código e correção de erros fazem parte destas atualizações, e são coisas boas. Mas algumas atualizações podem alterar drasticamente ou até remover alguns recursos que sua empresa utiliza. Isto pode fazer o seu software final parar de funcionar parcialmente, ou até totalmente. Fique atento ao conteúdo das atualizações.

Seguem agora algumas dicas para o correto uso dos frameworks:

Os frameworks muitas vezes exigem uma mudança no modelo de trabalho da sua empresa, portanto é imprescindível estudar qual framework vai demandar uma quantidade de tempo adequada à realidade da sua empresa para ser aprendido e implementado. Alguns são muito complexos, e demandam muito tempo e esforço, sendo que muitas vezes não resolvem os problemas da forma que se esperava.

Procure frameworks que possuem uma ótima documentação. Eu diria que um framework é tão bom quanto a sua documentação. De nada adianta o framework ser super poderoso se você não conseguir utilizar seus recursos e aproveitar o seu potencial. Uma boa documentação deve ser bem detalhada quanto aos recursos, deve ser clara, organizada e deve conter o detalhamento de todos os recursos disponíveis, sem exceções. Um recurso que não está documentado não serve de nada, é como se não existisse. Além disso, a documentação deve conter uma ferramenta de busca que funcione bem. Afinal, se o seu framework tiver muitos recursos, você vai precisar pesquisar frequentemente e rapidamente na sua documentação.

Dê preferência para frameworks mais conhecidos e consolidados no mercado, cujos materiais e informações disponíveis sejam mais abundantes e de fácil acesso. Quanto mais conhecido e consolidado for o framework, mais fácil será de encontrar profissionais que têm experiência com ele. Será mais fácil também obter suporte, encontrar pessoas nas suas comunidades que possam ajudar a resolver problemas na sua utilização, ou até encontrar artigos e relatos de pessoas que já resolveram o mesmo problema que você está enfrentando.

A Net On soluções faz um ótimo uso de frameworks. Seus clientes recebem produtos de alta qualidade em um curto prazo e com um preço acessível. Seus profissionais têm consciência de que não devem ser dependentes de frameworks, e estão sempre estudando, se capacitando e se atualizando sobre o mercado de TI e as técnicas de programação, análise e desenvolvimento de sistemas.