SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Seminario I:




               Confidentiel
Índice



 ¿Por qué surge Ruby on Rails?
 ¿Quiénes usan Ruby on Rails?
 Ruby el Corazón de Rails
 Ruby on Rails, el desarrollo ágil
 ¿Por donde empiezo?




                                                         2
                                     04/10/2006   Confidentiel
Índice



 ¿Por qué surge Ruby on Rails?
 ¿Quiénes usan Ruby on Rails?
 Ruby el Corazón de Rails
 Ruby on Rails, el desarrollo ágil
 ¿Por donde empiezo?




                                                         3
                                     04/10/2006   Confidentiel
¿Por qué surge Ruby on Rails?




     “Convertir las debilidades en
               fortalezas”

               Sun Tzu. El arte de la guerra




                                                                   4
                                               04/10/2006   Confidentiel
¿Por qué surge Ruby on Rails?


  ¿Cómo es un desarrollo web?



                      Tarea 2                 Tarea 5                Tarea 2

          Tarea 1

                                        Tarea 4
                              Tarea 3                    Tarea 1




                                            Tarea 1                  Tarea 3
                    Tarea 6




                                                                                      5
                                                        04/10/2006             Confidentiel
¿Por qué surge Ruby on Rails?


  ¿Cómo es un desarrollo web?

     Limitaciones de Tiempo
     Limitaciones de Personas
     Limitaciones de Distancia
     Limitaciones Económicas
     Limitaciones de Recursos



       ¡Necesitamos atacar nuestras limitaciones!




                                                                6
                                            04/10/2006   Confidentiel
¿Por qué surge Ruby on Rails?



                 Proyecto “Lateral”

                     Menos Personas
                      Menos Tiempo
                    Menos Presupuesto

                     Más Creatividad
                      Menos Código
                      Menos Errores

                     Más Productivo




                                                            7
                                        04/10/2006   Confidentiel
¿Por qué surge Ruby on Rails?




               Del Producto al Framework
                  Problemas reales, Soluciones reales




                                                               8
                                          04/10/2006    Confidentiel
¿Por qué surge Ruby on Rails?



                                Real
                    basado en necesidades reales

                                DRY
                     eliminando tareas repetitivas

                                COC
                      adoptando convenciones

                                Ágil
                   abierto a cambios en desarrollo



                                                              9
                                          04/10/2006   Confidentiel
¿Por qué surge Ruby on Rails?




         Filosofía del diseño de producto …




                                                     10
                                04/10/2006    Confidentiel
¿Por qué surge Ruby on Rails?




                ¡Comienza por la interfaz!
                Una especificación funcional no es funcional
                   Ni es clara, ni describe lo que quieres




                                                                      11
                                              04/10/2006       Confidentiel
¿Por qué surge Ruby on Rails?




      ¡Comienza por la Experiencia de Usuario!

                                 Diseña
                                Prototipa
                            Experimenta
                                Cambia
                           Aclara y repite




                                                                12
                                            04/10/2006   Confidentiel
¿Por qué surge Ruby on Rails?




                                Get Real!

                                No se puede hacer clic en
                                papel o en diagramas




                                                                   13
                                       04/10/2006           Confidentiel
¿Por qué surge Ruby on Rails?




 “Ruby on Rails es un avance en la reducción de barreras de
   entrada a la programación. Potentes aplicaciones web que
   antes podrían tardar semanas o meses en ser desarrolladas
   pueden ser creadas en cuestión de días.”

                                  -Tim O'Reilly, Fundador de O'Reilly Media




                                                                              14
                                            04/10/2006                 Confidentiel
Índice



 ¿Por qué surge Ruby on Rails?
 ¿Quiénes usan Ruby on Rails?
 Ruby el Corazón de Rails
 Ruby on Rails, el desarrollo ágil
 ¿Por donde empiezo?




                                                         15
                                     04/10/2006   Confidentiel
¿Quiénes usan Ruby on Rails?




  “El progreso y el desarrollo son
 imposibles si uno sigue haciendo las
    cosas tal como siempre las ha
                hecho.”


                          Wayne W. Dyer




                                                              16
                                          04/10/2006   Confidentiel
¿Quiénes usan Ruby on Rails?


                          Twitter




                                                        17
                                    04/10/2006   Confidentiel
¿Quiénes usan Ruby on Rails?


                       La Coctelera




                                                          18
                                      04/10/2006   Confidentiel
¿Quiénes usan Ruby on Rails?


                         Jazztelia




                                                         19
                                     04/10/2006   Confidentiel
¿Quiénes usan Ruby on Rails?


                       Yellow Pages




                                                          20
                                      04/10/2006   Confidentiel
¿Quiénes usan Ruby on Rails?


                         43 things




                                                         21
                                     04/10/2006   Confidentiel
¿Quiénes usan Ruby on Rails?


                          Tractis




                                                        22
                                    04/10/2006   Confidentiel
Índice



 ¿Por qué surge Ruby on Rails?
 ¿Quiénes usan Ruby on Rails?
 Ruby el Corazón de Rails
 Ruby on Rails, el desarrollo ágil
 ¿Por donde empiezo?




                                                         23
                                     04/10/2006   Confidentiel
Ruby el Corazón de Rails




   “Quien no ha probado lo amargo,
       no sabe lo que es dulce”


                  PROVERBIO ALEMÁN




                                                         24
                                     04/10/2006   Confidentiel
Ruby el Corazón de Rails


  Los idiomas influyen (¿determinan?) la manera de pensar de las
  personas


 Los lenguajes, la de los programadores




                                 Ruby
                   • Cercano a nuestra forma de pensar
                    • Lo cual da una experiencia mejor
                             • ¡Es divertido!
                       • Te hace sentir inteligente




                                                                          25
                                                04/10/2006         Confidentiel
Ruby el Corazón de Rails


       Ruby: lenguaje de programación orientado a objetos


                   Basado en lenguaje natural

                             Ayuda al pensamiento humano


                        Usable: fácil de aprender


           Eficiente: menos líneas de código


                           Felicidad: mejora la experiencia del
                           programador

                     Comunidad muy activa

                                                                         26
                                             04/10/2006           Confidentiel
Ruby el Corazón de Rails


                  La estética del diseño japonés

                    Minimalista

       Foco en factores humanos

                              Principio de la menor sorpresa
                               Principio supremo en el diseño de Ruby
                               Hace felices a los programadores
                               Hace Ruby mas fácil de aprender

                      Principio de lo sucinto
                      • No malgastar tiempo en ficheros de
                           configuración, getters, setters, etc.
                      • Cuanto mas rápido programas, más consigues
                      • Less Code: menos código, menos errores,
                           menor coste de mantenimiento


                                                                               27
                                             04/10/2006                 Confidentiel
Ruby el Corazón de Rails


                        Orientado a Objetos


        TODAS las clases heredan de Object, incluso Class


                           NO hay primitivas

                  Ruby usa herencia simple (herencia
                  múltiple  mixings)

                           Los módulos añaden comportamientos a
                           las clases


               Los operadores ‘+’ y ‘-’ son métodos


                                                                     28
                                           04/10/2006         Confidentiel
Ruby el Corazón de Rails


                           Lenguaje Dinámico


                       No hay diferencia entre ‘tiempo de
                       compilación’ y ‘tiempo de ejecución’




        Se pueden crear y modificar clases,
        redefinir o añadir métodos, en cualquier
        momento
                  Hasta los tipos básicos, como Class u
                  Object


                                                                     29
                                             04/10/2006       Confidentiel
Índice



 ¿Por qué surge Ruby on Rails?
 ¿Quiénes usan Ruby on Rails?
 Ruby el Corazón de Rails
 Ruby on Rails, el desarrollo ágil
 ¿Por donde empiezo?




                                                         30
                                     04/10/2006   Confidentiel
Ruby on Rails, el desarrollo ágil




“Se debe hacer todo tan sencillo como
   sea posible, pero no más sencillo.”


                              Albert Einstein




                                                                    31
                                                04/10/2006   Confidentiel
Ruby on Rails, el desarrollo ágil




                      ¿Qué es Ruby On Rails?


    “Ruby on Rails (RoR) es un entorno de desarrollo web de código
    abierto que está optimizado para la felicidad de los programadores y
    para la productividad sostenible. Permite escribir un código bello al
    favorecer la convención sobre la configuración.”
                                                    -- www.rubyonrails.org




                                                                               32
                                                 04/10/2006             Confidentiel
Ruby on Rails, el desarrollo ágil


                      Principios de Ruby on Rails


    DRY: Don’t Repeat Yourself (Once and Only Once)
        Cada cosa en su sitio
        Reducir duplicaciones en código, reduce posibilidad de errores


    COC: Convention Over Configuration
        El desarrollador sólo necesita definir configuraciones no convencionales
        Menor trabajo de desarrollo (scaffolding)
        Hace las aplicaciones web más sencillas de entender




                                                                                          33
                                                     04/10/2006                    Confidentiel
Ruby on Rails, el desarrollo ágil


                                 Nativo Web

    Desde la web para la web... con todas las consecuencias:


        Separación limpia presentación (Vista) negocio (Controlador)
        URLs limpias (“tecno-agnósticas”, usables, indexables...)
        El interfaz es el producto: AJAX, RJS, conexión con Flash (RIA)...
        Conectividad. Orientado a la “Web de Datos”: RSS, Web Services,
        SOAP, REST,...




                                                                                    34
                                                      04/10/2006             Confidentiel
Ruby on Rails, el desarrollo ágil


                        ¿Qué tiene de especial?


    Mejores prácticas “empaquetadas”


        Diseñado para la “felicidad” del programador
        Felicidad + Motivación = Productividad
        Entorno de tests y pruebas incluido
        Flexibilidad ante los cambios
        Velocidad de desarrollo (agilidad)
        Belleza del código




                                                                           35
                                                       04/10/2006   Confidentiel
Ruby on Rails, el desarrollo ágil
                     Un sitio para cada cosa

                          Aplicación
                                       Controladores
                                   Modelos
                                 Vistas




                                Público




                                                                           36
                                                       04/10/2006   Confidentiel
Ruby on Rails, el desarrollo ágil

                       3 entornos integrados




                                                             37
                                         04/10/2006   Confidentiel
Ruby on Rails, el desarrollo ágil


                MVC (Modelo Vista Controlador)




                                                            38
                                        04/10/2006   Confidentiel
Ruby on Rails, el desarrollo ágil


                   MVC (Modelo Vista Controlador)


      Modelo: Representación específica de la información. La lógica de datos
     asegura la integridad de estos y permite derivar nuevos datos.


      Vista: Presenta el modelo en un formato adecuado para interactuar,
     usualmente la interfaz de usuario.


      Controlador: Responde a eventos, usualmente acciones del usuario e invoca
     cambios en el modelo y probablemente en la vista.




                                                                                       39
                                                     04/10/2006                 Confidentiel
Ruby on Rails, el desarrollo ágil

                MVC (Modelo Vista Controlador)




                                                            40
                                        04/10/2006   Confidentiel
Ruby on Rails, el desarrollo ágil



                              Controlador
                             Action Controller



    Recibe las peticiones HTTP del usuario
        Modifica, si es necesario, el modelo según la petición
        Prepara la información a mostrar
        Selecciona plantilla (Vista) para presentar resultados o gestionar
        el diálogo




                                                                                41
                                                 04/10/2006              Confidentiel
Ruby on Rails, el desarrollo ágil



                                Modelo
                             Active Record




     Representa las tablas en la base de datos
        Declaración en los modelos, limpia y legible
        No es necesario indicar nombre de tablas
        Relacionados entre sí de manera predefinida
        Convenciones para reducir al mínimo el código
        ...aunque todo se puede personalizar, claro




                                                                    42
                                                04/10/2006   Confidentiel
Ruby on Rails, el desarrollo ágil



                                       Vista
                                    Action View


     Capa de presentación de la aplicación
         Plantillas generales (layouts)
             Escritas en Ruby (rhtml)
             Definen el aspecto base de las páginas que compondrán el sitio o
             aplicación web
             No afecta negativamente a la accesibilidad web
         XML, RSS en la vista
             Plantillas rxml
         Plantillas parciales (partials)
             Reutilización de fragmentos de plantillas (includes)




                                                                                       43
                                                      04/10/2006                Confidentiel
Ruby on Rails, el desarrollo ágil



                                   Modelo
                                Migraciones (I)


     Las Migraciones son maneras de modificar esquemas de BD desde Rails
         Se definen en clases autocontenidas
         Puden ser introducidas en el sistema de control de versiones
     Se pueden efectuar las siguientes operaciones:
         create_table
         drop_table
         rename_table
         add_column
         rename_column
         change_column
         remove_column
         add_index
         remove_index

                                                                                  44
                                                      04/10/2006           Confidentiel
Ruby on Rails, el desarrollo ágil



                                      Modelo
                                   Migraciones (II)


     Ejemplo: create_users.rb
      class CreateUsers < ActiveRecord::Migration
       def self.up
         create_table :users do |t|
          t.column :id, :integer
          t.column :username, :string
          t.column :password_salt, :string
          t.column :password_hash, :string
          t.column :email, :string
          t.column :created_at, :datetime
         end
       end
       def self.down
         drop_table :users
       end
      end
     rake db:migrate
                                                                          45
                                                      04/10/2006   Confidentiel
Ruby on Rails, el desarrollo ágil




                                  Scaffolding


     Scaffold = Andamio
         Crear una estructura inicial de la web
         Avance rápido
         Pruebas desde el primer momento del modelo y el controlador


                                             Librerías
                                            JavaScript
                                                            Tests
                       MVC                               integrados

                                Librerías
                                  Ruby



                                 SCAFFOLDING




                                                                              46
                                                          04/10/2006   Confidentiel
Índice



 ¿Por qué surge Ruby on Rails?
 ¿Quiénes usan Ruby on Rails?
 Ruby el Corazón de Rails
 Ruby on Rails, el desarrollo ágil
 ¿Por donde empiezo?




                                                         47
                                     04/10/2006   Confidentiel
¿Por donde empiezo?




 “No hay que empezar siempre por la
   noción primera de las cosas que se
     estudian, sino por aquello que
     puede facilitar el aprendizaje.”


                             Aristóteles




                                                               48
                                           04/10/2006   Confidentiel
¿Por donde empiezo?


  Lenguaje Rails:
     http://www.ruby-lang.org
  Ruby on Rails:
     http://www.rubyonrails.org/
     http://sobrerailes.com
     http://www.conferenciarails.org/




                                                            49
                                        04/10/2006   Confidentiel

Más contenido relacionado

Destacado

Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on RailsASPgems
 
Curso de Ruby on Rails para el Master de Deusto. Día 2
Curso de Ruby on Rails para el Master de Deusto. Día 2Curso de Ruby on Rails para el Master de Deusto. Día 2
Curso de Ruby on Rails para el Master de Deusto. Día 2estialvarez
 
Code Blast 2012 - Ruby on Rails v.2012
Code Blast 2012 - Ruby on Rails v.2012Code Blast 2012 - Ruby on Rails v.2012
Code Blast 2012 - Ruby on Rails v.2012INSIGNIA4U
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Rafael Franco
 
Curso TDD Ruby on Rails #01: Introducción al testing
Curso TDD Ruby on Rails #01: Introducción al testingCurso TDD Ruby on Rails #01: Introducción al testing
Curso TDD Ruby on Rails #01: Introducción al testingAlberto Perdomo
 

Destacado (7)

Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on Rails
 
Curso de Ruby on Rails para el Master de Deusto. Día 2
Curso de Ruby on Rails para el Master de Deusto. Día 2Curso de Ruby on Rails para el Master de Deusto. Día 2
Curso de Ruby on Rails para el Master de Deusto. Día 2
 
Taller ruby
Taller rubyTaller ruby
Taller ruby
 
Ruby Facil
Ruby FacilRuby Facil
Ruby Facil
 
Code Blast 2012 - Ruby on Rails v.2012
Code Blast 2012 - Ruby on Rails v.2012Code Blast 2012 - Ruby on Rails v.2012
Code Blast 2012 - Ruby on Rails v.2012
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011
 
Curso TDD Ruby on Rails #01: Introducción al testing
Curso TDD Ruby on Rails #01: Introducción al testingCurso TDD Ruby on Rails #01: Introducción al testing
Curso TDD Ruby on Rails #01: Introducción al testing
 

Similar a Introducción a Ruby on Rails: ¿Por qué surge

Introducción a Ruby on Rails
Introducción a Ruby on RailsIntroducción a Ruby on Rails
Introducción a Ruby on RailsDiego Algorta
 
CISLA2010 on Rails
CISLA2010 on RailsCISLA2010 on Rails
CISLA2010 on RailsAncorCruz
 
Introduccion al desarrollo de aplicaciones web con Ruby on Rails
Introduccion al desarrollo de aplicaciones web con Ruby on RailsIntroduccion al desarrollo de aplicaciones web con Ruby on Rails
Introduccion al desarrollo de aplicaciones web con Ruby on RailsAncorCruz
 
Ruby on Rails en NetBeans 6.1
Ruby on Rails en NetBeans 6.1Ruby on Rails en NetBeans 6.1
Ruby on Rails en NetBeans 6.1Felipe Cerda
 
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
 
Desarrollando KDevelop Ruby
Desarrollando KDevelop RubyDesarrollando KDevelop Ruby
Desarrollando KDevelop Rubykdeespana
 
WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails
WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on RailsWorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails
WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on RailsEdgar Suarez
 
"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
 
Ruby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpecRuby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpecDiacode
 

Similar a Introducción a Ruby on Rails: ¿Por qué surge (9)

Introducción a Ruby on Rails
Introducción a Ruby on RailsIntroducción a Ruby on Rails
Introducción a Ruby on Rails
 
CISLA2010 on Rails
CISLA2010 on RailsCISLA2010 on Rails
CISLA2010 on Rails
 
Introduccion al desarrollo de aplicaciones web con Ruby on Rails
Introduccion al desarrollo de aplicaciones web con Ruby on RailsIntroduccion al desarrollo de aplicaciones web con Ruby on Rails
Introduccion al desarrollo de aplicaciones web con Ruby on Rails
 
Ruby on Rails en NetBeans 6.1
Ruby on Rails en NetBeans 6.1Ruby on Rails en NetBeans 6.1
Ruby on Rails en NetBeans 6.1
 
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
 
Desarrollando KDevelop Ruby
Desarrollando KDevelop RubyDesarrollando KDevelop Ruby
Desarrollando KDevelop Ruby
 
WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails
WorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on RailsWorkshopCamp Mexico 09 - Uniendo los puntos con Ruby on Rails
WorkshopCamp Mexico 09 - Uniendo los puntos con 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"
 
Ruby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpecRuby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpec
 

Más de José Luis Palacios Alonso (11)

Comunicación y gestión cultural
Comunicación y gestión culturalComunicación y gestión cultural
Comunicación y gestión cultural
 
Artistic Cinema
Artistic CinemaArtistic Cinema
Artistic Cinema
 
Social media
Social mediaSocial media
Social media
 
Caleruega en internet
Caleruega en internetCaleruega en internet
Caleruega en internet
 
Twitter modo empleo
Twitter modo empleoTwitter modo empleo
Twitter modo empleo
 
SocialMedia TMM 2012
SocialMedia TMM 2012SocialMedia TMM 2012
SocialMedia TMM 2012
 
Whatsapp, modo de uso
Whatsapp, modo de usoWhatsapp, modo de uso
Whatsapp, modo de uso
 
Caleruega en Internet
Caleruega en InternetCaleruega en Internet
Caleruega en Internet
 
Presentacion Web20 TID
Presentacion Web20 TIDPresentacion Web20 TID
Presentacion Web20 TID
 
Análisis Solaris (1972)
Análisis Solaris (1972)Análisis Solaris (1972)
Análisis Solaris (1972)
 
Presentacion Planeta Ludico 2007
Presentacion Planeta Ludico 2007Presentacion Planeta Ludico 2007
Presentacion Planeta Ludico 2007
 

Último

Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 

Último (20)

Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 

Introducción a Ruby on Rails: ¿Por qué surge

  • 1. Seminario I: Confidentiel
  • 2. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 2 04/10/2006 Confidentiel
  • 3. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 3 04/10/2006 Confidentiel
  • 4. ¿Por qué surge Ruby on Rails? “Convertir las debilidades en fortalezas” Sun Tzu. El arte de la guerra 4 04/10/2006 Confidentiel
  • 5. ¿Por qué surge Ruby on Rails? ¿Cómo es un desarrollo web? Tarea 2 Tarea 5 Tarea 2 Tarea 1 Tarea 4 Tarea 3 Tarea 1 Tarea 1 Tarea 3 Tarea 6 5 04/10/2006 Confidentiel
  • 6. ¿Por qué surge Ruby on Rails? ¿Cómo es un desarrollo web? Limitaciones de Tiempo Limitaciones de Personas Limitaciones de Distancia Limitaciones Económicas Limitaciones de Recursos ¡Necesitamos atacar nuestras limitaciones! 6 04/10/2006 Confidentiel
  • 7. ¿Por qué surge Ruby on Rails? Proyecto “Lateral” Menos Personas Menos Tiempo Menos Presupuesto Más Creatividad Menos Código Menos Errores Más Productivo 7 04/10/2006 Confidentiel
  • 8. ¿Por qué surge Ruby on Rails? Del Producto al Framework Problemas reales, Soluciones reales 8 04/10/2006 Confidentiel
  • 9. ¿Por qué surge Ruby on Rails? Real basado en necesidades reales DRY eliminando tareas repetitivas COC adoptando convenciones Ágil abierto a cambios en desarrollo 9 04/10/2006 Confidentiel
  • 10. ¿Por qué surge Ruby on Rails? Filosofía del diseño de producto … 10 04/10/2006 Confidentiel
  • 11. ¿Por qué surge Ruby on Rails? ¡Comienza por la interfaz! Una especificación funcional no es funcional Ni es clara, ni describe lo que quieres 11 04/10/2006 Confidentiel
  • 12. ¿Por qué surge Ruby on Rails? ¡Comienza por la Experiencia de Usuario! Diseña Prototipa Experimenta Cambia Aclara y repite 12 04/10/2006 Confidentiel
  • 13. ¿Por qué surge Ruby on Rails? Get Real! No se puede hacer clic en papel o en diagramas 13 04/10/2006 Confidentiel
  • 14. ¿Por qué surge Ruby on Rails? “Ruby on Rails es un avance en la reducción de barreras de entrada a la programación. Potentes aplicaciones web que antes podrían tardar semanas o meses en ser desarrolladas pueden ser creadas en cuestión de días.” -Tim O'Reilly, Fundador de O'Reilly Media 14 04/10/2006 Confidentiel
  • 15. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 15 04/10/2006 Confidentiel
  • 16. ¿Quiénes usan Ruby on Rails? “El progreso y el desarrollo son imposibles si uno sigue haciendo las cosas tal como siempre las ha hecho.” Wayne W. Dyer 16 04/10/2006 Confidentiel
  • 17. ¿Quiénes usan Ruby on Rails? Twitter 17 04/10/2006 Confidentiel
  • 18. ¿Quiénes usan Ruby on Rails? La Coctelera 18 04/10/2006 Confidentiel
  • 19. ¿Quiénes usan Ruby on Rails? Jazztelia 19 04/10/2006 Confidentiel
  • 20. ¿Quiénes usan Ruby on Rails? Yellow Pages 20 04/10/2006 Confidentiel
  • 21. ¿Quiénes usan Ruby on Rails? 43 things 21 04/10/2006 Confidentiel
  • 22. ¿Quiénes usan Ruby on Rails? Tractis 22 04/10/2006 Confidentiel
  • 23. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 23 04/10/2006 Confidentiel
  • 24. Ruby el Corazón de Rails “Quien no ha probado lo amargo, no sabe lo que es dulce” PROVERBIO ALEMÁN 24 04/10/2006 Confidentiel
  • 25. Ruby el Corazón de Rails Los idiomas influyen (¿determinan?) la manera de pensar de las personas Los lenguajes, la de los programadores Ruby • Cercano a nuestra forma de pensar • Lo cual da una experiencia mejor • ¡Es divertido! • Te hace sentir inteligente 25 04/10/2006 Confidentiel
  • 26. Ruby el Corazón de Rails Ruby: lenguaje de programación orientado a objetos Basado en lenguaje natural Ayuda al pensamiento humano Usable: fácil de aprender Eficiente: menos líneas de código Felicidad: mejora la experiencia del programador Comunidad muy activa 26 04/10/2006 Confidentiel
  • 27. Ruby el Corazón de Rails La estética del diseño japonés Minimalista Foco en factores humanos Principio de la menor sorpresa Principio supremo en el diseño de Ruby Hace felices a los programadores Hace Ruby mas fácil de aprender Principio de lo sucinto • No malgastar tiempo en ficheros de configuración, getters, setters, etc. • Cuanto mas rápido programas, más consigues • Less Code: menos código, menos errores, menor coste de mantenimiento 27 04/10/2006 Confidentiel
  • 28. Ruby el Corazón de Rails Orientado a Objetos TODAS las clases heredan de Object, incluso Class NO hay primitivas Ruby usa herencia simple (herencia múltiple mixings) Los módulos añaden comportamientos a las clases Los operadores ‘+’ y ‘-’ son métodos 28 04/10/2006 Confidentiel
  • 29. Ruby el Corazón de Rails Lenguaje Dinámico No hay diferencia entre ‘tiempo de compilación’ y ‘tiempo de ejecución’ Se pueden crear y modificar clases, redefinir o añadir métodos, en cualquier momento Hasta los tipos básicos, como Class u Object 29 04/10/2006 Confidentiel
  • 30. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 30 04/10/2006 Confidentiel
  • 31. Ruby on Rails, el desarrollo ágil “Se debe hacer todo tan sencillo como sea posible, pero no más sencillo.” Albert Einstein 31 04/10/2006 Confidentiel
  • 32. Ruby on Rails, el desarrollo ágil ¿Qué es Ruby On Rails? “Ruby on Rails (RoR) es un entorno de desarrollo web de código abierto que está optimizado para la felicidad de los programadores y para la productividad sostenible. Permite escribir un código bello al favorecer la convención sobre la configuración.” -- www.rubyonrails.org 32 04/10/2006 Confidentiel
  • 33. Ruby on Rails, el desarrollo ágil Principios de Ruby on Rails DRY: Don’t Repeat Yourself (Once and Only Once) Cada cosa en su sitio Reducir duplicaciones en código, reduce posibilidad de errores COC: Convention Over Configuration El desarrollador sólo necesita definir configuraciones no convencionales Menor trabajo de desarrollo (scaffolding) Hace las aplicaciones web más sencillas de entender 33 04/10/2006 Confidentiel
  • 34. Ruby on Rails, el desarrollo ágil Nativo Web Desde la web para la web... con todas las consecuencias: Separación limpia presentación (Vista) negocio (Controlador) URLs limpias (“tecno-agnósticas”, usables, indexables...) El interfaz es el producto: AJAX, RJS, conexión con Flash (RIA)... Conectividad. Orientado a la “Web de Datos”: RSS, Web Services, SOAP, REST,... 34 04/10/2006 Confidentiel
  • 35. Ruby on Rails, el desarrollo ágil ¿Qué tiene de especial? Mejores prácticas “empaquetadas” Diseñado para la “felicidad” del programador Felicidad + Motivación = Productividad Entorno de tests y pruebas incluido Flexibilidad ante los cambios Velocidad de desarrollo (agilidad) Belleza del código 35 04/10/2006 Confidentiel
  • 36. Ruby on Rails, el desarrollo ágil Un sitio para cada cosa Aplicación Controladores Modelos Vistas Público 36 04/10/2006 Confidentiel
  • 37. Ruby on Rails, el desarrollo ágil 3 entornos integrados 37 04/10/2006 Confidentiel
  • 38. Ruby on Rails, el desarrollo ágil MVC (Modelo Vista Controlador) 38 04/10/2006 Confidentiel
  • 39. Ruby on Rails, el desarrollo ágil MVC (Modelo Vista Controlador) Modelo: Representación específica de la información. La lógica de datos asegura la integridad de estos y permite derivar nuevos datos. Vista: Presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario. Controlador: Responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista. 39 04/10/2006 Confidentiel
  • 40. Ruby on Rails, el desarrollo ágil MVC (Modelo Vista Controlador) 40 04/10/2006 Confidentiel
  • 41. Ruby on Rails, el desarrollo ágil Controlador Action Controller Recibe las peticiones HTTP del usuario Modifica, si es necesario, el modelo según la petición Prepara la información a mostrar Selecciona plantilla (Vista) para presentar resultados o gestionar el diálogo 41 04/10/2006 Confidentiel
  • 42. Ruby on Rails, el desarrollo ágil Modelo Active Record Representa las tablas en la base de datos Declaración en los modelos, limpia y legible No es necesario indicar nombre de tablas Relacionados entre sí de manera predefinida Convenciones para reducir al mínimo el código ...aunque todo se puede personalizar, claro 42 04/10/2006 Confidentiel
  • 43. Ruby on Rails, el desarrollo ágil Vista Action View Capa de presentación de la aplicación Plantillas generales (layouts) Escritas en Ruby (rhtml) Definen el aspecto base de las páginas que compondrán el sitio o aplicación web No afecta negativamente a la accesibilidad web XML, RSS en la vista Plantillas rxml Plantillas parciales (partials) Reutilización de fragmentos de plantillas (includes) 43 04/10/2006 Confidentiel
  • 44. Ruby on Rails, el desarrollo ágil Modelo Migraciones (I) Las Migraciones son maneras de modificar esquemas de BD desde Rails Se definen en clases autocontenidas Puden ser introducidas en el sistema de control de versiones Se pueden efectuar las siguientes operaciones: create_table drop_table rename_table add_column rename_column change_column remove_column add_index remove_index 44 04/10/2006 Confidentiel
  • 45. Ruby on Rails, el desarrollo ágil Modelo Migraciones (II) Ejemplo: create_users.rb class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.column :id, :integer t.column :username, :string t.column :password_salt, :string t.column :password_hash, :string t.column :email, :string t.column :created_at, :datetime end end def self.down drop_table :users end end rake db:migrate 45 04/10/2006 Confidentiel
  • 46. Ruby on Rails, el desarrollo ágil Scaffolding Scaffold = Andamio Crear una estructura inicial de la web Avance rápido Pruebas desde el primer momento del modelo y el controlador Librerías JavaScript Tests MVC integrados Librerías Ruby SCAFFOLDING 46 04/10/2006 Confidentiel
  • 47. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 47 04/10/2006 Confidentiel
  • 48. ¿Por donde empiezo? “No hay que empezar siempre por la noción primera de las cosas que se estudian, sino por aquello que puede facilitar el aprendizaje.” Aristóteles 48 04/10/2006 Confidentiel
  • 49. ¿Por donde empiezo? Lenguaje Rails: http://www.ruby-lang.org Ruby on Rails: http://www.rubyonrails.org/ http://sobrerailes.com http://www.conferenciarails.org/ 49 04/10/2006 Confidentiel