SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
O que é
                                      Ruby on Rails?
                                     Braga Geek Nights - Fevereiro 2010

                                                 Leonardo Costa
                                         email: lcosta [dot] job [at] gmail [dot] com




sábado, 26 de Fevereiro/02 de 2011
Quem eu sou?
                    • Nome - Leonardo Costa
                    • Trabalho com web a cerca de 11 anos
                    • Comecei a programar para web com Perl,
                            PHP e .net
                    • Estudo Ruby/Rails a cerca de 2 anos e meio
                    • Trabalho diariamente com RubyOnRails
                            acerca 1 ano


sábado, 26 de Fevereiro/02 de 2011
Ruby



sábado, 26 de Fevereiro/02 de 2011
Ruby - a História
                    • 1993: Criado por Yukihiro “Matz”
                            Matsumoto
                    • Mais usada no Japão do que Python
                    • 1995: Primeiro livro em inglês com o titulo
                            Programming Ruby de Dave Thomas
                    • 2004: Levada ao sucesso pelo RubyOnRails

sábado, 26 de Fevereiro/02 de 2011
Ruby - Características
                    • Sintaxe simples, inspirada por Ada, Eiffel e
                            Perl
                    • Semântica compacta, inspirada por Smalltalk
                    • Todo valor é um objecto
                    • Toda operação em um objecto é um
                            método


sábado, 26 de Fevereiro/02 de 2011
Ruby - Características
                    • Todas as classes são abertas
                    • Herança simples e mixins
                    • Closures reais
                    • Garbage collector
                    • Extensões via C
                    • Suporte a quase todos os os Sistemas
                            Operativos

sábado, 26 de Fevereiro/02 de 2011
Rails



sábado, 26 de Fevereiro/02 de 2011
Rails - a História
                    • Criado por David Heinemeier Hansson
                            (DHH) da 37signals em 2004 - www.loudthinking.com
                    • Extraído de um projecto real - Basecamp
                    • Lançamento publico em julho de 2004
                    • Lançamento da versão 1.0 em dezembro
                            2005
                    •       Versão actual recomendada para deploy 2.3.4


sábado, 26 de Fevereiro/02 de 2011
Rails - o que é?
                    • “full stack web framework”
                    • Framework completo para
                            desenvolvimento de aplicativos Web
                    • Pacote MVC (Model-View-Controller)
                            - Action Pack (Action Controller e Action View)
                            - Active Record
                    • Suporte a envio e recebimento de e-mails
                            - Action Mailer
                    • Active Resource
sábado, 26 de Fevereiro/02 de 2011
Rails - Filosofia

                    • DRY – “Don’t Repeat Yourself”
                    • Convenção ao invés de Configuração
                    • REST é o melhor modelo para aplicações
                            web
                    • Teste sempre o que faz

sábado, 26 de Fevereiro/02 de 2011
Rails - Componentes

                    • Action Controller -                     requisições, sessão, renderização de
                            template e gerenciamento de redirecionamento


                    • Action View -                 gerência as views (HTML e XML por padrão),
                            gerência a renderização de templates, templates aninhados e parciais, e inclui
                            suporte embutido para AJAX


                    • Active Record -                   funcionalidade CRUD, capacidade de buscas
                            avançadas, relacionamento entre models




sábado, 26 de Fevereiro/02 de 2011
Rails - Componentes

                    • Action Mailer -
                            e processar um e-mail
                                                       enviar e-mails baseados em templates e receber



                    • Active Resource -                     framework para serviços web RESTful


                    • Active Support -                   colecção extensiva de classes utilitárias e
                            extensões da biblioteca padrão do Ruby




sábado, 26 de Fevereiro/02 de 2011
Rails - instalação
                    • Instalar Ruby
                            http://www.ruby-lang.org/en/downloads
                    • Instalar RubyGems (Mac ou Linux)
                      http://rubyforge.org/projects/rubygems

                    • Instalar Rails
                            $ sudo gem install rails

                    • wiki de instalação em http://
                            wiki.rubyonrails.org/getting-started/
                            installation
sábado, 26 de Fevereiro/02 de 2011
Rails - Começo Rápido

                    • Para um começo rápido
                            PRINCIPALMENTE para usuários do
                            Windows temos o RubyStack da BitNami
                            que pode ser encontrado em http://
                            bitnami.org/stack/rubystack, disponível para
                            Linux, Mac e Windows



sábado, 26 de Fevereiro/02 de 2011
Rails - primeiro passo
                    • No terminal
                      $ rails blog             # base de dados padrão SQLite
                            ou
                            $ rails blog -d mysql
                            ou
                            $ rails blog -d postgresql

                    • Começar -m http://compass-style.org/rails/
                      $ rails blog
                                   uma aplicação via template

                            installer


sábado, 26 de Fevereiro/02 de 2011
sábado, 26 de Fevereiro/02 de 2011
•       $ cd blog

                    •       $ script/generate scaffold Post title:string body:text
                                exists app/models/
                                exists app/controllers/
                                exists app/helpers/
                                create app/views/posts
                                exists app/views/layouts/
                                exists test/functional/
                                exists test/unit/
                                create test/unit/helpers/
                                exists public/stylesheets/
                                create app/views/posts/index.html.erb
                                create app/views/posts/show.html.erb
                                create app/views/posts/new.html.erb
                                create app/views/posts/edit.html.erb
                                create app/views/layouts/posts.html.erb
                                create public/stylesheets/scaffold.css
                                create app/controllers/posts_controller.rb
                                create test/functional/posts_controller_test.rb
                                create app/helpers/posts_helper.rb
                                create test/unit/helpers/posts_helper_test.rb
                                 route map.resources :posts
                              dependency model
                                exists app/models/
                                exists test/unit/
                                exists test/fixtures/
                                create app/models/post.rb
                                create test/unit/post_test.rb
                                create test/fixtures/posts.yml
                                create db/migrate
                                create db/migrate/20100202165708_create_posts.rb




sábado, 26 de Fevereiro/02 de 2011
•       $ mate db/migrate/20100120165708_create_posts.rb

                    •       class CreatePosts < ActiveRecord::Migration
                              def self.up
                               create_table :posts do |t|
                                 t.string :title
                                 t.text :body

                                 t.timestamps     # update_at and created_at columns
                                end
                               end

                             def self.down
                              drop_table :posts
                             end
                            end

sábado, 26 de Fevereiro/02 de 2011
• $ rake db:migrate
                            (in /Users/lcosta/tmp/blog)
                            == CreatePosts: migrating
                            ====================================================
                            -- create_table(:posts)
                               -> 0.0014s
                            == CreatePosts: migrated (0.0017s)
                            ===========================================



                    • $ script/server
                            => Booting Mongrel
                            => Rails 2.3.4 application starting on http://0.0.0.0:3000
                            => Call with -d to detach=> Ctrl-C to shutdown server




sábado, 26 de Fevereiro/02 de 2011
http://0.0.0.0:3000/posts


sábado, 26 de Fevereiro/02 de 2011
http://0.0.0.0:3000/posts/new


sábado, 26 de Fevereiro/02 de 2011
sábado, 26 de Fevereiro/02 de 2011
sábado, 26 de Fevereiro/02 de 2011
sábado, 26 de Fevereiro/02 de 2011
sábado, 26 de Fevereiro/02 de 2011
http://0.0.0.0:3000/posts.xml


sábado, 26 de Fevereiro/02 de 2011
sábado, 26 de Fevereiro/02 de 2011
sábado, 26 de Fevereiro/02 de 2011
Rails - Tools
                    •      script/about       •   script/runner

                    •      script/console     •   script/server

                    •      script/dbconsole

                    •      script/destroy     •   e não menos o Rake

                    •      script/generate

                    •      script/plugin




sábado, 26 de Fevereiro/02 de 2011
Rails - o Rake
                    • automatizador de tarefas
                    • para ver uma listagem de todas as tarefas:
                          •          $ rake -T

                                •       rake db:create:all

                                •       rake db:migrate

                                •       rake db:migrate:redo, rake db:reset rake db:rollback

                                •       rake db:migrate:down e rake db:migrate:up

                                •       rake doc:app

                                •       rake gems, rake gems:install e rake gems:unpack

                                •       rake notes | notes:fixme | notes:optimize | notes:todo

sábado, 26 de Fevereiro/02 de 2011
Ruby e Rails - Links
                    •       Site oficial do Ruby
                             http://www.ruby-lang.org

                    •       Bom lugar para aprender Ruby (Satish Talim)
                            http://rubylearning.com

                    •       Site oficial do Rails
                             http://rubyonrails.org

                    •       Excelentes guias sobre Rails
                            http://guides.rubyonrails.org e http://guias.rubyonrails.pro.br

                    •       Screencasts de alta qualidade sobre Rails
                             http://railscasts.com

                    •       O repositório de código open source
                            http://github.com

                    •       Getting Real
                            http://gettingreal.37signals.com
sábado, 26 de Fevereiro/02 de 2011
Perguntas?


     email: lcosta.job@gmail.com - http://twitter.com/lcosta
sábado, 26 de Fevereiro/02 de 2011

Weitere ähnliche Inhalte

Andere mochten auch

Aula questões dissertativas
Aula   questões dissertativasAula   questões dissertativas
Aula questões dissertativasEduardo Lopes
 
Usability Ergebnisse Umfrage
Usability  Ergebnisse UmfrageUsability  Ergebnisse Umfrage
Usability Ergebnisse UmfrageNina Rebele
 
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...Axel Bruns
 
Comment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessairesComment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessairesHubert Maisonneuve
 
Test de estereopsis
Test de estereopsisTest de estereopsis
Test de estereopsisnikitaht21
 
Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.4003
 
Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...Mónica Márquez
 
Nuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificateNuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificateDirectio
 
Delray Presentation Microsoft
Delray Presentation MicrosoftDelray Presentation Microsoft
Delray Presentation MicrosoftSerein
 
Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4Arthur Charpentier
 
Embarque de materiales peligrosos
Embarque de materiales peligrososEmbarque de materiales peligrosos
Embarque de materiales peligrososjesusvazquezalv
 
EvaluacióN Psicopedagogia P Afinal
EvaluacióN  Psicopedagogia P AfinalEvaluacióN  Psicopedagogia P Afinal
EvaluacióN Psicopedagogia P AfinalISABEL SAMANIEGO
 
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)Frederic_Veidig
 
¿Como diseñar modelos de negocio? Herramientas de negocio, estrategia e innov...
¿Como diseñar modelos de negocio? Herramientas de negocio, estrategia e innov...¿Como diseñar modelos de negocio? Herramientas de negocio, estrategia e innov...
¿Como diseñar modelos de negocio? Herramientas de negocio, estrategia e innov...Veronica Torras
 
Diagnosis evaluation in strabismus
Diagnosis evaluation in strabismusDiagnosis evaluation in strabismus
Diagnosis evaluation in strabismusJayarajini
 

Andere mochten auch (20)

Aula questões dissertativas
Aula   questões dissertativasAula   questões dissertativas
Aula questões dissertativas
 
09 IBH E Assessment
09 IBH E Assessment09 IBH E Assessment
09 IBH E Assessment
 
Usability Ergebnisse Umfrage
Usability  Ergebnisse UmfrageUsability  Ergebnisse Umfrage
Usability Ergebnisse Umfrage
 
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
 
Comment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessairesComment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessaires
 
Test de estereopsis
Test de estereopsisTest de estereopsis
Test de estereopsis
 
Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.
 
Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...
 
ALGA
ALGAALGA
ALGA
 
Nuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificateNuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificate
 
2014 ncae nvb presentation
2014 ncae  nvb presentation2014 ncae  nvb presentation
2014 ncae nvb presentation
 
3e jaars
3e jaars3e jaars
3e jaars
 
Advertising Quiz
Advertising QuizAdvertising Quiz
Advertising Quiz
 
Delray Presentation Microsoft
Delray Presentation MicrosoftDelray Presentation Microsoft
Delray Presentation Microsoft
 
Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4
 
Embarque de materiales peligrosos
Embarque de materiales peligrososEmbarque de materiales peligrosos
Embarque de materiales peligrosos
 
EvaluacióN Psicopedagogia P Afinal
EvaluacióN  Psicopedagogia P AfinalEvaluacióN  Psicopedagogia P Afinal
EvaluacióN Psicopedagogia P Afinal
 
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
 
¿Como diseñar modelos de negocio? Herramientas de negocio, estrategia e innov...
¿Como diseñar modelos de negocio? Herramientas de negocio, estrategia e innov...¿Como diseñar modelos de negocio? Herramientas de negocio, estrategia e innov...
¿Como diseñar modelos de negocio? Herramientas de negocio, estrategia e innov...
 
Diagnosis evaluation in strabismus
Diagnosis evaluation in strabismusDiagnosis evaluation in strabismus
Diagnosis evaluation in strabismus
 

Ähnlich wie O que é o ruby on rails?

Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On RailsAndre Ferraro
 
Ruby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaRuby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaGabriel Molter
 
Ruby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosRuby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosjpaulolins
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
Desenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsDesenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsRogerio Chaves
 
Abordagem geral - Ruby on rails
Abordagem geral - Ruby on railsAbordagem geral - Ruby on rails
Abordagem geral - Ruby on railsCOTIC-PROEG (UFPA)
 
Atualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xAtualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xRodrigo Urubatan
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edtedbrunoaalves
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkGuilherme Carlos
 
Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)Daniel Lopes
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRodrigo Recio
 

Ähnlich wie O que é o ruby on rails? (20)

Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On Rails
 
Ruby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaRuby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e Prática
 
Ruby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosRuby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhos
 
Rails na pratica
Rails na praticaRails na pratica
Rails na pratica
 
Rails
RailsRails
Rails
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
RoR Beta
RoR BetaRoR Beta
RoR Beta
 
Desenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsDesenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on Rails
 
Introdução ao Ruby on Rails
Introdução ao Ruby on RailsIntrodução ao Ruby on Rails
Introdução ao Ruby on Rails
 
Abordagem geral - Ruby on rails
Abordagem geral - Ruby on railsAbordagem geral - Ruby on rails
Abordagem geral - Ruby on rails
 
Atualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xAtualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.x
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Ruby e Rails
Ruby e RailsRuby e Rails
Ruby e Rails
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
 
Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
 
Rails 03
Rails 03Rails 03
Rails 03
 

O que é o ruby on rails?

  • 1. O que é Ruby on Rails? Braga Geek Nights - Fevereiro 2010 Leonardo Costa email: lcosta [dot] job [at] gmail [dot] com sábado, 26 de Fevereiro/02 de 2011
  • 2. Quem eu sou? • Nome - Leonardo Costa • Trabalho com web a cerca de 11 anos • Comecei a programar para web com Perl, PHP e .net • Estudo Ruby/Rails a cerca de 2 anos e meio • Trabalho diariamente com RubyOnRails acerca 1 ano sábado, 26 de Fevereiro/02 de 2011
  • 3. Ruby sábado, 26 de Fevereiro/02 de 2011
  • 4. Ruby - a História • 1993: Criado por Yukihiro “Matz” Matsumoto • Mais usada no Japão do que Python • 1995: Primeiro livro em inglês com o titulo Programming Ruby de Dave Thomas • 2004: Levada ao sucesso pelo RubyOnRails sábado, 26 de Fevereiro/02 de 2011
  • 5. Ruby - Características • Sintaxe simples, inspirada por Ada, Eiffel e Perl • Semântica compacta, inspirada por Smalltalk • Todo valor é um objecto • Toda operação em um objecto é um método sábado, 26 de Fevereiro/02 de 2011
  • 6. Ruby - Características • Todas as classes são abertas • Herança simples e mixins • Closures reais • Garbage collector • Extensões via C • Suporte a quase todos os os Sistemas Operativos sábado, 26 de Fevereiro/02 de 2011
  • 7. Rails sábado, 26 de Fevereiro/02 de 2011
  • 8. Rails - a História • Criado por David Heinemeier Hansson (DHH) da 37signals em 2004 - www.loudthinking.com • Extraído de um projecto real - Basecamp • Lançamento publico em julho de 2004 • Lançamento da versão 1.0 em dezembro 2005 • Versão actual recomendada para deploy 2.3.4 sábado, 26 de Fevereiro/02 de 2011
  • 9. Rails - o que é? • “full stack web framework” • Framework completo para desenvolvimento de aplicativos Web • Pacote MVC (Model-View-Controller) - Action Pack (Action Controller e Action View) - Active Record • Suporte a envio e recebimento de e-mails - Action Mailer • Active Resource sábado, 26 de Fevereiro/02 de 2011
  • 10. Rails - Filosofia • DRY – “Don’t Repeat Yourself” • Convenção ao invés de Configuração • REST é o melhor modelo para aplicações web • Teste sempre o que faz sábado, 26 de Fevereiro/02 de 2011
  • 11. Rails - Componentes • Action Controller - requisições, sessão, renderização de template e gerenciamento de redirecionamento • Action View - gerência as views (HTML e XML por padrão), gerência a renderização de templates, templates aninhados e parciais, e inclui suporte embutido para AJAX • Active Record - funcionalidade CRUD, capacidade de buscas avançadas, relacionamento entre models sábado, 26 de Fevereiro/02 de 2011
  • 12. Rails - Componentes • Action Mailer - e processar um e-mail enviar e-mails baseados em templates e receber • Active Resource - framework para serviços web RESTful • Active Support - colecção extensiva de classes utilitárias e extensões da biblioteca padrão do Ruby sábado, 26 de Fevereiro/02 de 2011
  • 13. Rails - instalação • Instalar Ruby http://www.ruby-lang.org/en/downloads • Instalar RubyGems (Mac ou Linux) http://rubyforge.org/projects/rubygems • Instalar Rails $ sudo gem install rails • wiki de instalação em http:// wiki.rubyonrails.org/getting-started/ installation sábado, 26 de Fevereiro/02 de 2011
  • 14. Rails - Começo Rápido • Para um começo rápido PRINCIPALMENTE para usuários do Windows temos o RubyStack da BitNami que pode ser encontrado em http:// bitnami.org/stack/rubystack, disponível para Linux, Mac e Windows sábado, 26 de Fevereiro/02 de 2011
  • 15. Rails - primeiro passo • No terminal $ rails blog # base de dados padrão SQLite ou $ rails blog -d mysql ou $ rails blog -d postgresql • Começar -m http://compass-style.org/rails/ $ rails blog uma aplicação via template installer sábado, 26 de Fevereiro/02 de 2011
  • 16. sábado, 26 de Fevereiro/02 de 2011
  • 17. $ cd blog • $ script/generate scaffold Post title:string body:text exists app/models/ exists app/controllers/ exists app/helpers/ create app/views/posts exists app/views/layouts/ exists test/functional/ exists test/unit/ create test/unit/helpers/ exists public/stylesheets/ create app/views/posts/index.html.erb create app/views/posts/show.html.erb create app/views/posts/new.html.erb create app/views/posts/edit.html.erb create app/views/layouts/posts.html.erb create public/stylesheets/scaffold.css create app/controllers/posts_controller.rb create test/functional/posts_controller_test.rb create app/helpers/posts_helper.rb create test/unit/helpers/posts_helper_test.rb route map.resources :posts dependency model exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/post.rb create test/unit/post_test.rb create test/fixtures/posts.yml create db/migrate create db/migrate/20100202165708_create_posts.rb sábado, 26 de Fevereiro/02 de 2011
  • 18. $ mate db/migrate/20100120165708_create_posts.rb • class CreatePosts < ActiveRecord::Migration def self.up create_table :posts do |t| t.string :title t.text :body t.timestamps # update_at and created_at columns end end def self.down drop_table :posts end end sábado, 26 de Fevereiro/02 de 2011
  • 19. • $ rake db:migrate (in /Users/lcosta/tmp/blog) == CreatePosts: migrating ==================================================== -- create_table(:posts) -> 0.0014s == CreatePosts: migrated (0.0017s) =========================================== • $ script/server => Booting Mongrel => Rails 2.3.4 application starting on http://0.0.0.0:3000 => Call with -d to detach=> Ctrl-C to shutdown server sábado, 26 de Fevereiro/02 de 2011
  • 22. sábado, 26 de Fevereiro/02 de 2011
  • 23. sábado, 26 de Fevereiro/02 de 2011
  • 24. sábado, 26 de Fevereiro/02 de 2011
  • 25. sábado, 26 de Fevereiro/02 de 2011
  • 27. sábado, 26 de Fevereiro/02 de 2011
  • 28. sábado, 26 de Fevereiro/02 de 2011
  • 29. Rails - Tools • script/about • script/runner • script/console • script/server • script/dbconsole • script/destroy • e não menos o Rake • script/generate • script/plugin sábado, 26 de Fevereiro/02 de 2011
  • 30. Rails - o Rake • automatizador de tarefas • para ver uma listagem de todas as tarefas: • $ rake -T • rake db:create:all • rake db:migrate • rake db:migrate:redo, rake db:reset rake db:rollback • rake db:migrate:down e rake db:migrate:up • rake doc:app • rake gems, rake gems:install e rake gems:unpack • rake notes | notes:fixme | notes:optimize | notes:todo sábado, 26 de Fevereiro/02 de 2011
  • 31. Ruby e Rails - Links • Site oficial do Ruby http://www.ruby-lang.org • Bom lugar para aprender Ruby (Satish Talim) http://rubylearning.com • Site oficial do Rails http://rubyonrails.org • Excelentes guias sobre Rails http://guides.rubyonrails.org e http://guias.rubyonrails.pro.br • Screencasts de alta qualidade sobre Rails http://railscasts.com • O repositório de código open source http://github.com • Getting Real http://gettingreal.37signals.com sábado, 26 de Fevereiro/02 de 2011
  • 32. Perguntas? email: lcosta.job@gmail.com - http://twitter.com/lcosta sábado, 26 de Fevereiro/02 de 2011