comparação entre frameworks web Ágeis

Post on 22-Apr-2015

4.199 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

agileframeworksComparativo entre frameworks ágeis open-source

1domingo, 21 de setembro de 2008

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

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

Desenvolvimento de Software

4domingo, 21 de setembro de 2008

Engenharia de Software5domingo, 21 de setembro de 2008

Fábrica de Software6domingo, 21 de setembro de 2008

Desenvolvendo7domingo, 21 de setembro de 2008

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

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

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

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

Desenvolvimento Ágil12domingo, 21 de setembro de 2008

Desenvolvimento Ágil

13domingo, 21 de setembro de 2008

Desenvolvimento ÁgilComo desenvolver com sucesso?

13domingo, 21 de setembro de 2008

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

Sucesso == Pessoas14domingo, 21 de setembro de 2008

Agile Frameworks

• Ruby On Rails

• Python Django

• PHP Symfony

• Groovy On Rails (Java)

15domingo, 21 de setembro de 2008

Características

• Padrão M-V-C

• Produtividade

• Fácil de Aprender ;)

• DRY & CoC

• Prazer e Satisfação!

16domingo, 21 de setembro de 2008

• 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

• 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

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

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

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

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

Python Django

• Prós

• Performance e Escalabilidade

• Interface de administração automática

• Menos linhas de código

23domingo, 21 de setembro de 2008

Python Django

• Contras

• Maior dificuldade de aprendizado

• Pouca documentação em PT_BR

• Baixa adesão do mercado

24domingo, 21 de setembro de 2008

PHP Symfony

• 2005 - Sensio

• PHP realmente OO

• Alta disponibilidade de profissionais PHP no mercado

25domingo, 21 de setembro de 2008

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

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

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

Groovy On Rails

• Prós

• Java JVM

• Ferramental Java

• Facilidade de Uso

• Aproveita conhecimento em Java

29domingo, 21 de setembro de 2008

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

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

Linguagem

Perfor-mance Verbosidade Recursos

Popularida-de

Rails

Django

Symfony

Grails

32domingo, 21 de setembro de 2008

Desenvolvimento

Aprendiza-do Testabilidade

Manutenibi-lidade

Produtivi-dade

Rails

Django

Symfony

Grails

33domingo, 21 de setembro de 2008

Performance

Escalabilida-de

Tempo de Resposta Estabilidade

Portabilida-de

Rails

Django

Symfony

Grails

34domingo, 21 de setembro de 2008

Mercado

AdoçãoDocumen-

taçãoComunida-

deHospeda-

gem

Rails

Django

Symfony

Grails

35domingo, 21 de setembro de 2008

Conclusões36domingo, 21 de setembro de 2008

Acabou!37domingo, 21 de setembro de 2008

Contatos

• Saulo Arruda

• E-mail: sauloarruda@gmail.com

• 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

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

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

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

top related