El blog de ASPgems

Siguiendo el día a día de ASPgems

Descifrando Ruby on Rails con Ángela Barriga

Angela

El pasado viernes 10 de marzo, nuestra compañera Ángela Barriga -una de las última incorporación a ASPgems- compartió con todos nosotros, tras dos meses como desarrolladora, su experiencia con Ruby on Rails y nos dio su opinión y consejos sobre cómo una ‘novata’ da sus primeros pasos en una herramienta como esta. Nos comentó que la curva de aprendizaje es elevada al principio por cómo trata los componentes y cómo los comunica entre sí, pero que cuenta con una comunidad open-source muy activa que facilita su aprendizaje. Sería recomendable, en palabras de Ángela, contar con algunos rudimentos de Scripting y MVC para facilitar las cosas, pero no son imprescindibles ya que se pueden ir adquiriendo con su uso.

Para Ángela lo primero es entender la estructura de ficheros y el flujo de ejecución que sigue Rails, cómo se comunican los datos, etc. Partiendo desde un ejemplo sencillo, desde cero, y crear modelo, vista, controlador... Se aprende más jugando con ejemplos pequeños o con proyectos más grandes que centrarnos en la teoría pura y dura. La clave está en ir tocando y jugando con el lenguaje, analizando qué cambios se van produciendo y cuál es el funcionamiento que hay detrás.

 

 

 

 

Ruby on Rails podemos dividirlo en tres dimensiones: Ruby es un lenguaje de programación independiente sobre el que está construido el framework de rails; Y Rails es un framework de desarrollo web escrito en Ruby. Este framework se nutre de gemas, que son aplicaciones ruby en forma de paquete y desde donde puedes coger funcionalidades de estas gemas, librerías a parte, e incluirlas en tu proyecto.

La idea principal de Rails es facilitar la programación de aplicaciones web. Uno de sus principales defectos, en la opinión de Ángela, es que da demasiadas cosas por hecho, elementos que no tiene que implementar el propio programador, lo que puede resultar algo complicado a la hora de ver el código. La parte buena es que permite tener que escribir menos códigos y se es más productivo que con otros lenguajes, pero hay que acostumbrarse, pues todas las tareas básicas van hechas por detrás y el programador no las tiene que añadir, son procesos que se hacen automáticamente.

 

¿Cúal es la Filosofía de Rails?

 

Para comprender adecuadamente esta tecnología hay que controlar el Modelo Vista-Controlador, el navegador te hará una petición de una ruta y ésta buscará en un fichero de configuración rails que se llama Router, que te dirá a qué fichero HTLM o qué operación tiene que realizar en caso de que el usuario pida una ruta determinada. Como se muestra en la siguiente ilustración:

 

 

El Flujo que sigue Rails, basado en el patrón modelo vista-controlador,  podemos dividirlo en:

 

-Vistas, que se subdivide en Partials (trozos pequeños de la vista, que carga los contenidos concretos), y Helpers (operaciones que se definen para las vistas y los partials).

-Controladores, intermediarios entre las vistas y los modelos, en el que existen unos Controller Filters (que hacen más específicas pequeñas cosas de los controladores) y los  Aplication Controller (general para toda la aplicación y son controles generales

-Modelos, consistentes en la base de datos y cómo se van a transmitir eso a la aplicación. También se pueden crear Model Filters para pequeñas cosas más concretas.

 

 

Ruby on Rails tiene una estructura general dividida en ficheros con bastantes carpetas, siendo las más importantes App, donde están desplegadas todas la carpetas que vemos a la izquierda donde -assets, controllers, datatables, helpers, etc.- y Config, en la que encontramos el fichero route, que hemos mencionado anteriormente y otros ficheros de configuración.

 

 

Rails también funciona con componentes individuales que se encargan de todo lo que se encargan de todas las opercionae que se vana haciendo por detrás, aunque el programador puede modificarlas:

-Action Pack (Action Controller, Action Dispatch y Action View)

-Action Mailer

 

-Active Model

 

-Active Record

 

-Active Resource

 

-Active Support

 

-Railties

 

 

 

Como nos explicó Ángela, existen multitud de tutoriales y recursos para todos aquellos que deseen comenzar con este lenguaje, alguno de ellos incluso gamificados:

Para Ruby:

 

Para Ruby on Rails:

 

Al final de su intervención nos facilitó un ejemplo práctico en que se ponían en práctica todos estos elementos y que se puede ver al final de su intervención, cuyo vídeo está en nuestro canal de Youtube: https://www.youtube.com/watch?v=DaEoNYb1ExU

¡Enhorabuena por tu exposición y muchas gracias, Ángela!

 

Puedes descargarte las slides aqui.

 
AdjuntoTamaño
Icono PDF descifrando_ror_aspgems.pdf33.77 KB

Añadir nuevo comentario

Desarrollo en Ruby on Rails

Desarrollo en Ruby on Rails
Más de 8 años de experiencia en Rails.

Etiquetas

Artículos relacionados

Nuestra revista

View my Flipboard Magazine