+ All Categories
Home > Documents > Introducción a Ruby on Rails

Introducción a Ruby on Rails

Date post: 21-Jun-2015
Category:
Upload: guest638090
View: 1,355 times
Download: 0 times
Share this document with a friend
Description:
Charla introductoria a Ruby y Ruby on Rails impartida durante las III Jornadas de Informática de la Universidad Europea de Madrid, en la primavera de 2008
25
CHARLA/TALLER Introducción a Ruby on Rails III Jornadas de Informática de la UEM Raúl Murciano – raul.murciano.net Borja Martín – dagi3d.net GLUEM - gluem.net
Transcript
Page 1: Introducción a Ruby on Rails

CHARLA/TALLER

Introducción a Ruby on Rails

III Jornadas de Informática de la UEM

Raúl Murciano – raul.murciano.net

Borja Martín – dagi3d.net

GLUEM - gluem.net

Page 2: Introducción a Ruby on Rails

Qué es Ruby

Lenguaje de script interpretado de código abierto

Desarrollado por Yukihiro Matsumoto('Matz') y liberado en 1995

Puramente orientado a objetos Código abierto

Page 3: Introducción a Ruby on Rails

Características de Ruby

TODO es un objeto Tipado dinámico Herencia Altamente portable Recolector automático de basura Sobrecarga de operadores Introspección / Reflexión / Metaprogramación

Page 4: Introducción a Ruby on Rails

Todo es un objeto

1.next

5.3.floor

”hola mundo”.upcase

[3, 4, 1, 2].sort

nil.class

# 2

# 5

# ”HOLA MUNDO”

# [1, 2, 3, 4]

# NilClass

Page 5: Introducción a Ruby on Rails

Estructuras condicionales

if a == 1 # a = 1elsif a == 2 # a = 2else # cualquier otro valorend

puts ”a = 1” if a == 1

unless correcto

puts "¡incorrecto!"

end

Page 6: Introducción a Ruby on Rails

Bucles

for i in 1..10

puts i

end

for letra in ['a', 'b', 'c', 'd']

puts letra

end

while a < 10

a+= 10

end

Page 7: Introducción a Ruby on Rails

Arrays

letras = ['a', 'b', 'c', 'd']

letras << 'e'

letras[0]

letras.first

letras.length

# ['a', 'b', 'c', 'd']

# ['a', 'b', 'c', 'd', 'e']

# 'a'

# 'a'

# 5

Page 8: Introducción a Ruby on Rails

Símbolos

"foo".object_id

"foo".object_id

:foo.object_id

:foo.object_id

# -605211038

# -605211058

# 105218

# 105218

Objeto más básico en ruby ”Literales de cadenas de texto constantes”

Page 9: Introducción a Ruby on Rails

Hashes

colores = {

:rojo => "FF0000",

:verde => "00FF00",

:azul => "0000FF"

}

colores[:rojo] # ”FF0000”

Page 10: Introducción a Ruby on Rails

Iteradores y bloques

numeros = [1, 3, 5, 2, 7, 9]

numeros.each do |n|

puts n * 2

end

# 2

# 6

# 10

# 4

# 14

# 18

Page 11: Introducción a Ruby on Rails

Métodos

def suma(a, b, c)

a + b + c

end

suma(1, 2, 3) # 6

Page 12: Introducción a Ruby on Rails

# clase MiFigura. 100% GPL!class MiFigura MAX_LADOS = 100 @@colores = {:blanco => ”ffffff”,:negro => ”000000”} attr_accessor :color attr_reader :lados def initialize(lados, color) @color, @lados = color, lados end end

Clases

Page 13: Introducción a Ruby on Rails

Herencia

class Triangulo < MiFigura def initialize(color) @lados = 3 @color = color end

end

Page 14: Introducción a Ruby on Rails

Las clases no se cierran

class Integer

def al_cubo

self ** 3

end

end

4.al_cubo # 64

Page 15: Introducción a Ruby on Rails

”Duck typing”

def duplica(obj)

obj * 2

end

puts duplica(5)

puts duplica("hola")

# 10

# ”holahola”

”Si habla como un pato y camina como un pato, entonces es un pato”

Page 16: Introducción a Ruby on Rails

Metaprogramación

class Persona

def method_missing(name, *params, &block)

puts "El método '#{name}' no existe"

end

end

persona = Persona.new

persona.metodo_inventado

# Ruby On Rails

Cliente.find_by_nombre(”nombre_cliente”)

Page 17: Introducción a Ruby on Rails

Demo

• Comprobar que tenemos todo instalado• Creación del proyecto• Ejemplo básico para ver cómo funciona Rails• Vistas• Controladores• Modelos• Aspectos avanzados: plugins, Ajax, REST...

Page 18: Introducción a Ruby on Rails

Paso a producción

• Hay trabajo más allá del desarrollo• Muchas posibilidades. Como todo, depende de

las necesidades del proyecto• webserver + FastCGI + DB• webserver + Mongrel + DB• webserver + mongrel cluster + DB• Con jRuby se abren aún más posibilidades

Page 19: Introducción a Ruby on Rails

Entornos de Desarrollo

• Aptana RadRails (incluye plugin para Eclipse)• NetBeans• IDEA• Visual Studio• CodeGear (ex Borland)• Textmate• Old school (vi, emacs...)• ...todos incluyen soporte para Ruby y Rails

Page 20: Introducción a Ruby on Rails

Recursos: Libros

Page 21: Introducción a Ruby on Rails

Recursos: Libros

Page 22: Introducción a Ruby on Rails

Recursos: Libros

Page 23: Introducción a Ruby on Rails

Recursos: Referencia

• Info oficial: ruby-lang.org rubyonrails.org

• API: rubybrain.com railsbrain.com

Page 24: Introducción a Ruby on Rails

Recursos: vídeos y material extra

San Diego Ruby Users Group: podcast.sdruby.com

Page 25: Introducción a Ruby on Rails

Recursos: comunidad

• [ror-es] Lista de Ruby y Rails en castellano• [ruby-talk]• [rubyonrails-talk]• Blogs, blogs, blogs...

rubycorner.com planetrubyonrails.com planetrubyonrails.org

conferenciarails.org


Recommended