43
agileframeworks Comparativo entre frameworks ágeis open-source 1 domingo, 21 de setembro de 2008

Comparação entre Frameworks Web Ágeis

Embed Size (px)

DESCRIPTION

Comparação entreFrameworks WebÁgeis(Saulo Arruda / Agence )

Citation preview

Page 1: Comparação entre Frameworks Web Ágeis

agileframeworksComparativo entre frameworks ágeis open-source

1domingo, 21 de setembro de 2008

Page 2: Comparação entre Frameworks Web Ágeis

Agenda• Apresentação

• Entendendo Desenvolvimento Ágil

• Apresentando os Frameworks• Ruby on Rails

• Python Django

• PHP Symfony

• Groovy on Rails

• Tabela Comparativa

• Conclusões

2domingo, 21 de setembro de 2008

Page 3: Comparação entre Frameworks Web Ágeis

Apresentação

• Saulo Arruda (sauloarruda.eti.br)

• Quase especialista em MPS

• Gerente de Produção da Agence

• Desenvolvedor há 10 anos

• Instrutor do SENAC/MS

• Membro do JUG-MS (jugms.com.br)

3domingo, 21 de setembro de 2008

Page 4: Comparação entre Frameworks Web Ágeis

Desenvolvimento de Software

4domingo, 21 de setembro de 2008

Page 5: Comparação entre Frameworks Web Ágeis

Engenharia de Software5domingo, 21 de setembro de 2008

Page 6: Comparação entre Frameworks Web Ágeis

Fábrica de Software6domingo, 21 de setembro de 2008

Page 7: Comparação entre Frameworks Web Ágeis

Desenvolvendo7domingo, 21 de setembro de 2008

Page 8: Comparação entre Frameworks Web Ágeis

Convivência...8domingo, 21 de setembro de 2008

Page 9: Comparação entre Frameworks Web Ágeis

Documentação...9domingo, 21 de setembro de 2008

Page 10: Comparação entre Frameworks Web Ágeis

Negociação...10domingo, 21 de setembro de 2008

Page 11: Comparação entre Frameworks Web Ágeis

Planos...11domingo, 21 de setembro de 2008

Page 12: Comparação entre Frameworks Web Ágeis

Desenvolvimento Ágil12domingo, 21 de setembro de 2008

Page 13: Comparação entre Frameworks Web Ágeis

Desenvolvimento Ágil

13domingo, 21 de setembro de 2008

Page 14: Comparação entre Frameworks Web Ágeis

Desenvolvimento ÁgilComo desenvolver com sucesso?

13domingo, 21 de setembro de 2008

Page 15: Comparação entre Frameworks Web Ágeis

Desenvolvimento Ágil

Manifesto para o Desenvolvimento Ágil de Software

“Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar: * Indivíduos e interação entre eles mais que processos e ferramentas; * Software em funcionamento mais que documentação abrangente; * Colaboração com o cliente mais que negociação de contratos; * Responder a mudanças mais que seguir um plano. Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.”

agilemanifesto.org

Como desenvolver com sucesso?

13domingo, 21 de setembro de 2008

Page 16: Comparação entre Frameworks Web Ágeis

Sucesso == Pessoas14domingo, 21 de setembro de 2008

Page 17: Comparação entre Frameworks Web Ágeis

Agile Frameworks

• Ruby On Rails

• Python Django

• PHP Symfony

• Groovy On Rails (Java)

15domingo, 21 de setembro de 2008

Page 18: Comparação entre Frameworks Web Ágeis

Características

• Padrão M-V-C

• Produtividade

• Fácil de Aprender ;)

• DRY & CoC

• Prazer e Satisfação!

16domingo, 21 de setembro de 2008

Page 19: Comparação entre Frameworks Web Ágeis

• 2004 - David Heinemeier Hansson

• Linguagem Ruby (The Ruby Way)

• Rápida popularização

• Versão 2.1

Ruby On Rails

17domingo, 21 de setembro de 2008

Page 20: Comparação entre Frameworks Web Ágeis

• 2007 - Agence

• Websites (CMS)

• Sistemas de médio porte: Gestão Operacional e de Treinamentos, Campanhas de Incentivo, Sistema de Pedidos e Exportação.

Ruby On Rails

18domingo, 21 de setembro de 2008

Page 21: Comparação entre Frameworks Web Ágeis

Ruby On Rails

• Prós

• Excelente ferramental

• Boa documentação

• Boa adesão do mercado

• Fácil de Aprender

19domingo, 21 de setembro de 2008

Page 22: Comparação entre Frameworks Web Ágeis

Ruby On Rails

• Contras

• Performance e escalabilidade

• Compatibilidade de versões

• Código ou banco de dados legado

• Problemas com Threads

20domingo, 21 de setembro de 2008

Page 23: Comparação entre Frameworks Web Ágeis

Python Django

• 2003 - CMS de um agitado Jornal Lawrence.com

• Framework Web para perfeccionistas com prazo

• Mais qualidade e menos código

21domingo, 21 de setembro de 2008

Page 24: Comparação entre Frameworks Web Ágeis

Python Django

• 2007 - Agence

• Sistemas com prazo muito curto

• Controle de Qualidade (TIM), Vendas Diretas (Toyota), Indexação e Pesquisa (IGuinho).

22domingo, 21 de setembro de 2008

Page 25: Comparação entre Frameworks Web Ágeis

Python Django

• Prós

• Performance e Escalabilidade

• Interface de administração automática

• Menos linhas de código

23domingo, 21 de setembro de 2008

Page 26: Comparação entre Frameworks Web Ágeis

Python Django

• Contras

• Maior dificuldade de aprendizado

• Pouca documentação em PT_BR

• Baixa adesão do mercado

24domingo, 21 de setembro de 2008

Page 27: Comparação entre Frameworks Web Ágeis

PHP Symfony

• 2005 - Sensio

• PHP realmente OO

• Alta disponibilidade de profissionais PHP no mercado

25domingo, 21 de setembro de 2008

Page 28: Comparação entre Frameworks Web Ágeis

PHP Symfony

• Prós

• Excelente Portabilidade

• Aproveita conhecimento em PHP

• Uso das bibliotecas PEAR

• Boa geração de código

26domingo, 21 de setembro de 2008

Page 29: Comparação entre Frameworks Web Ágeis

PHP Symfony

• Contras

• Performance e escalabilidade

• Pouca maturidade

• Limitações da linguagem PHP

• Pouca adoção e documentação

27domingo, 21 de setembro de 2008

Page 30: Comparação entre Frameworks Web Ágeis

Groovy On Rails

• 2006 - G2One

• Performance e escalabilidade para Rails

• Groovy é uma linguagem dinâmica para Java

• Disponibilidade de Profissionais Java no mercado

28domingo, 21 de setembro de 2008

Page 31: Comparação entre Frameworks Web Ágeis

Groovy On Rails

• Prós

• Java JVM

• Ferramental Java

• Facilidade de Uso

• Aproveita conhecimento em Java

29domingo, 21 de setembro de 2008

Page 32: Comparação entre Frameworks Web Ágeis

Groovy On Rails

• Contras

• Carência de Documentação

• Dificuldade para hospedagem

• Pouca maturidade

• Baixa adoção pelo mercado

30domingo, 21 de setembro de 2008

Page 33: Comparação entre Frameworks Web Ágeis

Comparações

• Critérios:

• Com base na experiência na Agence

• Benchmarks disponíveis na Internet

• Consulta à Bola de Cristal

• ATENÇÃO: A tabela a seguir não deve ser usada como referência em trabalhos científicos

31domingo, 21 de setembro de 2008

Page 34: Comparação entre Frameworks Web Ágeis

Linguagem

Perfor-mance Verbosidade Recursos

Popularida-de

Rails

Django

Symfony

Grails

32domingo, 21 de setembro de 2008

Page 35: Comparação entre Frameworks Web Ágeis

Desenvolvimento

Aprendiza-do Testabilidade

Manutenibi-lidade

Produtivi-dade

Rails

Django

Symfony

Grails

33domingo, 21 de setembro de 2008

Page 36: Comparação entre Frameworks Web Ágeis

Performance

Escalabilida-de

Tempo de Resposta Estabilidade

Portabilida-de

Rails

Django

Symfony

Grails

34domingo, 21 de setembro de 2008

Page 37: Comparação entre Frameworks Web Ágeis

Mercado

AdoçãoDocumen-

taçãoComunida-

deHospeda-

gem

Rails

Django

Symfony

Grails

35domingo, 21 de setembro de 2008

Page 38: Comparação entre Frameworks Web Ágeis

Conclusões36domingo, 21 de setembro de 2008

Page 39: Comparação entre Frameworks Web Ágeis

Acabou!37domingo, 21 de setembro de 2008

Page 40: Comparação entre Frameworks Web Ágeis

Contatos

• Saulo Arruda

• E-mail: [email protected]

• Blog: www.sauloarruda.eti.br

• Agence (www.agence.com.br)

• JUG-MS (www.jugms.com.br)

• SENAC/MS (www.ms.senac.br)

38domingo, 21 de setembro de 2008

Page 41: Comparação entre Frameworks Web Ágeis

Licença

Você pode:

Sob as seguintes condições:

copiar, distribuir, exibir e executar a obra

criar obras derivadas

Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante.

39domingo, 21 de setembro de 2008

Page 42: Comparação entre Frameworks Web Ágeis

Referências HUNT, Andy; e SUBRAMANIAN, Venkat; Pratices of an Agile Developer – Work in the Real World, 1a. Edição, 2006: The Pragmatic Bookshelf.THOMAS, Dave; Programming Ruby – The Pragmatic Programmer’s Guide, 2a. Edição, 2006: The Pragmatic Bookshelf.SUBRAMANIAN, Venkat; Programming Groovy: Dynamic Productivity for the Java Developer, 1a. Edição; 2008: The Pragmatic Bookshelf.HOLOVATY, Adrian; KAPLAN-MOSS , Jacob; The Django Book; Versão 1.0. Disponível em http://www.djangobook.com/en/1.0/POTENCIER, Fabien; ZANINOTTO, Fraçois; The Definitive Guide to symfony; 2007: Apress; Disponível em http://www.symfony-project.org/book/1_2/.MADHAV; Framework Performance, Disponível em: http://wiki.rubyonrails.org/rails/pages/Framework+Performance.ASTER, Alex; The Performance test of 6 leading frameworks, Disponível em http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/.NENE, Dhananjay; Performance Comparison - C++ / Java / Python / Ruby/ Jython / JRuby / Groovy, Disponível em http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/Gentoo: Intel Pentium 4; Computer Language Benchmarks Game, Disponível em http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all

40domingo, 21 de setembro de 2008

Page 43: Comparação entre Frameworks Web Ágeis

FotosTodas as fotos são distribuídas sob licença CreativeCommons. Atribuições por ordem de aparição:Nerd big por borgmarcLego house por Paty LeahyOld picture por coleydudeCollege fight por Carlos VillelaKill Fuck por eNixDocumentation por DoberdadJedi, Norwescon 30 por djwudiParker Brand Project Pad Full Shot por oranparkerScary Tiger por jerkylickerPlaying Computer por scottparteeMonkey Shines por Stuck in CustomsPizza - hot from oven - vegan garlic sauce por sean drellinger

41domingo, 21 de setembro de 2008