SlideShare une entreprise Scribd logo
1  sur  19
Introdução ao Ruby on
         Rails
              UniInfo 2007

    Jony dos Santos Kostetzer
    http://jonysk.net | jony@jonysk.net
Objetivos do mini-curso
●   Conhecer a linguagem Ruby e suas principais
    características sintáticas
●   Compreender a arquitetura MVC e sua
    aplicação no Rails
●   Compreender os conceitos que norteiam o
    desenvolvimento de aplicações com Rails
●   Desenvolver um cadastro de livros de forma
    incremental
A linguagem Ruby
História
●   Criada em 1993 por Yukihiro “matz” Matsumoto
●   Sucesso com o Rails
●   No Japão, mais popular que a linguagem
    Python
●   Inspirada em Perl, Smalltalk, Ada, Eiffel, Lisp
●   Open Source
●   Versão estável: 1.8.6
●   Quase 4.300 projetos hospedados no
    RubyForge
Características
●   Sintaxe simples, eficiente...
●   ... e divertida!
●   Code less, do more!
●   Foco na solução
●   Tipagem dinâmica e forte
●   Tudo é objeto
●   Tudo tem um valor
Dave Thomas says...
●   I believe that the purpose of life is, at least in
    part, to be happy. Based on this belief, Ruby is
    designed to make programming not only easy
    but also fun.
●   You can concentrate on solving the problem at
    hand, instead of struggling with compiler and
    language issues. That’s how it can help you
    become a better programmer: by giving you the
    chance to spend your time creating solutions for
    your users, not for the compiler.
Características
●   Classes abertas
●   Herança simples, mas extensível com mixins
●   Mensagens e não chamada de métodos
●   Operadores mutáveis
●   Variáveis são referências a objetos
●   Uso massivo de blocos
Tipos de dados
●   Numéricos
    –   Fixnum , Bignum, Float
●   Booleanos
    –   true, false, nil
●   Strings
●   Ranges
●   Arrays e Hashes
●   Expressões regulares
●   Proc
●   Symbols
Classes e objetos
class Classe
   def initialize(param1, param2)
      @inst1, @inst2 = param1, param2
   end

  def metodo(param1, param2)
  end
end

a = Class.new
a.metodo
a.metodo(1, 2)
a.metodo 1, 2
a.send “metodo”, 1, 2
O framework Rails
Rails
●   Criado em meados de 2003 por David
    Heinemeier Hansson (DHH)
●   Aplicação real que foi abstraída
●   37signals.com
●   MVC
●   Vantagem principal: Ruby!!
A filosofia por trás do Rails
●   DRY – Don't Repeat Yourself
●   Convention over Configuration
●   Opinated software
●   Agile Manifesto - http://www.agilemanifesto.org
●   Resposta às mudanças
MVC - Model-View-Controller
MVC no Rails
Componentes
●   ActiveRecord: Model no rails
         ●   ORM
●   ActionPack: Controller e View
    –   View
         ●   RHTML
         ●   RXML
         ●   RJS
●   ActionMailer
●   ActiveResouce e ActionWebService
Hands on!
●   Aplicação: Cadastro de livros
Atualidades
●   Versão 2.0 a caminho
●   YARV
●   Projeto JRuby
    –   Rails & Java
    –   Sun
    –   Compilador finalizado
Links
●   http://rubyonrails.com
●   http://api.rubyonrails.com
●   http://www.rubyonbr.org/
●   http://jruby.codehaus.org
●   http://www.eustaquiorangel.com/ (tutorial ruby)
●   http://kb.reflectivesurface.com/br/tutoriais/railsD
    iversaoLucro/ (tutorial rails)
●   http://gettingreal.37signals.com/
●   http://akitaonrails.com
Obrigado!

Jony dos Santos Kostetzer
http://jonysk.net | jony@jonysk.net

Contenu connexe

Tendances

Tendances (20)

Groovy stack
Groovy stackGroovy stack
Groovy stack
 
Codelab: TypeScript
Codelab: TypeScriptCodelab: TypeScript
Codelab: TypeScript
 
Introdução à programação em Ruby
Introdução à programação em RubyIntrodução à programação em Ruby
Introdução à programação em Ruby
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistema
 
Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidor
 
Ruby e Rails
Ruby e RailsRuby e Rails
Ruby e Rails
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Rubysoc final RubyConfBR
Rubysoc final RubyConfBRRubysoc final RubyConfBR
Rubysoc final RubyConfBR
 
Aula09 - Java Script
Aula09 - Java ScriptAula09 - Java Script
Aula09 - Java Script
 
Desenvolvimento web e PHP
Desenvolvimento web e PHPDesenvolvimento web e PHP
Desenvolvimento web e PHP
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Node.js
Node.jsNode.js
Node.js
 
Por que Node JS?
Por que Node JS?Por que Node JS?
Por que Node JS?
 
Conhecendo o Java 8
Conhecendo o Java 8Conhecendo o Java 8
Conhecendo o Java 8
 
Jclouds jug vale
Jclouds jug valeJclouds jug vale
Jclouds jug vale
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 

En vedette

Drinking And Driving
Drinking And DrivingDrinking And Driving
Drinking And Driving
jnet11
 
Respect All Work
Respect All WorkRespect All Work
Respect All Work
suehellman
 
Solving Multi Step Equations
Solving Multi Step EquationsSolving Multi Step Equations
Solving Multi Step Equations
Derek Wright
 
AA Booklet Dec 2015 V6
AA Booklet Dec 2015 V6AA Booklet Dec 2015 V6
AA Booklet Dec 2015 V6
Benita Samaha
 
Diapos gobierno electronico
Diapos gobierno electronicoDiapos gobierno electronico
Diapos gobierno electronico
Nathy Ta
 
Weibliche Selbstsicherheit
Weibliche SelbstsicherheitWeibliche Selbstsicherheit
Weibliche Selbstsicherheit
Sylvi O.
 
Weibliche Selbstsicherheit :-)
Weibliche Selbstsicherheit :-)Weibliche Selbstsicherheit :-)
Weibliche Selbstsicherheit :-)
Sylvi O.
 

En vedette (20)

Jenny Mabel RincóN
Jenny Mabel RincóNJenny Mabel RincóN
Jenny Mabel RincóN
 
V Ts Young Adolescent Promise
V Ts Young Adolescent PromiseV Ts Young Adolescent Promise
V Ts Young Adolescent Promise
 
Regulatory Discussion V2012
Regulatory Discussion V2012Regulatory Discussion V2012
Regulatory Discussion V2012
 
Drinking And Driving
Drinking And DrivingDrinking And Driving
Drinking And Driving
 
Withya-Timeline
Withya-TimelineWithya-Timeline
Withya-Timeline
 
2nd Elt
2nd Elt2nd Elt
2nd Elt
 
Jag Presentation V120601
Jag Presentation V120601Jag Presentation V120601
Jag Presentation V120601
 
Jeremy L. Mc Neal
Jeremy L. Mc NealJeremy L. Mc Neal
Jeremy L. Mc Neal
 
Respect All Work
Respect All WorkRespect All Work
Respect All Work
 
Problem-Based Learning
Problem-Based LearningProblem-Based Learning
Problem-Based Learning
 
Solving Multi Step Equations
Solving Multi Step EquationsSolving Multi Step Equations
Solving Multi Step Equations
 
Learning Targets by Karen Kidwell
Learning Targets by Karen KidwellLearning Targets by Karen Kidwell
Learning Targets by Karen Kidwell
 
Nedir Bu Sosyal Medya?
Nedir Bu Sosyal Medya?Nedir Bu Sosyal Medya?
Nedir Bu Sosyal Medya?
 
Aufbau einer LOD- basierten Web-API am Beispiel von api.lobid.org
Aufbau einer LOD- basierten Web-API am Beispiel von api.lobid.orgAufbau einer LOD- basierten Web-API am Beispiel von api.lobid.org
Aufbau einer LOD- basierten Web-API am Beispiel von api.lobid.org
 
ARTISTAS
ARTISTASARTISTAS
ARTISTAS
 
AA Booklet Dec 2015 V6
AA Booklet Dec 2015 V6AA Booklet Dec 2015 V6
AA Booklet Dec 2015 V6
 
Diapos gobierno electronico
Diapos gobierno electronicoDiapos gobierno electronico
Diapos gobierno electronico
 
Weibliche Selbstsicherheit
Weibliche SelbstsicherheitWeibliche Selbstsicherheit
Weibliche Selbstsicherheit
 
VM | Visible Music
VM | Visible MusicVM | Visible Music
VM | Visible Music
 
Weibliche Selbstsicherheit :-)
Weibliche Selbstsicherheit :-)Weibliche Selbstsicherheit :-)
Weibliche Selbstsicherheit :-)
 

Similaire à Introdução ao Ruby on Rails

ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
elliando dias
 
O que é o ruby on rails?
O que é o ruby on rails?O que é o ruby on rails?
O que é o ruby on rails?
Leonardo Costa
 
Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em Informática
Eder Carneiro
 

Similaire à Introdução ao Ruby on Rails (20)

Ruby and Rails
Ruby and RailsRuby and Rails
Ruby and 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
 
UM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBY
UM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBYUM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBY
UM ESTUDO SOBRE METAPROGRAMAÇÃO: AS LINGUAGENS DE PROGRAMAÇÃO PYTHON E RUBY
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Ruby
RubyRuby
Ruby
 
Doctrine 2 camada de persistência para php
Doctrine 2   camada de persistência para phpDoctrine 2   camada de persistência para php
Doctrine 2 camada de persistência para php
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
 
Gerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsGerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On Rails
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
O que é o ruby on rails?
O que é o ruby on rails?O que é o ruby on rails?
O que é o ruby on rails?
 
Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em Informática
 
Cursos Season
Cursos SeasonCursos Season
Cursos Season
 
Cursos Season
Cursos Season Cursos Season
Cursos Season
 
Reuso De Código Com Rails
Reuso De Código Com RailsReuso De Código Com Rails
Reuso De Código Com Rails
 
Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 

Introdução ao Ruby on Rails

  • 1. Introdução ao Ruby on Rails UniInfo 2007 Jony dos Santos Kostetzer http://jonysk.net | jony@jonysk.net
  • 2. Objetivos do mini-curso ● Conhecer a linguagem Ruby e suas principais características sintáticas ● Compreender a arquitetura MVC e sua aplicação no Rails ● Compreender os conceitos que norteiam o desenvolvimento de aplicações com Rails ● Desenvolver um cadastro de livros de forma incremental
  • 4. História ● Criada em 1993 por Yukihiro “matz” Matsumoto ● Sucesso com o Rails ● No Japão, mais popular que a linguagem Python ● Inspirada em Perl, Smalltalk, Ada, Eiffel, Lisp ● Open Source ● Versão estável: 1.8.6 ● Quase 4.300 projetos hospedados no RubyForge
  • 5. Características ● Sintaxe simples, eficiente... ● ... e divertida! ● Code less, do more! ● Foco na solução ● Tipagem dinâmica e forte ● Tudo é objeto ● Tudo tem um valor
  • 6. Dave Thomas says... ● I believe that the purpose of life is, at least in part, to be happy. Based on this belief, Ruby is designed to make programming not only easy but also fun. ● You can concentrate on solving the problem at hand, instead of struggling with compiler and language issues. That’s how it can help you become a better programmer: by giving you the chance to spend your time creating solutions for your users, not for the compiler.
  • 7. Características ● Classes abertas ● Herança simples, mas extensível com mixins ● Mensagens e não chamada de métodos ● Operadores mutáveis ● Variáveis são referências a objetos ● Uso massivo de blocos
  • 8. Tipos de dados ● Numéricos – Fixnum , Bignum, Float ● Booleanos – true, false, nil ● Strings ● Ranges ● Arrays e Hashes ● Expressões regulares ● Proc ● Symbols
  • 9. Classes e objetos class Classe def initialize(param1, param2) @inst1, @inst2 = param1, param2 end def metodo(param1, param2) end end a = Class.new a.metodo a.metodo(1, 2) a.metodo 1, 2 a.send “metodo”, 1, 2
  • 11. Rails ● Criado em meados de 2003 por David Heinemeier Hansson (DHH) ● Aplicação real que foi abstraída ● 37signals.com ● MVC ● Vantagem principal: Ruby!!
  • 12. A filosofia por trás do Rails ● DRY – Don't Repeat Yourself ● Convention over Configuration ● Opinated software ● Agile Manifesto - http://www.agilemanifesto.org ● Resposta às mudanças
  • 15. Componentes ● ActiveRecord: Model no rails ● ORM ● ActionPack: Controller e View – View ● RHTML ● RXML ● RJS ● ActionMailer ● ActiveResouce e ActionWebService
  • 16. Hands on! ● Aplicação: Cadastro de livros
  • 17. Atualidades ● Versão 2.0 a caminho ● YARV ● Projeto JRuby – Rails & Java – Sun – Compilador finalizado
  • 18. Links ● http://rubyonrails.com ● http://api.rubyonrails.com ● http://www.rubyonbr.org/ ● http://jruby.codehaus.org ● http://www.eustaquiorangel.com/ (tutorial ruby) ● http://kb.reflectivesurface.com/br/tutoriais/railsD iversaoLucro/ (tutorial rails) ● http://gettingreal.37signals.com/ ● http://akitaonrails.com
  • 19. Obrigado! Jony dos Santos Kostetzer http://jonysk.net | jony@jonysk.net