Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Desenvolvimento web ágil e descomplicado usando

RUBY ON RAILS
Quem?

 Maurício Linhares
   Desenvolvedor da CodeVader
   JUG Leader do PBJUG
   Instrutor da LinuxFi
Problemas?

 Desenvolvimento web é:
   Complicado;
   Lento;
   Caro;
   Cheio de tecnologias diferentes e que não se...
Pra descomplicar, surgem
frameworks
 Java
   Struts
   Spring MVC
   JSF
 PHP
   CodeIgniter
   PRADO
 C#
   ASP....
Mas surgem novas
complicações...
 Arquivos XML pra configurar tudo;


 Nem só de frameworks web vive o mundo:
   Persis...
O que é isso?

 Framework web escrito na linguagem Ruby;


 Desenvolvido originalmente por David
  Heinemeyer Hanson, co...
Por que Rails é diferente?
Porque é Ruby

 É uma linguagem de tipagem dinâmica;


 Puramente orientada a objetos;


 Desenvolvida com foco no prog...
3.times do
 puts "Hello!"
end

puts -175.abs
for ( int x = 0; x < 3; x++ ){
  System.out.println( “Hello” )
}
list = [ "I", "am", "a", "list" ]
puts list.join(" ")
list.each do |item|
  puts item
end
hash = { :water => 'wet',
                 :fire => 'hot' }
puts hash[:fire]

hash.each_pair do |key, value|
  puts "#{key...
Princípios

 Linguagens de programação devem ser fáceis
  para as pessoas, não para as máquinas;

 Você não deve ser sur...
Voltando ao Rails...
                       Use Rails ou
                       você vai se
                       arrepen...
Muitas siglas

 DRY – Don`t RepeatYourself


 KISS – Keep It Simple, Stupid


 CoC – Convention Over Configuration
O MVC do Rails

                ActionPack




   ActionView                ActiveRecord
ActiveRecord

 Model
   Representa os objetos do modelo que estão ou
    vão ser gravados no banco de dados relacional;
...
ActionPack

 Controller
   Faz o papel que Servlets fariam em Java, recebe
    uma requisição da web e se comunica com o...
ActionView

 View
   Controla a visualização de conteúdo nas páginas;


   Contém complementos que facilitam a criação ...
Outros pedaços

 ActiveResource
   Para acesso a serviços REST (web services)
    disponíveis;


 ActionMailer
   Envi...
Eu quero
  ver o
 código!
Será que ele é pra mim?

 Aplicação web?
   Check!
 Ambiente Linux/Unix?
   Check!
 Equipe de desenvolvimento interes...
Rails não é a única opção

 Python
   Django
 PHP
   CakePHP
 Perl
   Catalyst
 Java
   Não cabem aqui nesse slide...
Quando eu não devo usar
Rails?
 Quando a equipe não está convencida;


 Quando você não tem (ou não está disposto a
  te...
Rails não é o Santo Graal

 As técnicas que fazem Rails especial já se
  espalharam pelas outras comunidades;

 Hoje ele...
Sim, e não tem mais
vantagens?
 Plugins, plugins e plugins. Milhares deles. Dá pra
  se afogar em tanta coisa diferente;
...
 Agile Web Development With Rails – 3rd
  Edition
Ruby vs Java!
Mas a verdade é triste...
Dúvidas?
Desenvolvimento web ágil e descomplicado usando ruby on rails
Upcoming SlideShare
Loading in …5
×

Desenvolvimento web ágil e descomplicado usando ruby on rails

1,905 views

Published on

Apresentação sobre o porque de se utilizar Rails pra desenvolvimento de aplicações web.

Published in: Technology
  • Be the first to comment

Desenvolvimento web ágil e descomplicado usando ruby on rails

  1. 1. Desenvolvimento web ágil e descomplicado usando RUBY ON RAILS
  2. 2. Quem?  Maurício Linhares  Desenvolvedor da CodeVader  JUG Leader do PBJUG  Instrutor da LinuxFi
  3. 3. Problemas?  Desenvolvimento web é:  Complicado;  Lento;  Caro;  Cheio de tecnologias diferentes e que não se falam;
  4. 4. Pra descomplicar, surgem frameworks  Java  Struts  Spring MVC  JSF  PHP  CodeIgniter  PRADO  C#  ASP.NET
  5. 5. Mas surgem novas complicações...  Arquivos XML pra configurar tudo;  Nem só de frameworks web vive o mundo:  Persistência?  Web services?  Como estender um framework para criar novas funcionalidades?
  6. 6. O que é isso?  Framework web escrito na linguagem Ruby;  Desenvolvido originalmente por David Heinemeyer Hanson, como um “framework caseiro” para os projetos da 37signals.com;  Liberado originalmente como open source em julho de 2004;
  7. 7. Por que Rails é diferente?
  8. 8. Porque é Ruby  É uma linguagem de tipagem dinâmica;  Puramente orientada a objetos;  Desenvolvida com foco no programador, não na ferramenta;
  9. 9. 3.times do puts "Hello!" end puts -175.abs
  10. 10. for ( int x = 0; x < 3; x++ ){ System.out.println( “Hello” ) }
  11. 11. list = [ "I", "am", "a", "list" ] puts list.join(" ") list.each do |item| puts item end
  12. 12. hash = { :water => 'wet', :fire => 'hot' } puts hash[:fire] hash.each_pair do |key, value| puts "#{key} is #{value}" end hash.delete :water hash.delete_if do |key,value| value=='hot' end
  13. 13. Princípios  Linguagens de programação devem ser fáceis para as pessoas, não para as máquinas;  Você não deve ser surpreendido por novos comportamentos ou efeitos colaterais inesperados;  Código deve ser claro e fácil de ser lido, métodos/mensagens devem ser claros na sua intenção;
  14. 14. Voltando ao Rails... Use Rails ou você vai se arrepender!
  15. 15. Muitas siglas  DRY – Don`t RepeatYourself  KISS – Keep It Simple, Stupid  CoC – Convention Over Configuration
  16. 16. O MVC do Rails ActionPack ActionView ActiveRecord
  17. 17. ActiveRecord  Model  Representa os objetos do modelo que estão ou vão ser gravados no banco de dados relacional;  É uma ferramenta de mapeamento objeto- relacional (como o Hibernate) , que visa facilitar o acesso a bancos de dados;
  18. 18. ActionPack  Controller  Faz o papel que Servlets fariam em Java, recebe uma requisição da web e se comunica com o modelo para executar a lógica e depois repassar para a visualização;
  19. 19. ActionView  View  Controla a visualização de conteúdo nas páginas;  Contém complementos que facilitam a criação de formulários e simplificam a geração de HTML;  Traz um “gerador” de JavaScript que facilita o uso de Ajax na aplicação;
  20. 20. Outros pedaços  ActiveResource  Para acesso a serviços REST (web services) disponíveis;  ActionMailer  Envio e recebimento de e-mails dentro da aplicação, diretamente integrado ao ActionView;
  21. 21. Eu quero ver o código!
  22. 22. Será que ele é pra mim?  Aplicação web?  Check!  Ambiente Linux/Unix?  Check!  Equipe de desenvolvimento interessada em novidades?  Check!  Conciência de que isso não vai salvar o mundo?  Check!
  23. 23. Rails não é a única opção  Python  Django  PHP  CakePHP  Perl  Catalyst  Java  Não cabem aqui nesse slide;  C#  Bem... Erh... Deixa pra lá;
  24. 24. Quando eu não devo usar Rails?  Quando a equipe não está convencida;  Quando você não tem (ou não está disposto a ter) uma forte cultura de testes nos projetos;  Quando o débito técnico for muito alto e você não tiver condições de parar tudo e colocar ele em um nível aceitável;
  25. 25. Rails não é o Santo Graal  As técnicas que fazem Rails especial já se espalharam pelas outras comunidades;  Hoje ele não é mais revolucionário como foi a cinco anos atrás;  Mão de obra especializada ainda não dá em árvore;
  26. 26. Sim, e não tem mais vantagens?  Plugins, plugins e plugins. Milhares deles. Dá pra se afogar em tanta coisa diferente;  guides.rubyonrails.org  Vários livros e material pronto publicados;  Em constante evolução, com versões saindo com novas funcionalidades em menos de 6 meses;
  27. 27.  Agile Web Development With Rails – 3rd Edition
  28. 28. Ruby vs Java!
  29. 29. Mas a verdade é triste...
  30. 30. Dúvidas?

×