O documento discute frameworks web, definindo-os como conjuntos de classes reutilizáveis para desenvolvimento de aplicações web. Apresenta suas características como modularidade, reusabilidade e extensibilidade. Discutem-se também os papéis envolvidos em seu uso e desenvolvimento, além de exemplos como CakePHP.
2. O que Framework?
Frame = Quadro, moldura, estrutura
Work = Trabalho
Frameworks = minha estrutura de trabalho
3. O que Framework?
• Um framework é um conjunto de classes que constitui
um projeto abstrato para solução de uma familia de
problemas. Fayad et al (1999b) e Johnson & Foote (1988)
• Um framework é uma arquitetura desenvolvida com o
objetivo de atingir a maxima reutilização, representada
como um conjunto de classes abstratas e concretas,
com grande potencial de especialização.
Mattson (1996, 2000)
4. O que Framework?
• Um framework é um conjunto de objetos que
colaboram com o objetivo de atender a um conjunto
de responsabilidades para uma aplicação especifica
ou um dominio de aplicação.
Johnson(1991) e Gamma et al (1995)
• Um framework é definido como um software
parcialmente completo projetado para ser instanciado.
Buschmann et al. (1996), Pree (1995) e Pinto (2000)
5. O que Framework?
Definição pessoal:
"Um framework é uma aplicação “semicompleta”, reutilizável,
que pode ser especializada para produzir aplicações
Personalizadas.”
“Framework é um conjunto de scripts feitos por pessoas mais
inteligentes que para eu programar de forma mais rápida, fácil e
eficiente."
7. Reuso de Software
• É um conjunto de técnicas que objetivam obter parte
do projeto e da construção de software, como um
padrão, para uso em diferentes situações.
(D'Souza e Wills, 1998)
Objetivo:
• Produzir mais em menos tempo
• Mais qualidade e menor custo de manutenção
8. Reuso de Software
Métodos de Reuso de Software:
• Bibliotecas de Classes
• Componentes de Software
• Frameworks
10. Frameworks – Papeis Envolvidos no Uso e
Desenvolvimento
• Projetista - responsavel pela estrutura interna do
framework, pelo levantamento de requisitos e pela
definição dos pontos do framework
• Mantenedor - responsavel por redefinir e acrescentar
novas funcionalidades aos projeto do framework
• Desenvolvedor - instancia o framework com os requisitos
especificos
11. Frameworks – Papeis Envolvidos no Uso e
Desenvolvimento
Etapas:
• Analise de Requisito
• Projeto do Framework
• Implementação
• Documentação
• Aplicações
13. Frameworks – Estrutura
• Frozen-spots diz respeito à parte “congelada” do framework, ou
seja, uma parte fixa, que aglutina as funcionalidades e regras
comuns de uma família de aplicações.
• Hot-spots são os pontos de extensão do framework, onde são
contempladas as características particulares de cada aplicação da
família. Os pontos de extensão são os responsáveis por uma grande
característica dos frameworks, a inversão
de controle
15. Frameworks – Instanciação
• Uso dos pontos de extensão da arquitetura do
framework(classes de herança e abstratas) Fase de
implementação do código especifico da aplicação. É
o que falta para completar a aplicação
Existe 4 etapas na Instanciação:
• Analise do sistema
• Mapeamento
• Implementação
• Teste do Sistema
16. Frameworks para Web
Definição:
É um software projetado para dar suporte ao
desenvolvimento de websites e sistemas de conteúdo
dinâmico
Objetivo Geral:
• Diminuir a sobrecarga de codificação necessária para
atividades comuns relacionadas ao desenvolvimento Web
Benefício:
• Oferece uma arquitetura reutilizável de aplicações para
Web que poupe o programador dos detalhes comuns a
esse tipo de software.
•
17. Frameworks para Web –
Classificação
Orientação a Objetos
• Os frameworks caixa-branca baseiam-se nos
mecanismos de herança e ligação dinâmica (dynamic
binding) presentes em orientação a objetos. O
programador deve criar subclasses herdadas das
classes abstratas para criar aplicações específicas.
Componentes
• Um Framework de componentes é uma entidade de
software que prove suporte a componentes que
seguem um determinado modelo e possiblita que
instancias destes componentes sejam plugadas no
framework de componentes.
26. Frameworks – Antes de Usar....
• Domine a linguagem nativa
• Entender os requisitos e especialidades do
framework
• Saiba programar com framework, mas saiba fazer
sem ele
• Conheça diferentes tipos de padrões de projetos