Framework: Programe Mais em Menos Tempo

Usar Frameworks é algo que já faz parte do dia da maioria dos desenvolvedores, especialmente de quem trabalha com um grande número de projetos que usem funções similares.
De fato, a possibilidade de reutilizar códigos com poucas alterações ajuda a poupar tempo, e dá uma caixa de ferramentas para o programador que vai além do que é oferecido pela linguagem.
O conceito de Framework pode parecer muito confuso em relação a outras formas de aproveitar códigos em vários projetos, como a orientação a objetos e as classes, por exemplo. A grande diferença é que ele opera de forma muito mais profunda.

O que é Framework?

Basicamente, o Framework provê um template de base com diversas funções para um desenvolvedor, de modo que é desnecessário gastar tempo reproduzindo funções em diversos projetos.
Uma boa comparação é a da caixa de ferramentas: só que, ao invés de chaves de fenda e martelos, há a base para formulários de login, validação de campos e conexão com bancos de dados.
Para dar um exemplo claro vamos comparar a codificação com um processo de construção. Se você precisa construir uma casa, você provavelmente sabe que haverá algumas paredes, janelas, portas (com alguns bloqueios possíveis), um telhado e outra coisa. Em vez de construir uma parede de tijolo por tijolo você pode perguntar ao seu Framework: “Hey, Framework, eu preciso de uma parede” e você receberá sua parede imediatamente (você será capaz de ajustar e personalizar a sua parede depois para torná-la perfeita, mas você recebe uma parede bastante normal desde o início). Ainda assim, cada estrutura dita suas próprias regras e tem seus próprios limites.
Nesse sentido, como parte da tendência no desenvolvimento de software de tentar reduzir os custos e aumentar a produtividade, o uso de Frameworks tem se tornado cada vez mais difundido.
Hoje, já existe uma grande variedade de soluções disponíveis para as mais diversas linguagens, com comunidades que realizam a testagem e a criação de diferentes funções.

Como um Framework funciona?

As funções do Framework têm uma grande variedade de parâmetros, o que garante ao desenvolvedor a possibilidade de realizar customizações de acordo com as necessidades do projeto. Para fazer isso, são usados princípios da orientação a objeto, como a abstração, o polimorfismo e a herança.
Aliás, vale ressaltar que essa integração entre as diferentes funções de um framework é uma das suas principais características. Isso significa que as ferramentas são feitas de forma mais aberta, para poder se adequar a uma grande quantidade de situações.
Tais pontos providos pelo Framework são os chamados frozen spots, ou hook points, enquanto a instanciação e customização do desenvolvedor são denominadas de host spots.

Abstração

É quando transformamos uma entidade do mundo real em um objeto para uso na programação. Esse objeto vai ter características e ações da entidade. Exemplo:

Herança

Um dos conceitos que mais tem relação com o mundo real. A herança é utilizada quando um objeto possui características e ações iguais às de outros objetos. No mundo real, quando se pensa em herança física, consideramos as semelhanças que um filho possui com relação a seus pais, como cor de cabelo e altura. Exemplo:

Polimorfismo

No mundo real, o polimorfismo acontece quando uma entidade consegue alterar uma característica ou ação que foi concedida pela herança. Não é sempre que o objeto precisa usar de fato todas as informações que estão atreladas à entidade superior ao fazer uma herança de entidades. Nesses casos, o polimorfismo pode ajudar.
Para utilizar o polimorfismo em algumas linguagens de programação orientadas a objetos, é necessário que uma nova informação seja associada à fonte herdada (ou fontes ancestrais). Isso irá substituir o valor da informação do objeto pai pelo objeto filho.

O que diferencia o Framework, Biblioteca e API?

A criação de funções e modularização também existe fora dos Frameworks, o que pode causar certa confusão. Bibliotecas de classes, por exemplo, são uma implementação em que as funções podem ser importadas para uso em diversos projetos.
A grande diferença do Framework é a integração entre as suas diferentes funções e o seu grau de complexidade. Enquanto em bibliotecas de classes as funções operam de forma relativamente independente entre si, em um Framework há relações já embutidas de dependência entre um componente e outro.
Outro diferencial é a forma como o programa flui. No caso das bibliotecas, por exemplo, é o programa que tem controle sobre o fluxo e faz as importações. Já quando se usa um Framework, este é quem “chama” as funções criadas pelo usuário.
Apesar dos três serem diferentes uns dos outros, existe uma forte ligação entre uma API, uma biblioteca e um Framework. Uma API descreve um comportamento, enquanto uma biblioteca contém toda a implementação das regras utilizadas neste comportamento. No que se refere à relação entre API e Framework, uma API é o lado público de um Framework, o que significa que, a partir de todos os métodos implementados em um framework, somente os relevantes para o usuário serão apresentados em uma API.

Como o uso de Frameworks pode beneficiar  uma empresa?

Já foi mostrado o principal benefício do Framework, que é a sua capacidade de economizar tempo no desenvolvimento de softwares por meio da reutilização de códigos eficazes, que já foram testados. Agora, mais 3 benefícios para usá-los:

1. Menos bugs

Como já passou por diversos testes, o código de um Framework geralmente já está sem grandes bugs. E isso se aplica principalmente aos de maior porte, que possuem uma comunidade voltada para reportar erros e corrigi-los.

2. Facilidade de aprendizado

A maioria dos Frameworks de grande porte possui um registro extenso de documentação, o que facilita muito o aprendizado por parte dos desenvolvedores. Por meio disso, é possível conhecer melhor as funções e a forma de utilizá-las.

3. Padronização de código

Para que haja compatibilidade, o desenvolvedor deve seguir o mesmo padrão de codificação usado pelo Framework. Isso contribui para que o código seja mais legível, tornando a manutenção mais fácil por parte da equipe.

Há contras para o uso de Framework?

Os benefícios de se usar um Framework são muito maiores do que os contras, desde que se saiba escolhê-lo e usá-lo bem. Por isso, vejamos a seguir a lista 3 práticas ruins ligadas ao uso de Frameworks que podem ser evitadas.

1. Dependência

É importante ressaltar que o Framework é diferente da linguagem de programação na qual ele foi escrito. Por isso, o desenvolvedor precisa conhecer bem a linguagem com que trabalha, afinal, ele vai aprender mais sobre as funções do Framework, mas não sobre a linguagem em si.
Além disso, o projeto passa a estar ligado ao Framework, o que causa a necessidade de retrabalhos em caso de migrações.

2. Complexidade de modificação do Framework

Como já disse neste texto, o Framework é uma estrutura complexa com várias funções interligadas. Por isso, um desenvolvedor precisa conhecer muito bem tanto a linguagem quanto a estrutura do Framework se deseja fazer alguma alteração em uma função dele.

3. Códigos desnecessários que pesam o programa

Há Frameworks com todo tipo de funções e tamanhos. Por isso, o desenvolvedor deve tentar encontrar aquele que tenha só as funções que ele vai usar, ou o mínimo de componentes sobressalentes possível.
Há diversas opções de Frameworks robustos, com uma gama vasta de funções que não serão usadas pela aplicação e acabarão colocando um peso desnecessário sob o programa.

E a Segurança?

Ao mesmo tempo em que a maioria das soluções de Framework oferece segurança, também pode oferecer vulnerabilidades.
Por um lado, há um amplo suporte à correção de falhas de segurança — já que é usado por vários usuários e tem uma comunidade para resolver vulnerabilidades. Por outro, por ser um software aberto, usuários maliciosos pode procurar falhas e explorá-las, o que oferece certo risco.

Quais as vantagens e desvantagens de uma empresa desenvolver o seu próprio Framework?

Uma possibilidade para empresas com grandes setores de TI e necessidades muito específicas é desenvolver o seu próprio Framework. E, para isso, é possível usar códigos de soluções que a própria empresa já criou.
Mesmo assim, é de extrema importância ter desenvolvedores que conheçam a linguagem a fundo. Até porque, vale ressaltar, o principal benefício de ter o seu próprio Framework é o controle completo que se tem sobre as soluções.
No entanto, com isso também vem a responsabilidade por fazer testes, atualizações, correções, documentação e, é claro, a implementação das funções. Por isso, esse projeto pode acarretar um alto custo da empresa, já que vários profissionais terão que investir o seu tempo na execução e manutenção do Framework.
Fonte: Hackernoon, Onetrail

Gostou do post ? Então siga as nossas redes sócias:

Facebook – Twitter

Related Post

0 Comentários

Envie uma Resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*

CONTACT US

We're not around right now. But you can send us an email and we'll get back to you, asap.

Enviando

© [2017] Blog da Inovação - Tecnologia, Criatividade, Inovação .

Fazer login com suas credenciais

Esqueceu sua senha?