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,821 views
1,706 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,821
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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?

×