I Congreso de Tecnologías de Información y Comunicaciones
Cusco 2007
¿Qué es lo principal (por no decir
                          (por
     primero) que piensan al momento
     primero)
     ...
¿Qué es lo principal (por no decir
                          (por
     primero) que piensan al momento
     primero)
     ...
Java   Ruby
I Congreso de Tecnologías de Información y Comunicaciones
Cusco 2007
Ruby y Rails
        Ruby
Ruby y Rails
                                                Ruby




    Creado por YUKIHIRO MATSUMOTO en los 90’s
o
    ...
Ruby y Rails
                                                     Ruby




                 Cercano a nuestra forma de pen...
Ruby y Rails
   Ruby on Rails
Ruby y Rails
                                                 Ruby on Rails




    Framework de desarrollo web basado en ...
Ruby y Rails
                                                      La “Filosofía” de RoR




                             ...
Ruby y Rails
                                                   La “Filosofía” de RoR




o La repetición innecesaria de c...
Ruby y Rails
                                                     La “Filosofía” de RoR




o En vez de requerir innumerab...
Ruby y Rails
                                              La “Filosofía” de RoR




    Modelo Datos: ActiveRecord
Contro...
Arquitectura
                                               Modelo – Vista - Controlador




1.   El navegador manda una p...
o La “M” de MVC: el Modelo
   o Capa ORM: manejo de base de datos con orientación a objetos
        o Las tablas son clase...
o
    o Create
    o Read
    o Update
    o Delete
o CRUD
       o
       o Read
       o Update
       o Delete



Crear
p = Persona.new       p = Persona.create(
p.nombre ...
o CRUD
       o Create
       o
       o Update
       o Delete



Leer/Buscar
persona = Persona.find(3)
personas = Person...
o CRUD
       o Create
       o Read
       o
       o Delete



Actualizar/Modificar
juanca = Persona.find_by_nombre(“jua...
o CRUD
       o Create
       o Read
       o Update
       o



Borrar
juanca = Persona.find_by_nombre(“Juanca”)
juanca.d...
o                         o
          o uno a uno             Lo declaramos en la clase y Rails, a
          o uno a mucho...
Arquitectura
Modelo – Vista - Controlador
o La “C” de MVC: el Controlador
o Tareas
    o Procesa la URL solicitada
    o Dirige la petición al controlador correspon...
o ActionController usa la ruta para decidir:
    o Que controlador se usará
    o Que método del mismo se ejecutara
    o ...
Arquitectura
Modelo – Vista - Controlador
o La “V” de MVC: la Vista
 o En principio, hay una plantilla por método
 o Se encarga de convertir los datos que le pasa e...
o Helpers
        o Funciones que nos ahorran escribir HTML
        o Generación de URLs
        o Generación de formulari...
Ahora viene lo mejor…
Todos abordo
Expositor: Juan Carlos Pompilla Ttito
   Email: juancarlitos.pompilla@gmail.com
     Blog: rubyonrails-cusco.blogspot.com
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
Upcoming SlideShare
Loading in …5
×

Presentacion Ruby on Rails CTIC-Cusco2007

1,850 views

Published on

I Presentacion de Ruby on Rails en la ciudad del Cusco, en el congreso de TIC 2007

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,850
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
88
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentacion Ruby on Rails CTIC-Cusco2007

  1. 1. I Congreso de Tecnologías de Información y Comunicaciones Cusco 2007
  2. 2. ¿Qué es lo principal (por no decir (por primero) que piensan al momento primero) de desarrollar una aplicación, además de la funcionalidad? ¿Orientación a Objetos? ¿Diagrama de clases? ¿UML? ¿Lo podremos hacer? ¿Interfaz Grafica? ¿Cuánto nos pagaran? ¿Documentación? ¿La base de datos?
  3. 3. ¿Qué es lo principal (por no decir (por primero) que piensan al momento primero) de desarrollar una aplicación, además de la funcionalidad? ¿Orientación a Objetos? ¿Diagrama de clases? ¿UML? ¿Lo podremos hacer? ¿Interfaz Grafica? ¿Documentación? ¿UML? ¿La base de datos?
  4. 4. Java Ruby
  5. 5. I Congreso de Tecnologías de Información y Comunicaciones Cusco 2007
  6. 6. Ruby y Rails Ruby
  7. 7. Ruby y Rails Ruby Creado por YUKIHIRO MATSUMOTO en los 90’s o Interpretado o Dinámico o Completamente Orientado a Objetos o
  8. 8. Ruby y Rails Ruby Cercano a nuestra forma de pensar o Lo cual da una experiencia mejor o $> ¡Fácil! Te hace sentir inteligente o ¡Fácil! ¡Fácil! ¡Es divertido! o ¡Fácil! ¡Fácil! $>
  9. 9. Ruby y Rails Ruby on Rails
  10. 10. Ruby y Rails Ruby on Rails Framework de desarrollo web basado en Ruby o Creado por “David Heinemeier Hanson” (37Signals) o Extraído (en principio) de su aplicación Basecamp o Liberado en 2005 (¡un ascenso meteórico!) o
  11. 11. Ruby y Rails La “Filosofía” de RoR Don’t Repeat Yourself Modelo - Vista - Controlador (No te repitas) Convention Over Configuration (Convención sobre Configuración)
  12. 12. Ruby y Rails La “Filosofía” de RoR o La repetición innecesaria de conocimiento es fuente de errores (incongruencias) o Y además, es un rollo Ejemplo ¿Definir atributos de una clase? ¡¡¡ Si ya los dijimos al crear la tabla !!!
  13. 13. Ruby y Rails La “Filosofía” de RoR o En vez de requerir innumerables archivos de configuración, Rails propone defaults razonables o Que, por supuesto, podemos cambiar (si lo necesitamos) Ejemplo Clase Person ↔ tabla People Se puede forzar: set_table_name ´Personas´ Rails establece una estructura de directorios relativamente rígida De esta forma, puede encontrar las cosas a través de convenciones
  14. 14. Ruby y Rails La “Filosofía” de RoR Modelo Datos: ActiveRecord Controlador Lógica de la aplicación: ActionController Vista Interfaz (web) de usuario: ActionView Ventajas de la separación Código limpio DRY Facilita el trabajo en equipo
  15. 15. Arquitectura Modelo – Vista - Controlador 1. El navegador manda una petición 2. El controlador interactúa con el Modelo 3. El controlador invoca una Vista 4. La vista se encarga de formar toda la pagina para el navegador
  16. 16. o La “M” de MVC: el Modelo o Capa ORM: manejo de base de datos con orientación a objetos o Las tablas son clases o Las filas son objetos o Las columnas son atributos o Sin configuración: todo por convención o persona.nombre => columna nombre de una fila de la tabla personas Crear una clase (cargar una tabla) class Persona < ActiveRecord::Base end
  17. 17. o o Create o Read o Update o Delete
  18. 18. o CRUD o o Read o Update o Delete Crear p = Persona.new p = Persona.create( p.nombre = “Juanca” :nombre => “Juanca”, p.ciudad = “Cusco” :ciudad => “Cusco”) p.save
  19. 19. o CRUD o Create o o Update o Delete Leer/Buscar persona = Persona.find(3) personas = Persona.find( :all, :conditions =>”ciudad = ‘Cusco’”) juanca = Persona.find_by_nombre(“Juanca”)
  20. 20. o CRUD o Create o Read o o Delete Actualizar/Modificar juanca = Persona.find_by_nombre(“juanca”) juanca.ciudad = “Trujillo” juanca.save
  21. 21. o CRUD o Create o Read o Update o Borrar juanca = Persona.find_by_nombre(“Juanca”) juanca.destroy
  22. 22. o o o uno a uno Lo declaramos en la clase y Rails, a o uno a muchos través convenciones, se encarga de o muchos a muchos todo Ejemplo class Persona < ActiveRecord::Base belongs_to :grupo end class Grupo < ActiveRecord::Base has_many :personas end # “CTIC-2007” juanca.grupo.nombre # “juanca” ctic.personas[0].nombre
  23. 23. Arquitectura Modelo – Vista - Controlador
  24. 24. o La “C” de MVC: el Controlador o Tareas o Procesa la URL solicitada o Dirige la petición al controlador correspondiente o El controlador realiza la tarea correspondiente, solicitando al Modelo los datos que necesite o Renderiza la plantilla (la Vista)
  25. 25. o ActionController usa la ruta para decidir: o Que controlador se usará o Que método del mismo se ejecutara o Que parámetros se le pasaran (array params)
  26. 26. Arquitectura Modelo – Vista - Controlador
  27. 27. o La “V” de MVC: la Vista o En principio, hay una plantilla por método o Se encarga de convertir los datos que le pasa el controlador en el HTML que se servirá al navegador RHTML HTML con código Ruby: <p>Son las <%= Time.now %><p/>
  28. 28. o Helpers o Funciones que nos ahorran escribir HTML o Generación de URLs o Generación de formularios o Formateo de datos o Paginación o… o Podemos definir las nuestras propias Ejemplo link_to(‘Ver’, :controller => ‘personas’, :action => ‘show’, :id => juan.id) <a href=quot;/personas/show/7quot;>Ver</a>
  29. 29. Ahora viene lo mejor…
  30. 30. Todos abordo
  31. 31. Expositor: Juan Carlos Pompilla Ttito Email: juancarlitos.pompilla@gmail.com Blog: rubyonrails-cusco.blogspot.com

×