SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Uniendo los
                                                                        puntos
                                                                      en Ruby On
                                                                         Rails
                                                                            Rubén Medellín
                                                                                 @chubas

                                                                                WorkshopCamp México
                                                                                25 – 10 – 09
Bajo licencia Creative Commons Attribution-Non-Commercial-Share Alike 2.5
ABSTRACCIONES
Abstraccion
                 es
Component
es
esenciales
de las
cosas
Modelo web tradicional
La   MAGIA
de   Rails
NO HAY
MAGIA




Entender muy bien los
componentes de Rails
¿Qué es Rails?
   “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.”




Tim O'Reilly, fundador
de O'Reilly Media
Una que me gusta más
      “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.”




    Nathan Torkington,
O'Reilly Program Chair for
           OSCON
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
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
MVC en Rails


  ActiveRecord
       +
ActionController
       +
   ActionView
ActiveRecord

ORM – Object Relational Mapper




                 Database agnostic
Modelos


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

                 Relación entre
                 entidades
• has_many
• belongs_to
• has_and_belongs_to_many
Modelos

                  Validación y
                  procesamiento

  Validaciones

  Callbacks / Observadores
ActionController

Procesamiento y resolución de
         peticiones
Controladores

Recibe peticiones

Accede a los modelos

Prepara una respuesta
(generalmente una vista)
Rutas


En base a regexps + opciones

url_for / rutas nombradas

REST
Controladores



Se dividen en acciones

Fat models, thin controllers
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
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
ActionView

•Sistema de templates

•Accede a las variables y datos
pasados por el controlador

•La menor lógica posible en las
vistas
Pero eso no es todo...


La arquitectura Rails es
   altamente escalable

   • PLUGINS / GEMAS
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
Taller práctico

Más contenido relacionado

Similar a WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

Presentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás ConcepciónPresentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás ConcepciónNelson Rojas Núñez
 
"La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails""La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails"Enrique Place
 
Presentación Ruby on Rails
Presentación Ruby on RailsPresentación Ruby on Rails
Presentación Ruby on RailsGiannis Morales
 
Trabajo fin de carrera
Trabajo fin de carreraTrabajo fin de carrera
Trabajo fin de carreraAgustin Cuenca
 
Taller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on RailsTaller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on RailsDiacode
 
9 razones para programar en Ruby On Rails
9 razones para programar en Ruby On Rails 9 razones para programar en Ruby On Rails
9 razones para programar en Ruby On Rails kyaalena
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on railspelusa
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on railsJoski Jk
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on RailsJoski Jk
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Rafael Franco
 
Joserojas Web 2.0
Joserojas Web 2.0Joserojas Web 2.0
Joserojas Web 2.0Jose Rojas
 
Jose Rojas Desarrollo Rapido de Aplicaciones con RoR
Jose Rojas Desarrollo Rapido de Aplicaciones con RoRJose Rojas Desarrollo Rapido de Aplicaciones con RoR
Jose Rojas Desarrollo Rapido de Aplicaciones con RoRJose Rojas
 
Introducción a Ruby on Rails
Introducción a Ruby on RailsIntroducción a Ruby on Rails
Introducción a Ruby on RailsDiego Algorta
 
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007JuancaPompilla
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)Daryl Moreno
 
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQLDesarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQLJosé Alfredo Ramírez
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Nelson Rojas Núñez
 

Similar a WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails (20)

Presentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás ConcepciónPresentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás Concepción
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
"La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails""La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails"
 
Presentación Ruby on Rails
Presentación Ruby on RailsPresentación Ruby on Rails
Presentación Ruby on Rails
 
Trabajo fin de carrera
Trabajo fin de carreraTrabajo fin de carrera
Trabajo fin de carrera
 
Taller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on RailsTaller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on Rails
 
9 razones para programar en Ruby On Rails
9 razones para programar en Ruby On Rails 9 razones para programar en Ruby On Rails
9 razones para programar en Ruby On Rails
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011
 
Joserojas Web 2.0
Joserojas Web 2.0Joserojas Web 2.0
Joserojas Web 2.0
 
Ruby on Rails en Grandes Companias, Casos Reales
Ruby on Rails en Grandes Companias, Casos RealesRuby on Rails en Grandes Companias, Casos Reales
Ruby on Rails en Grandes Companias, Casos Reales
 
Jose Rojas Desarrollo Rapido de Aplicaciones con RoR
Jose Rojas Desarrollo Rapido de Aplicaciones con RoRJose Rojas Desarrollo Rapido de Aplicaciones con RoR
Jose Rojas Desarrollo Rapido de Aplicaciones con RoR
 
Introducción a Ruby on Rails
Introducción a Ruby on RailsIntroducción a Ruby on Rails
Introducción a Ruby on Rails
 
Nombre
NombreNombre
Nombre
 
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)
 
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQLDesarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 

Último (12)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 

WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails

  • 1. Uniendo los puntos en Ruby On Rails Rubén Medellín @chubas WorkshopCamp México 25 – 10 – 09 Bajo licencia Creative Commons Attribution-Non-Commercial-Share Alike 2.5
  • 3. Abstraccion es Component es esenciales de las cosas
  • 5.
  • 6. La MAGIA de Rails
  • 7. NO HAY MAGIA Entender muy bien los componentes de Rails
  • 8. ¿Qué es Rails? “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.” Tim O'Reilly, fundador de O'Reilly Media
  • 9. Una que me gusta más “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.” Nathan Torkington, O'Reilly Program Chair for OSCON
  • 10. 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
  • 11. 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
  • 12. MVC en Rails ActiveRecord + ActionController + ActionView
  • 13. ActiveRecord ORM – Object Relational Mapper Database agnostic
  • 14. Modelos CRUD • save, save! • new, create, create! • delete • find, find_by_*
  • 15. Modelos Relación entre entidades • has_many • belongs_to • has_and_belongs_to_many
  • 16. Modelos Validación y procesamiento  Validaciones  Callbacks / Observadores
  • 18. Controladores Recibe peticiones Accede a los modelos Prepara una respuesta (generalmente una vista)
  • 19. Rutas En base a regexps + opciones url_for / rutas nombradas REST
  • 20. Controladores Se dividen en acciones Fat models, thin controllers
  • 21. 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
  • 22. 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
  • 23. ActionView •Sistema de templates •Accede a las variables y datos pasados por el controlador •La menor lógica posible en las vistas
  • 24. Pero eso no es todo... La arquitectura Rails es altamente escalable • PLUGINS / GEMAS
  • 25. 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