SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
¿Qué es Ruby on Rails?
A web-application framework than includes everything needed to create

database-backend web application according to the 

Model-View-Controller (MVC)
Filosofía
• Don’t Repeat Yourself (DRY)

• Convention Over Configuration
Datos curiosos
• Es un Framework de código abierto

• Lanzado en el 2005 (Tiene más de 15 años)

• Basado en Ruby ❤
Ventajas & Desventajas
• Prototipado Rápido 

• Simplicidad en código

• Entorno amigable

• Se necesita aprender Ruby

• Castigado en popularidad

• Basado en lenguaje interpretado
¿Quién usa Ruby on Rails?
MVC
• M - Model

• V - View

• C - Controller

Es un patrón para desarrollar software que separa los datos de una
aplicación en 3 simples capas.
Model
Contiene una representación de los datos que maneja nuestro sistema.

Tareas principales:

• Acceder a la capa de almacenamiento de datos.

• Define las reglas del negocio
View
La vista ó interfaz de usuario, este compone la información que será
mostrada al cliente y los mecanismos de interacción con éste.

Tareas principales:

• Recibir datos del modelo y mostrarlos al usuario.

• Realizar nuevas solicitudes
Controller
Actúa como intermediario entre el Modelo y la Vista. Gestionando el
flujo de información entre ellos.

Tareas principales:

• Traducir eventos de entrada.

• Contiene la gestión de cada característica dentro de la aplicación
Flujo del MVC
Flujo del MVC en Rails
Active Record
El mapeo relacional de objetos ó comúnmente conocido con su
abreviatura ORM, es una técnica que conecta objetos con tablas
dentro de una base de datos.

Gracias a esto podemos recuperar fácilmente propiedades y relaciones
sin necesidad de definir SQL
Modelo
• El modelo dentro del MCV es el responsable de representar la lógica y
los datos. Y la tarea de ActiveRecord es facilitar el uso de objetos que
necesitamos almacenar dentro de nuestra base de datos
Convención de Nombres
De forma predeterminada ActiveRecord utiliza algunas convenciones
para saber cómo debe crear las asignación entre modelos y tablas dentro
de nuestra base de datos. 

Rails pluraliza los nombres de las clases para encontrar la tabla dentro
de la base de datos.

Modelo: User

Tabla: users

Modelo: BookClub

Tabla: book_clubs
Assets & Layout
The Asset Pipeline
Nos provee un conjunto de herramientas para comprimir ó minificar assets 

CSS y JavaScript. También agrega la habilidad de poder escribir estos

Assets en otros lenguajes y pre-procesadores tales como CoffeScript, Sass 

Y ERB.
The Asset Pipeline
Es implementado por la gema sprockets-rails y esta activada por defecto.

Pero podríamos desactivarla pasando el flag - - skip-sprokets como opción.

rails new app —skip-sprokets
The Asset Pipeline
Rails automáticamente o por defecto agrega la gema sass-rails en nuestro
Gemfile para que esta sea utilizada por Sprockets para la compresión de
assets.
Main Features
El primer feature del pipeline es concatenar assets, y así poder reducir el
número de peticiones que se hacen al intentar renderizar la página web.
master.css
footer.css
profile.css
navbar.css
master.js
modal.js request.js
Main Features
Minificación ó compresion. Para los archivos css es suficiente con remover
espacios en blanco y comentarios. Para JavaScript pueden aparecer procesos
un tanto más complejos.
master.css master.js
Main Features
La ultima característica es permitirnos escribir código utilizando lenguajes de
nivel superior. Dentro de los lenguajes permitidos encontramos a Sass para
CSS y CoffeScript para JavaScript
Layouts con ERB
Por defecto todas las vistas utilizan el layout
ubicado en: 

app/views/layouts/application.html.erb

Y todas las modificaciones que hagamos en
este template se aplicaran a todas las vistas.
Custom Layouts
class PagesController < ApplicationController

layout ‘my_nuevo_layout’

end

class PagesController < ApplicationController

layout ‘my_nuevo_layout’, only: [:index]

end
Webpacker
+
Webpacker

Más contenido relacionado

La actualidad más candente

Dn11 u3 a40_ccl
Dn11 u3 a40_cclDn11 u3 a40_ccl
Dn11 u3 a40_ccl
LaaowW
 

La actualidad más candente (17)

CursoPHP Nivel 1: Basic - Programa
CursoPHP Nivel 1: Basic - ProgramaCursoPHP Nivel 1: Basic - Programa
CursoPHP Nivel 1: Basic - Programa
 
Usando plsq
Usando plsqUsando plsq
Usando plsq
 
Nombre
NombreNombre
Nombre
 
¿Que es javascript y Modulos?
¿Que es javascript y Modulos?¿Que es javascript y Modulos?
¿Que es javascript y Modulos?
 
dotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarialdotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarial
 
Lenguaje de programacion con so
Lenguaje de programacion con soLenguaje de programacion con so
Lenguaje de programacion con so
 
Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.
 
Oracle Web Util
Oracle Web UtilOracle Web Util
Oracle Web Util
 
Asp
AspAsp
Asp
 
Desarrollo en oracle a bajo costo apex
Desarrollo en oracle a bajo costo   apexDesarrollo en oracle a bajo costo   apex
Desarrollo en oracle a bajo costo apex
 
Presentacion sobre asp
Presentacion sobre aspPresentacion sobre asp
Presentacion sobre asp
 
Entornos apex onpremise
Entornos apex onpremiseEntornos apex onpremise
Entornos apex onpremise
 
Asp .net
Asp .netAsp .net
Asp .net
 
Dn11 u3 a40_ccl
Dn11 u3 a40_cclDn11 u3 a40_ccl
Dn11 u3 a40_ccl
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Mysql
MysqlMysql
Mysql
 
Framework
FrameworkFramework
Framework
 

Similar a Ruby on Rails

Presentación html5
Presentación html5Presentación html5
Presentación html5
aydimdagam
 

Similar a Ruby on Rails (20)

Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)
 
Framework
FrameworkFramework
Framework
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
Framework
FrameworkFramework
Framework
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Presentación html5
Presentación html5Presentación html5
Presentación html5
 
Framework
FrameworkFramework
Framework
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Sistema.inventario@hotmail.com
Sistema.inventario@hotmail.comSistema.inventario@hotmail.com
Sistema.inventario@hotmail.com
 
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
 
Framework
FrameworkFramework
Framework
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Sesión 09: Desarrollo de Apps Web con Bsp en SAP
Sesión 09: Desarrollo de Apps Web con Bsp en SAPSesión 09: Desarrollo de Apps Web con Bsp en SAP
Sesión 09: Desarrollo de Apps Web con Bsp en SAP
 
JDBC
JDBCJDBC
JDBC
 
Java Web - Introduccion
Java Web - IntroduccionJava Web - Introduccion
Java Web - Introduccion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Framework
FrameworkFramework
Framework
 

Ruby on Rails

  • 1. ¿Qué es Ruby on Rails? A web-application framework than includes everything needed to create database-backend web application according to the Model-View-Controller (MVC)
  • 2. Filosofía • Don’t Repeat Yourself (DRY) • Convention Over Configuration
  • 3. Datos curiosos • Es un Framework de código abierto • Lanzado en el 2005 (Tiene más de 15 años) • Basado en Ruby ❤
  • 4. Ventajas & Desventajas • Prototipado Rápido • Simplicidad en código • Entorno amigable • Se necesita aprender Ruby • Castigado en popularidad • Basado en lenguaje interpretado
  • 5. ¿Quién usa Ruby on Rails?
  • 6. MVC • M - Model • V - View • C - Controller Es un patrón para desarrollar software que separa los datos de una aplicación en 3 simples capas.
  • 7. Model Contiene una representación de los datos que maneja nuestro sistema. Tareas principales: • Acceder a la capa de almacenamiento de datos. • Define las reglas del negocio
  • 8. View La vista ó interfaz de usuario, este compone la información que será mostrada al cliente y los mecanismos de interacción con éste. Tareas principales: • Recibir datos del modelo y mostrarlos al usuario. • Realizar nuevas solicitudes
  • 9. Controller Actúa como intermediario entre el Modelo y la Vista. Gestionando el flujo de información entre ellos. Tareas principales: • Traducir eventos de entrada. • Contiene la gestión de cada característica dentro de la aplicación
  • 11. Flujo del MVC en Rails
  • 12. Active Record El mapeo relacional de objetos ó comúnmente conocido con su abreviatura ORM, es una técnica que conecta objetos con tablas dentro de una base de datos. Gracias a esto podemos recuperar fácilmente propiedades y relaciones sin necesidad de definir SQL
  • 13. Modelo • El modelo dentro del MCV es el responsable de representar la lógica y los datos. Y la tarea de ActiveRecord es facilitar el uso de objetos que necesitamos almacenar dentro de nuestra base de datos
  • 14. Convención de Nombres De forma predeterminada ActiveRecord utiliza algunas convenciones para saber cómo debe crear las asignación entre modelos y tablas dentro de nuestra base de datos. Rails pluraliza los nombres de las clases para encontrar la tabla dentro de la base de datos. Modelo: User Tabla: users Modelo: BookClub Tabla: book_clubs
  • 16. The Asset Pipeline Nos provee un conjunto de herramientas para comprimir ó minificar assets CSS y JavaScript. También agrega la habilidad de poder escribir estos Assets en otros lenguajes y pre-procesadores tales como CoffeScript, Sass Y ERB.
  • 17. The Asset Pipeline Es implementado por la gema sprockets-rails y esta activada por defecto. Pero podríamos desactivarla pasando el flag - - skip-sprokets como opción. rails new app —skip-sprokets
  • 18. The Asset Pipeline Rails automáticamente o por defecto agrega la gema sass-rails en nuestro Gemfile para que esta sea utilizada por Sprockets para la compresión de assets.
  • 19. Main Features El primer feature del pipeline es concatenar assets, y así poder reducir el número de peticiones que se hacen al intentar renderizar la página web. master.css footer.css profile.css navbar.css master.js modal.js request.js
  • 20. Main Features Minificación ó compresion. Para los archivos css es suficiente con remover espacios en blanco y comentarios. Para JavaScript pueden aparecer procesos un tanto más complejos. master.css master.js
  • 21. Main Features La ultima característica es permitirnos escribir código utilizando lenguajes de nivel superior. Dentro de los lenguajes permitidos encontramos a Sass para CSS y CoffeScript para JavaScript
  • 22. Layouts con ERB Por defecto todas las vistas utilizan el layout ubicado en: app/views/layouts/application.html.erb Y todas las modificaciones que hagamos en este template se aplicaran a todas las vistas.
  • 23. Custom Layouts class PagesController < ApplicationController layout ‘my_nuevo_layout’ end class PagesController < ApplicationController layout ‘my_nuevo_layout’, only: [:index] end