Sem resumo de edição |
Sem resumo de edição |
||
| Linha 1: | Linha 1: | ||
[[Arquivo: | [[Arquivo:Frameworks-Examples.png]] | ||
= Introdução = | = Introdução = | ||
Edição das 14h27min de 11 de setembro de 2021
Introdução
- Como programador, você não precisa começar do zero quando tem ferramentas projetadas para ajudá-lo em seus projetos. Frameworks são softwares desenvolvidos e usados por desenvolvedores para construir aplicações.
O que não é um framework
- Uma das grandes confusões que profissionais iniciantes ou que não conhecem os frameworks costumam fazer é achar que eles são bancos de dados. Na realidade, um framework pode possuir integração com um banco de dados, mas ele não é o banco de dados, como por exemplo o Laravel (framework php).
- Alguns podem presumir que um framework é uma coleção de bibliotecas, assim como as bibliotecas são uma coleção de rotinas pré-compiladas. No entanto, isso não é verdade, pois nem todos frameworks usam ou dependem de bibliotecas.
O que é um framework
- Uma framework é um conjunto de código básico genérico usado como um pacote pelos desenvolvedores que criam um programa. Dessa forma, quando um projeto é iniciado pelo profissional, este pacote de códigos prontos é um suporte que facilita o trabalho, evitando a necessidade de iniciar o site do zero, partindo de uma base comum para qualquer desenvolvimento.
- Esses frameworks podem ser baixados das comunidades de desenvolvedores, normalmente de graça, e em sua maioria open-sources. O pacote de códigos é normalmente criado por vários desenvolvedores, mas com a proposta de criar algo uniforme e padronizado que possa ser usado no máximo de cenários possíveis.
Exemplos e casos de uso
- Frameworks verticais – mais comummente chamados frameworks especialistas, são criados através da experiência obtida em projetos anteriores de um determinado contexto específico[1], geralmente tem as funçoẽs mais comuns de uma aplicação de um determinado escopo (como Web por exemplo) já implementadas (ou pelo menos parte delas) de maneira que o desenvolvedor não precisara recriar do zero toda a estrutura da aplicação uma vez que a maior parte dos sistemas de um determinado domínio tem requisítos funcionais comuns em todos eles. O desenvolvedor então só terá que personalizar os módulos de maneira que atendam aos requisítos específicos do seu sistema.
- Frameworks horizontais – Esse tipo de framework não depende do domínio da aplicação e pode ser usado para resolver problemas de diferentes domínios. Exemplos: interfaces gráficas.[1]
Benefícios
- Eficiência – Como as rotinas mais comuns de uma aplicação já terão sido implementadas, o tempo total de desenvolvimento do sistema será menor.
- Segurança – Muitas das falhas de segurança comuns à uma aplicação já terão sido tratadas pois a maioria dos frameworks são desenvolvidos por comunidades e diversas pessoas reportando erros de forma colaborativa.
- Custo – A maioria dos frameworks são gratuitos, não gerando custos maiores ao desenvolvimento.
- Documentação – A maioria possui uma vasta documentação, explicando os detalhes e funcionamento de suas ferramentas.
- Padrões de codificação – por seguir um padrão de código, além de melhorar a legibilidade do código, pode tornar a manutenção mais simples.
Desafios
- O framework não é a linguagem – por ser uma abstração da linguagem o desenvolvedor terá que passar um tempo aprendendo as peculiariedades do framework.
- Códigos desnecessários – Dependendo do tamanho da aplicação um framework mais robusto pode ter funcionalidades que serão desnecessárias para aquele sistema o que pode tornar a aplicação desnecessariamente mais pesada.[2]
Referências
