Relação de frameworks no mercado
Introdução Framework, em desenvolvimento de software, é um conjunto de funcionalidades genéricas de apoio ao desenvolvimento baseada em uma determinada plataforma buscando obter melhor aproveitamento do código, maior produtividade e mais agilidade no processo de software. Geralmente seguem um padrão de arquitetura de software para que possa se adequar mais facilmente a projetos que utilizem desses padrões. A definição do termo framework é recente e muito ampla, variando conforme o autor. Uma das definições mais adotadas diz que “Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação”1. Segundo uma definição mais moderna e liberal, encontrada na versão brasileira do site do Framework PHP CodeIgniter Brasil, ”Framework é um conjunto de scripts feitos por pessoas mais inteligentes que eu para eu programar de forma mais rápida, fácil e eficiente” 2. As definições deixam clara a busca por melhora de produtividade e reaproveitamento de código e de esforço prévio, com os próprios frameworks buscando incorporar novas funcionalidades e códigos já testados em um contexto de solução geral. Nesta pesquisa abordarei três frameworks Java explorando seus conceitos e aplicações, com alguns exemplos.
1 2
(Mohamed Fayad e Douglas C. Schmidt, 1997) (Zemel, 2009)
Play! Framework “É um framework de programação de aplicativos Java e Scala de alta produtividade, que integra componentes e APIs necessárias ao desenvolvimento de tais aplicações. É baseada em uma arquitetura leve, amigável e sem-estado3, apresenta consumo de recursos (CPU, memória, threads) mínimo e antecipável para aplicativos altamente escaláveis graças ao seu modelo reativo, baseado em E/S interativa”4. O Play! é uma ferramenta baseada nas novas tecnologias web e de desenvolvimento de software, buscando muito de seu ideal nos frameworks Rails para Ruby (Ruby on Rails) e