Está en la página 1de 6

4/3/22, 10:29 Por qué me enamoré de Ruby on Rails

INICIAR SESIÓN Menú

< Blog

Por qué me enamoré de Ruby on Rails


2

rbarrera87 4438 Puntos  hace 7 años

El desarrollo de software se ha convertido en algo indispensable. Es casi


imposible pensar en alguna empresa y/o producto que no tenga algún tipo de
desarrollo.
Bajo esta tendencia, se vienen muchos lenguajes de programación y
frameworks para el desarrollo. No voy a entrar en el debate de la muerte de qué
framework es mejor que otro. En su lugar, hablaré del por qué me enamoré de
Ruby on Rails.

El Lenguaje

Ruby es un lenguaje hermoso y se centraliza, según su creador Matz, en la


productividad y en la felicidad del developer. No voy a meterme en más detalles,
mejor mira su código:

paises = %w[mexico usa cuba espana]

paises_visitados = %w[mexico usa]

puts "Los paises que no he visitado son: #{(paises-paises_visitados).join(",


#=> Los paises que no he visitado son: cuba, espana</code><code class="langua

#un loop en single line

(0..10).each{|n| puts n}

#=>012345678910
Share
2

https://platzi.com/blog/caracteristicas-ruby-on-rails/?gclid=CjwKCAiAjoeRBhAJEiwAYY3nDG0Rn9YQLaBBq_7yEUyYJywX3aW9uQywFgNP0K-m… 1/6
4/3/22, 10:29 Por qué me enamoré de Ruby on Rails

#Ah! era menor o igual… ok!

(0...10).each{|n| puts n}

#=> 0123456789

Ahora algo de rails

orders = Order.all

orders.each do |order|

#Quiero saber qué productos son los que han estado en orders

puts “Los productos que se encuentran en la orden # #{order.number} son #{o


end

¿No es hermoso?

La consola de Rails

La consola que tiene Rails te ayuda a probar toooodo lo que tienes en tu


aplicación antes de ejecutarlo en el browser. Esto hace que el debug sea mucho
más fácil. El código de arriba, por ejemplo, lo puedo copiar y pegar en la consola
de Rails y ejecutarlo ahí.

Generators ¡oh grandiosos generators!

RoR incluye un grupo de comandos que funcionan directamente en la terminal.


Algunos de ellos son los generators. Estos te ayudan a generar código por ti
mismo. Por ejemplo, si quieres crear un controller:

$ rails generate controller products index new update create

A diferencia de que si se creara de manera manual, esto no sólo te crea el


controller; sino que genera el esqueleto (con los métodos index, new, update y
create) de las vistas, de las rutas, de los assets y de las pruebas necesarias. Los
generators disponibles los puedes obtener corriendo rails generate (o rails g que
es un alias).

Migrations FTW
Share
2

https://platzi.com/blog/caracteristicas-ruby-on-rails/?gclid=CjwKCAiAjoeRBhAJEiwAYY3nDG0Rn9YQLaBBq_7yEUyYJywX3aW9uQywFgNP0K-m… 2/6
4/3/22, 10:29 Por qué me enamoré de Ruby on Rails

Una de las cosas mas complicadas de hacer cuando se trabaja con aplicaciones de
medianas a grandes, es cambiar el engine en las bases de datos. Esto debido a
que no hay un standard en los queries. O sea que los queries de la creación de
tablas, inserts, selects, etc, no son los mismos en los diferentes engines. Y para
esto sirven las migraciones.
Cuando se crea una migración, se genera un archivo
en Ruby para efectuar los cambios en la base de datos. Lo que hace Rails de
manera interna es convertir ese código en Ruby a código de SQL del engine que
se esté utilizando. Esto quiere decir que cambiar de engine y generar la
estructura de la Base de datos con sus tablas es tan fácil como cambiar una línea
de código: cambiar MySql por PostgreSQL.

ORM

Rails contiene un ORM que te permite olvidarte de los tediosos queries. En el


pasado, si querías cambiar de engine de base de datos tenías que cambiar los
queries también. Para contrarrestar esto, Ruby tiene el ActiveRecord, que mapea
todos los campos de tus tablas a tus modelos y que te permite hacer algo como
esto:

#actualizar precio de producto con el nombre "macbook pro"

producto = Product.find_by_name("macbook pro")

producto.price = 50.50

producto.save!

O lo puedes hacer en menos código (una línea):

Product.find_by_name("macbook pro").update_attributes!(price: 50.50)

Convention Over Configuration

Esto es un principio básico de RoR que te obliga a enfocarte en lo que importa.


Este enfoque suele ser la productividad de lo que estás desarrollando. Esto con el
objetivo de no perder el tiempo con configuraciones.
Un ejemplo claro se observa
cuando generas un modelo en Rails. El código se ve así:

Share
2

https://platzi.com/blog/caracteristicas-ruby-on-rails/?gclid=CjwKCAiAjoeRBhAJEiwAYY3nDG0Rn9YQLaBBq_7yEUyYJywX3aW9uQywFgNP0K-m… 3/6
4/3/22, 10:29 Por qué me enamoré de Ruby on Rails

class Person < ActiveRecord::Base

end

Ese es un modelo. (Sí, ¡en serio!) Internamente, Rails sabe que esa clase debe
estar enlazada con una tabla en la base de datos que se llama people (el plural
del nombre del modelo). De la misma manera, puedes aplicar cualquier método
del ActiveRecord: find, where, select, last, first, etc.
Existen muchas otras cosas
más que me gustan de RoR; y no me alcanza un post para enunciarlas todas. El
Curso profesional de Ruby on Rails de Platzi te lleva sobre el maravilloso
recorrido del aprendizaje de RoR. Si lo tomas, seguro te vas a enamorar de este
maravilloso framework como yo.

Ricardo Barrera
rbarrera87 4438 Puntos  hace 7 años Todas sus entradas

    Insertar código  Enlace  Imagen   

Suma tu comentario +2 

jhonjairocardozo 1857 Puntos  4 años


0 Excelente post.

Entradas relacionadas

130

Qué roles hay en el UX design Share


2

https://platzi.com/blog/caracteristicas-ruby-on-rails/?gclid=CjwKCAiAjoeRBhAJEiwAYY3nDG0Rn9YQLaBBq_7yEUyYJywX3aW9uQywFgNP0K-m… 4/6
4/3/22, 10:29 Por qué me enamoré de Ruby on Rails

El ámbito de la experiencia de usuario está compuesto por muchos roles profesionales diferentes
y cada uno cumple un papel importante en el

torresburriel

84

¡Sé parte de los E-Buddies de Platzi!

Si alguna vez has estudiado inglés sabrás que practicarlo es algo fundamental, de nada sirve tener
toda la teoría si no puedes poner en prác

susana_landgrave

115

Platzi English Academy: Leave vs. live, pronunciation training

“I speak English, but I have difficulty understanding native speakers”. Many of us have felt this
way before, and this happens because there

CesarCordero

Transformamos la economía de nuestros países entrenando a la próxima generación de


profesionales en tecnología.

Aprende en nuestras redes:

   

Inglés

Negocios y Emprendimiento

Startups

Marketing

Habilidades Blandas

Diseño y UX
Share
2
Contenido Digital
https://platzi.com/blog/caracteristicas-ruby-on-rails/?gclid=CjwKCAiAjoeRBhAJEiwAYY3nDG0Rn9YQLaBBq_7yEUyYJywX3aW9uQywFgNP0K-m… 5/6
4/3/22, 10:29 Por qué me enamoré de Ruby on Rails

Desarrollo e Ingeniería

Certificadores oficiales en tecnologías

Reconocidos y premiados por

Entérate de todas las novedades en educación, negocios y tecnología

Ingresa tu correo electrónico Suscríbete

Preguntas frecuentes Contáctanos Prensa Conferencias Términos y Condiciones Privacidad Estudiantes Hola

Trabaja con nosotros

PT

De LATAM con  para el mundo

Share
2

https://platzi.com/blog/caracteristicas-ruby-on-rails/?gclid=CjwKCAiAjoeRBhAJEiwAYY3nDG0Rn9YQLaBBq_7yEUyYJywX3aW9uQywFgNP0K-m… 6/6

También podría gustarte