Ruby On Rails (Unisul)

666 views

Published on

Palestra na Universidade do Sul de Santa Catarina sobre Ruby on Rails

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

No Downloads
Views
Total views
666
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Ruby On Rails (Unisul)

  1. 1. RUBY ON RAILS Uma cultura de boas práticas
  2. 2. O QUE É ?
  3. 3. O QUE É UM FRAMEWORK ?“Um framework provê uma solução para uma família de problemas semelhantes”. “Um framework captura a funcionalidade comum a váriasaplicações. As aplicações devem ter algo razoavelmente grande em comum: pertencem a um mesmo domínio de problema”.“São projetados com para facilitar o desenvolvimento de software, habilitando designers e programadores a gastarem mais tempo determinando as exigências do software do que com detalhes tediosos de baixo nível do sistema”.
  4. 4. O QUE É UM FRAMEWORK ?
  5. 5. POR QUE USAR ??? * Padronização de projetos * Disposição de recursos * Re-uso de código * Flexibilidade e extensibilidade dos projetos * Fácil manutenção * Produtividade
  6. 6. Yukihiro Matsumoto “Matz”
  7. 7. Dylan Eiffel Ada Perl PythonSmalltalk Scheme Lisp
  8. 8. Linguagem dinâmica e reflexivaLinguagem humanaSimplicidadeExtensibilidadeProdutividade
  9. 9. PARA O PROGRAMADOR
  10. 10. JAVApublic void imprime_impares(int limite){ for (int i = 1; i <= limite; i++) { if (i%2 == 1) { System.out.println(i); } }}
  11. 11. RUBYdef imprime_impares(limite) 1.upto(limite){ |i| puts i if i%2 == 1 }end
  12. 12. JAVA public class Pessoa { private String nome; public Pessoa(String nome) { this.nome = nome; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } }
  13. 13. RUBY class Pessoa attr_accessor :nome end
  14. 14. LEGÍVEL E HUMANA10.times { print "Ruby!"}# => Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!print "Ruby é muito legal".split.reverse# => legalmuitoéRuby
  15. 15. Ocidente (2000)
  16. 16. David Heinemeier Hansson
  17. 17. BASECAMP
  18. 18. Convenção sobre configuraçãoDRY (Don’t Repeat Yourself)Código bonito
  19. 19. CONVENÇÃO SOBRE CONFIGURAÇÃONomes dos arquivosNomes das tabelas no banco de dadosChaves do DB controllersNomes das classes people_controller.rb countries_controller.rbMapeamentos data_banks_controller.rb modelsAmbientes person.rb country.rb data_bank.rb views people _form.html.erb edit.html.erb index.html.erb new.html.erb
  20. 20. CONVENÇÃO SOBRE CONFIGURAÇÃONomes dos arquivosNomes das tabelas no banco de dadosChaves do DBNomes das classesMapeamentos TabelasAmbientes people countries data_banks
  21. 21. CONVENÇÃO SOBRE CONFIGURAÇÃONomes dos arquivosNomes das tabelas no banco de dadosChaves do DB PeopleNomes das classes id country_idMapeamentos DataBanksAmbientes id person_id Countries id
  22. 22. CONVENÇÃO SOBRE CONFIGURAÇÃONomes dos arquivosNomes das tabelas no banco de dadosChaves do DBNomes das classes class PersonMapeamentos endAmbientes class Country end class DataBank end
  23. 23. CONVENÇÃO SOBRE CONFIGURAÇÃONomes dos arquivosNomes das tabelas no banco de dadosChaves do DBNomes das classesMapeamentosAmbientes
  24. 24. CONVENÇÃO SOBRE CONFIGURAÇÃONomes dos arquivosNomes das tabelas no banco de dadosChaves do DBNomes das classesMapeamentos DevelopmentAmbientes Test Production
  25. 25. DRY (DON’T REPEAT YOURSELF) Gems Plugins
  26. 26. CÓDIGO BONITO class Person < ActiveRecord::Base belongs_to :state has_one :user, :dependent => :destroy has_many :contacts, :dependent => :destroy has_many :data_banks, :dependent => :destroy has_many :alternate_addresses, :dependent => :destroy validates_length_of :name, :maximum => 120 validates_length_of :cep, :maximum => 9 validates_presence_of :type_person, :name, :city validates_associated :state validates_uniqueness_of :cpf default_scope :order => "created_at DESC" before_save { self.name = name.titleize } before_save { self.city = city.titleize } end
  27. 27. E na prática ???
  28. 28. INSTALAÇÃO DO RUBY • Windows: Cygwin é a melhor opção. One-click installer. • Linux: apt-get install ruby rdoc irb • Mac OS: 10.5 já instalado. Macport
  29. 29. LINKS DE RUBY Documentação http://apidock.com/ruby Tutoriais http://rubylearning.com/satishtalim/tutorial.html http://www.ruby-lang.org/pt http://www.ruby-doc.org/docs/ProgrammingRuby Fóruns http://ruby-br.org http://www.rubyinside.com http://groups.google.com/group/rails-br Gens e plugins http://rubygems.org http://ruby-toolbox.com Projetos http://rubyforge.org
  30. 30. LINKS DE RAILS Documentação http://api.rubyonrails.org http://apidock.com/rails Tutoriais http://guias.rubyonrails.pro.br http://akitaonrails.com/ http://rubyonrails.org http://edgerails.info http://ruby.railstutorial.org http://www.railsplugins.org Screencasts http://railscasts.com Projetos http://www.opensourcerails.com
  31. 31. www.github.com/joelsondeabreu/blog
  32. 32. EXPERIMENTE ...
  33. 33. @joelsondeabreu PERGUNTAS ???http://www.slideshare.net/joelsondeabreu

×