26
Uniendo los puntos en Ruby On Rails Rubén Medellín @chubas Bajo licencia Creative Commons Attribution-Non-Commercial-Share Alike 2.5 WorkshopCamp México 25 – 10 – 09

WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Embed Size (px)

DESCRIPTION

Presentación de Ruben Medellín en el WorkshopCamp México 09

Citation preview

Page 1: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Uniendo los puntos

en Ruby On Rails

Rubén Medellín@chubas

Bajo licencia Creative Commons Attribution-Non-Commercial-Share Alike 2.5

WorkshopCamp México25 – 10 – 09

Page 2: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

ABSTRACCIONES

Page 3: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Abstracciones

Componentes esenciales de las cosas

Page 4: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Modelo web tradicional

Page 5: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails
Page 6: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

La MAGIAde Rails

Page 7: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

NO HAYMAGIA

Entender muy bien los componentes de Rails

Page 8: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

¿Qué es Rails?

Tim O'Reilly, fundador de O'Reilly Media

“Ruby on Rails is a breakthrough in lowering the barriers of entry

to programming. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a

matter of days.”

Page 9: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Una que me gusta más

Nathan Torkington, O'Reilly Program Chair for

OSCON

“Ruby on Rails is astounding. Using it is like watching a kung-fu movie, where a dozen bad-ass frameworks prepare to beat up the little newcomer only to be handed

their asses in a variety of imaginative ways.”

Page 10: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Mi propia definición

Rails es una plataforma de desarrollo cuyo

principal objectivo es eliminar la complejidad innecesaria, haciendo el proceso más ágil y al desarrollador más feliz

Page 11: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

La “magia” de Ruby on Rails está en sus principios:

• Convention over configuration• Complex framework, simple logic• Test, then code• Don't repeat yourself• Don't reinvent the wheel

• entre otros

Page 12: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

MVC en Rails

ActiveRecord+

ActionController+

ActionView

Page 13: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

ActiveRecord

ORM – Object Relational Mapper

Database agnostic

Page 14: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Modelos

• save, save!• new, create, create!• delete• find, find_by_*

CRUD

Page 15: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Modelos

• has_many• belongs_to• has_and_belongs_to_many

Relación entre entidades

Page 16: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Modelos

Validaciones Callbacks / Observadores

Validación y procesamiento

Page 17: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

ActionController

Procesamiento y resolución de peticiones

Page 18: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Controladores

Recibe peticiones

Accede a los modelos

Prepara una respuesta (generalmente una vista)

Page 19: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Rutas

En base a regexps + opciones

url_for / rutas nombradas

REST

Page 20: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Controladores

Se dividen en acciones

Fat models, thin controllers

Page 21: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Controladores

Tienen acceso al objeto request y sus atributos

Headers, cookies, sesión, parámetros (GET o POST), response

Filtros y wrappers

Se encargan de preparar la respuesta

Page 22: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Respuesta

Por convención, rails regresará una vista con el nombre de la acción

Se puede regresar otra vista, datos (archivos, streams), redirecciones, errores, AJAX

Page 23: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

ActionView

•Sistema de templates

•Accede a las variables y datos pasados por el controlador

•La menor lógica posible en las vistas

Page 24: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Pero eso no es todo...

La arquitectura Rails es altamente escalable

• PLUGINS / GEMAS

Page 25: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Plugins para:•OpenID

•Autenticación•Control de acceso

•Roles•Paginación

•APIs externas•(Twitter, Youtube, flickr, google maps)

•Búsqueda (sphinx, ferret)•Vistas•Formas

•CSS

Page 26: WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Taller práctico