Ruby e Rails

559 visualizações

Publicada em

Um pouco sobre a história e funcionalidades do Ruby e como juntou-se com o Rails. Um pouco também dos projetos na PTInovação que se utilizam dessas tecnologias.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
559
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
12
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Ruby e Rails

  1. 1. Ruby on Rails Magnum Fonseca | Thales Lima | Weslley Almeida
  2. 2. Ruby > O que é Ruby? > Ruby é uma linguagem interpretada multiparadigma, dinâmica e open source com foco na simplicidade e produtividade. > Seus objetos e classes podem ser alterados em tempo de execução. Além disso é totalmente orientada a objetos, ou seja, em Ruby tudo é um objeto.
  3. 3. > Como Surgiu?> Desenvolvido no Japão em 1995, por Yukihiro “Matz” Matsumoto.> Matz desejava uma linguagem mais poderosa que Perl e mais orientada a objetos que Python. A partir disso Matz decidiu desenhar a sua própria linguagem de programação.
  4. 4. > Como Surgiu?Nós somos osmestresEles são osescravos
  5. 5. Diferenças de outras linguagens> Interpretadores * O interpretador Ruby é o programa que faz todo o trabalho pesado e roda seu código Ruby. No entanto existem diversos interpretadores: * MRI (Matz Ruby Interpreter) * JRuby * IronRuby * MacRuby * Etc…
  6. 6. Diferenças de outras linguagens> Gems * Gem é um pacote ou uma aplicação escrita em ruby. Essas bibliotecas podem ser instaladas e divulgadas em diversos computadores, como as “libs” em C. * Uma adição interessante é que é muito fácil instalar uma gem gem install rails
  7. 7. Diferenças de outras linguagens > IRB (Interactive Ruby Execution) * Basicamente um shell para Ruby. É um interpretador em tempo real dos códigos digitados. * É um método ágil de testar seus códigos ou de aprender Ruby
  8. 8. > O que Ruby tem de tão legal?
  9. 9. > Tudo é objeto! * Não existe variável primitiva * +, -, /… são todos métodos
  10. 10. > Syntax Sugar * Linguagem onde o que importa é a beleza do código, expressividade do mesmo * Algumas regras podem ser quebradas, para que o código seja melhor entendido por humanos
  11. 11. > Syntax Sugarif(a<b){ System.out.println("a é menor");}puts("a é menor") if(a.<(b))puts "a é menor" if a < b
  12. 12. > Duck typing * Se ele anda como um pato, e faz quack como um pato, eu devo tratá-lo como um pato * Foco no que os objetos podem fazer, não no que eles são
  13. 13. > Metaprogamação * Linguagem dinâmica * Código gerando código * Código modificando código
  14. 14. > Blocos * Uma das coisas mais poderosas em Ruby * É um bloco, um fechamento do código que recebe código como parâmetro * Como um iterador mas executa códigos
  15. 15. > Códigos legais * Métodos recebem Hash de parâmetros * Unless
  16. 16. Rails > O que é Rails? <%= Ruby on Rails é um framework livre que promete aumentar velocidade e facilidade no desenvolvimento de sites orientados a banco de dados (database-driven web sites), uma vez que é possível criar aplicações com base em estruturas pré-definidas. %> <%= Frequentemente referenciado como Rails ou RoR, o Ruby on Rails é um projeto de código aberto escrito na linguagem de programação Ruby. %>
  17. 17. > O inícioDavid Hannson em 2004Extraído do trabalho delena 37Signals
  18. 18. > Do que é formado?> Rails é um meta-framework formado de: – Action Pack; – Action Mailer; – Active Record; – Active Support; – Active Web Services.
  19. 19. > MVC> Model-view-controller (MVC) é um padrão de arquitetura de software que visa separar a lógica de negócio da lógica de apresentação, permitindo o desenvolvimento, teste e manutenção isolado de ambos
  20. 20. > MVC> Model> View> Controller
  21. 21. > Filosofias> Filosofias tem um pé (ou os dois) nas metodologias ágeis e em seus designs
  22. 22. > FilosofiasDontRepeatRYourselfY
  23. 23. > FilosofiasConventionOverOConfigurationC
  24. 24. > Produtividade > Active Recordc = Celular.newc.nome = "Galaxy S II"c.preco = 2000 Design Pattern, Frameworkc.save ORM=== Em SQL ===INSERT INTO CELULARES(NOME,PRECO) VALUES ("Galaxy SII", 2000);
  25. 25. > Produtividade > Action Pack Pacote que gerencia as ações que ocorrem na aplicação, do request ao response
  26. 26. > Action Pack > Action Controller Gerencia o que ocorre na Controller, quais ações e como elas devem ser tomadas
  27. 27. > Action Pack > Action View * os celulares:como os dados serão c.nome Todos Gerencia <%= @celulares.collect { |c| apresentados na tela %> }.join ", " * .erb, rotas, …
  28. 28. > Comandos!!!
  29. 29. > Novo projetorails new <nome>
  30. 30. > Scaffold rails generate scaffold <modelo com atributos>
  31. 31. > Rake rake <script>
  32. 32. > Quem usa?> Diversas empresas utilizam o Rails para seus sites
  33. 33. > Basecamp
  34. 34. > Twitter
  35. 35. > github
  36. 36. > Groupon
  37. 37. > E na PT Inovação?
  38. 38. > Wardon
  39. 39. > Dialogus
  40. 40. > Tornar as coisas simples fáceis, e as complexas possíveis
  41. 41. > puts “Muito Obrigado!”=> nil

×