Palestra Ruby on Rails SETA 2008/01

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    3 Favorites

    Palestra Ruby on Rails SETA 2008/01 - Presentation Transcript

    1. Desenvolvimento Ágil com Ruby on Rails produtividade com sustentabilidade Douglas R. Roeder douglasroeder@gmail.com
    2. O que é um Bom Software Para o Seu Cliente ?
    3. Um Software que Simplesmente Funciona
    4. E o que é um Bom Software Para você desenvolvedor ?
    5. Seja no mínimo: Fácil de implementar Fácil manutenção Organizado (MVC) Independente de Banco de Dados (MySQL, Oracle, Postgres, SQLite, etc) Recursos como AJAX, Helpers, Persistência, Documentação, etc
    6. Somos Exigentes
    7. O que vem em Mente ? WebWork Maverick Struts Ant Log4J JBoss Velocity iBatis Tapestry JAVA jUnit Springs Tomcat JDO Hivemind Hibernate JSF Commons Axis EJB POI Maven Turbine
    8. O que você realmente usa ?
    9. Ruby on Rails é Faça mais com menos
    10. O que é Ruby on Rails ? Ruby Rails Framework ou Linguagem de Meta Framework Programação de desenvolvimento
    11. Ruby • Tecnologia Japonesa • Lançada em 1995 Yukihiro “Matz” Matsumoto • O “Python” Oriental • Ênfase na simplicidade e elegância • Multiplataforma (Linux, Windows, Mac, etc) • Código aberto, gratuíto e sem restrições
    12. Influências por Linguagem • Linguagem Prática (Perl) • Orientação a Objetos (Smalltalk) • Metaprogramação (Smalltalk) • Sintaxe (Smalltalk, Eiffel e Ada) • Tratamento de Exceções (Java e Python)
    13. Conceitos Gerais Linguagem Dinâmica Não Declaramos Tipos de Variáveis s = “texto” s.length => 5 s.class => String Pura Orientação a Objeto 1.next => 2 1.class => Fixnum Tudo é um Objeto x = nil Até o Nulo é um Objeto x.class => NilClass Conversão de Tipos 1.73.to_i => 1 Todos os Tipos Primitivos Possuem 1.73.class => Float Conversão para Outros Tipos
    14. Interface Humana x Interface Mínima Ruby item = lista.last item = lista.first Java item = lista.get(lista.size() - 1) item = lista.get(0)
    15. Rails • Escrito em Ruby • Framework para Aplicações Web David Heinemeier Hansson • Lançado em 2004 ( 4000 linhas ) • Código aberto, gratuíto e sem restrições • MVC + Helpers + AJAX • Sinônimo de WEB 2.0
    16. Extraído de um Projeto Real }
    17. Basecamp • Gerenciador de Projetos • No ar desde Fevereiro de 2004 • + de 100 mil Clientes
    18. Framework ActiveRecord { ActionPack ActionMailer ActiveWebService ActiveSupport
    19. Conceitos
    20. Wiki Foco na Simplicidade CSS Design Ajax Convergência Interatividade Blog Audio Design Economia Web 2.0 RSS Video Padronização Usabilidade Web Standards Comunidades Sociais Mobilidade Afiliação
    21. Modo Tradicional Não MVC Script Browser PHP, JSP, ASP, Navegador (IE, Firefox, Opera) etc Não centraliza o controle Sem separação estilo/conteúdo Fácil e rápido de desenvolver Difícil de manter
    22. Padrão MVC Browser Navegador (IE, Firefox, Opera) Ruby View Templates e Controller Model Páginas de Controle da Regras de MySQL Interação com Lógica/Fluxo negócio Postgres o Usuário Oracle SQLite
    23. Persistência de Dados A Maneira Usual Controle de Lógica da Persistência no Banco de Dados Mapeamento Classe x Banco de Dados Classe do Modelo Banco de de Dados Dados
    24. Persistência de Dados A Maneira Rails Classe do Modelo Banco de de Dados Dados
    25. Então Qual a Mágica ?
    26. Convention over Configuration “Convenção ao Invés de Configuração”
    27. Menos Configuração
    28. Menos Código
    29. Menos Bug
    30. Menos Tempo
    31. Como Funciona ?
    32. Convenção class Book < ActiveRecord::Base has_many :comments belongs_to :publisher end
    33. Convenção class Book < ActiveRecord::Base has_many :comments belongs_to :publisher end livro = Book.find :first livro.comments livro.publisher.name
    34. Iniciando um Projeto # rails palestra
    35. O que obtivemos ? MVC - Controller MVC - Model MVC - View Configurações Migrations Arquivos Comuns Javascripts/Estilos/Imagens,etc Testes
    36. Demonstração
    37. Por que Aprender ?
    38. Curva de Aprendizado
    39. “Não vale a pena conhecer uma linguagem que não afete o seu modo de pensar sobre programação” Alan Perlis
    40. “Se a única ferramenta que você conhece é um martelo, tenderá a enxergar todos os seus problemas como pregos” Abraham Maslow
    41. MERCADO
    42. 9° lugar no ranking TPCI
    43. 15,6% dos programadores web brasileiros já sabem Ruby Fonte: Evans Data, INFO Exame 08/2007
    44. 33% dos programadores brasileiros esperam aprender até final de 2008 Fonte: Evans Data, INFO Exame 08/2007
    45. Friends for Sale
    46. Infra-estrutura 4 Servidores Banco de Dados 6 Servidor de Aplicação Quad Core 600 mil usuários ativos 300 milhões de acessos mensais 500 mil visitantes únicos/dia 300 reqs/seg 5 TB de tráfego mensal 2 desenvolvedores (tempo parcial)
    47. BlogBlogs.com.br
    48. Integração de Blogs 100% escrito em Rails 4 dias de desenvolvimento 30 mil visitantes únicos/dia 60 mil page views/dia
    49. Quem esta nos Trilhos de Ruby hoje ?
    50. ‣ JRuby ‣ Netbeans
    51. ‣ IronRuby
    52. Desvantagens
    53. Desvantagens ‣Problemas com convenção no Português ‣resolvido com Plugin ‣Integração com sistemas legados ‣é possível, mas reduz a produtividade ‣Poucos servidores ‣um quadro que já esta mudando ‣Performance ‣Atualmente o maior problema de Ruby 1.8 (stable) ‣Problema solucionado com Ruby 1.9 (development)
    54. Performance Segundos
    55. Quando usar ? • Projetos Novos (Web) • Metodologias de desenvolvimento ágil (XP, Scrum) Onde usar ? • Apache • Microsoft IIS • Webrick
    56. Mais Informações
    57. http://www.ruby-lang.org
    58. http://www.rubyonrails.org
    59. http://www.rubyonbr.org
    60. E-mail: douglasroeder@gmail.com MSN: douglasroeder@terra.com.br Perguntas ?

    + mandrakezmandrakez, 2 years ago

    custom

    1801 views, 3 favs, 1 embeds more stats

    Palestra sobre Ruby on Rails realizada no SETA Unia more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1801
      • 1773 on SlideShare
      • 28 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 83
    Most viewed embeds
    • 28 views on http://diegocouto.com.br

    more

    All embeds
    • 28 views on http://diegocouto.com.br

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories