Cá estou!
Hoje será o 1º post da sessão de Frameworks que eu tanto esperava...
Então, vamos nessa.
O assunto de hoje é: Framework.
O tão falado e utilizado hoje em dia. Mas o que seria isso?
Framework é uma ferramenta basicamente, um software reutilizável que será utilizado para auxiliar o desenvolvimento de software.
Mas quais características ele deve ter para ser considerado um Framework?
Características Básicas de um Framework:
- Usável
- Reusável
- Bem documentado
- Fácil de usar
- Extensível
- Eficiente
Um cara chamado Wolfgang Pree escreveu um artigo muito interessante em 1994, chamado: "Meta Patterns: A Means for Capturing the Essentials of Reusable Object-Oriented Design".
O artigo é bem bacana, vale a pena dar uma procurada.
O artigo é bem bacana, vale a pena dar uma procurada.
Esse cara é um Professor e cientista. Conhecido por framework, design patterns, linguagens de programação e sistemas baseados em componentes.
Pois bem, ele levantou uma linha de raciocínio bem interessante.
Onde, as estruturas de software consistem em frozenspots e hotspots.
Os Frozenspots definem a arquitetura geral de um sistema de software, ou seja, seus componentes básicos e as relações entre eles.
Estes permanecem inalterados (congelada) em qualquer instanciação do framework de aplicação.
Os Hotspots representam as partes onde os programadores que usam o quadro adicionar seu próprio código para adicionar a
funcionalidade específica para o seu próprio projeto.
Como eles interagem:
Hotspots são os pontos extensíveis, necessitam de complementação por funcionalidades/serviços que devem ser implementados.
São invocados pelo framework, ou seja, classes (implementadas pelo programador da aplicação) recebem mensagens de uma classe do framework (frozenspot).
E utilizar um framework adiantaria em que mesmo?
Vantagem
A maior vantagem da estrutura de software é que ela reduz o tempo e energia para o desenvolvimento de qualquer software.
Frameworks fornecem um sistema padrão de trabalho, através do qual o usuário pode desenvolver o módulo desejado de aplicação ou a aplicação integral
em vez de desenvolver detalhes de nível inferior.
Utilizando frameworks, os desenvolvedores podem dedicar mais tempo no desenvolvimento do requisito de software, e não na preparação do ambiente e nas ferramentas de desenvolvimento de aplicativos. Logo, otimizamos MUITO MUITA coisa.
Bacana,mas nem tudo são flores, isso tem desvantagem?
Desvantagem
Para um usuário iniciante, é mais difícil de usar a estrutura rapidamente, uma vez que o framework é grande, complexo e abstrato. O usuário tem que gastar mais tempo para avaliar o conceito, função e seus usos no desenvolvimento do programa.
Como modelos de mercado, temos:
Principais Frameworks Java:
Struts , JavaServer Faces {JSF}, Primefaces, Spring, Hibernate, Jasper Report / iReport, dentre outros.
Principais Frameworks PHP:
CodeIgniter, Zend Framework, CakePHP, Symfony, Seagull, dentre outros.
Referência: Artigos W, Pree --> http://dl.acm.org/citation.cfm?id=679381
Bom, espero que tenham gostado.
Até o próximo post pessoal!
o/
0 comments:
Postar um comentário