Gil (discussão | contribs)
Gil (discussão | contribs)
Linha 15: Linha 15:


= Benefícios =
= 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.
<br>
<br>



Edição das 15h46min de 22 de maio de 2017

Conceito

  • Uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade específica, por configuração durante a programação de uma aplicação.[1]
  • Definir exatamente o que é um framework não é uma tarefa tão fácil, muitos são os conceitos criados por profissionais da área, mas em conceitos gerais seria um conjunto de códigos abstratos e/ou genéricos, geralmente classes implmentadas em uma linguagem de programação, que são usadas para modelar e construir as partes de uma aplicação que são comuns à um domínio de problemas específicos.[2]


Características básicas

  • Um framework diferentemente de uma biblioteca, tem módulos estruturados seguindo algum padrão de projeto (como o MVC por exemplo) sendo praticamente impossível construir a aplicação sem seguir os padroẽs especificados pelo framework.


Classificação

  • 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


Referências