Frameworks de Produtividade

1.317 visualizações

Publicada em

Palestra sobre frameworks integradores e mecanismos de produtividade.

Publicada em: Software
1 comentário
10 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
1.317
No SlideShare
0
A partir de incorporações
0
Número de incorporações
32
Ações
Compartilhamentos
0
Downloads
0
Comentários
1
Gostaram
10
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Framework é uma parte da questão de reuso e produtividade.
    Arquitetura de software é mais que apenas framework.


    Um efeito de zoom out estilo Prezi ficaria legal aqui.
  • Há trabalho árduo para criar um ativo, e mais árduo ainda para torná-lo reusável.
  • Fazer um tour pelo site do Demoiselle.
  • Resumir o tour pelo site do Demoiselle.
  • Menos código de infraestrutura  Menos sujeito a falhas, menor custo de manutenção, maior qualidade por apoiar na plataforma.
    Mais uso de ativos de terceiros, como por exemplo bibliotecas e frameworks focados, de forma desacoplada: facilidade de troca e evolução.
  • Menos código de infraestrutura  Menos sujeito a falhas, menor custo de manutenção, maior qualidade por apoiar na plataforma.
    Mais uso de ativos de terceiros, como por exemplo bibliotecas e frameworks focados, de forma desacoplada: facilidade de troca e evolução.
  • http://codingarchitect.wordpress.com/2012/10/22/full-stack-frameworks-vs-non-full-stack-frameworks/
    http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/
  • http://kendo-labs.github.io/angular-kendo/#/Grid
  • http://kendo-labs.github.io/angular-kendo/#/Grid
  • http://arquillian.org/guides/getting_started_pt/
  • http://www.telerik.com/kendo-ui
  • Frameworks de Produtividade

    1. 1. Frameworks Integradores Simplicidade e Produtividade no Desenvolvimento de Aplicações Marco Aurélio S. Mendes marco@arkhi.com.br Arkhi Consultoria e Treinamento Palestra Apresentada em Agosto de 2014 no Simpósio Mineiro de Engenharia de Software da PUC Minas
    2. 2. Frameworks Integradores •Conceituação de Frameworks •Requisitos de Frameworks •Frameworks Integradores
    3. 3. Não existe estratégia única, técnica ou truque que irá aumentar exponencialmente a produtividade de desenvolvedores. (Frederik Brooks, 1975)
    4. 4. FOWLER, M. Design Stamina Hypothesis. A armadilha da ausência no desenho em sistemas de software.
    5. 5. Componente Biblioteca Frameworks Aplicação Existente Aplicação “Empacotada” Catálogo Método de Desenvolvimento Modelo de Referência Idioms Padrão de Desenho Padrão Arquitetural Estilo Arquitetural Mecanismo Arquitetural Decisão Arquitetural Arquitetura de Referência EELES, P.; CRIPPS, P. The Process of Software Architecting. Ativos de Produtividade da Indústria de Software
    6. 6. Frameworks – O nosso escopo neste seminário O Que são? Aceleradores do desenho, desenvolvimento ou testes Fornecem partes de uma arquitetura Possuem pontos de extensão
    7. 7. Frameworks Serviços prontos. Padronização do trabalho. Redução da flexibilidade. Curva de aprendizado pode ser complexa. Devem evoluir com a tecnologia.
    8. 8. Ativo •Artefato retido ao final de um projeto. Ativo Robusto •Bem documentado; •Generalizado além das necessidades de um projeto •Rigorosamente testado •Muitos exemplos de uso Ativo Reusável •É um ativo robusto •Usado em pelo menos 3 projetos distintos •Utilizado por pelo menos 3 equipes distintas AMBLER, S.; NALBONE, J.; VIZDOS, M. J. The Enterprise Unified Process: Extending the Rational Unified Process. Maturidade de um ativo estratégico de reuso
    9. 9. Frameworks maduros requerem Equipe Marketing e Comunicação Comunidade Suporte e Documentação Treinamento e Apoio Estrutura Financeira
    10. 10. Requisitos técnicos de frameworks MVC ORM Roteamento simplificado Scafflolding Templates nas páginas Padronização W3C Padronização i18n, L10n Segurança Suporte OO Suporte linguagens funcionais Testes de unidade REST Práticas ágeis: KISS, CoC, DRY
    11. 11. Exemplo no Brasil: Demoiselle demoiselle.sourceforge.net
    12. 12. Característica Demoiselle* Financiamento próprio com patrocínio independentes ✔ Número de desenvolvedores envolvidos Mais de 30 pessoas Participação de comunidade ✔ Documentação e manuais ✔ Treinamento e suporte ✔ Uso do modelo de programação Java EE 6 ✔
    13. 13. Exemplo: Evolução Java EE
    14. 14. Exemplo: Evolução Java EE
    15. 15. Exemplo Java EE Aplicações Java EE 6 usam frameworks REST, MVC e ORM para eliminar tarefas estruturais e reduzir código
    16. 16. Classificação de Frameworks Frameworks Integradores Modular Monolítico Não Integradores Macro Modular Monolítico Micro (<5K) Ref.: Classificação de Steven Sanderson
    17. 17. Frameworklocal MVC Frameworklocal ORM Frameworklocal TDD Frameworklocal AJAX
    18. 18. FrameworksIntegradores MVC ORM AJAX ...
    19. 19. Padrão Arquitetural MVC Model View Controller
    20. 20. MVC - Vantagens Isolamento da lógica de negócio da visualização Múltiplas interfaces Posssibilita TDD Variações: • MVP (Model View Presenter) • MVVM (Model View View-Model) • HMVC (Hierarichal MVC)
    21. 21. ORM Mapeamento Objeto Relacional Aplicação OO Código de mapeamento ORM Framework ORM Banco de Dados
    22. 22. ORM – Vantagens e Desvantagens Portabilidade de banco de dados. Cache de objetos. Redução de código escrito. Curva de aprendizado. Ocultação do SQL pode dificultar ajustes de desempenho.
    23. 23. Padrões Web: AJAX, HTML e CSS
    24. 24. Frameworks Integradores fazem uso de scaffolding Técnica de geração estática ou dinâmica de código a partir de modelos Geração de código de persistência, controladores e visões. Automatizam partes simples de uma aplicação. (cadastros)
    25. 25. Exemplos de Frameworks Integradores Spring MVC Ruby on Rails Grails Play Framework Cake PHP Django
    26. 26. Tendências de Frameworks Integradores Google Trends (Agosto/2014)
    27. 27. Spring MVC http://projects.spring.io/spring-framework/
    28. 28. Grails/Groovy “on Rails” https://grails.org
    29. 29. Play Framework (Scala/Java) http://playframework.com
    30. 30. Ruby on Rails http://rubyonrails.org
    31. 31. O tsunami JavaScript para Frameworks Integradores Ref. Technology Radar, Thought Works, 2014
    32. 32. 50 Tons de JavaScript Mundo JS Bibliotecas de componente s Frameworks MVVM Servidores Testes de Unidade Gerenciador es de Pacotes Layouts responsivos Linguagens de script IDEs
    33. 33. Bibliotecas de Componentes JS
    34. 34. Frameworks MVVM JS
    35. 35. Servidores de Aplicação JS
    36. 36. Testes de Unidade JS
    37. 37. IDEs JS
    38. 38. Gerenciadores de Pacotes JS
    39. 39. Frameworks CSS
    40. 40. Linguagens de Script JS
    41. 41. Kendo-UI “Train yourself to let go of everyting you fear to lose” – Yoda
    42. 42. Frameworks Integradores - Conclusões Alternativas de produtividade. Fornecem abstrações sobre as plataformas dominantes JavaEE e .NET Fornecem uma terceira via de desenvolvimento.

    ×