Ruby & Ruby on Rails

Ruby es un lenguaje de programación totalmente orientado a objetos multiplataforma (lenguaje interpretado y de scripts), su sintaxis es muy parecida a lenguajes como Perl o Python.

RoR (Ruby on Rails), es un framework de aplicaciones web de código abierto, en Ruby, que sigue el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración. El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Rails se distribuye a través de RubyGems, que es el formato oficial de paquete y canal de distribución de bibliotecas y aplicaciones Ruby.


Los principios fundamentales de Ruby on Rails:

• No te repitas, significa que las definiciones deberían hacerse una sola vez. Dado que Ruby on Rails es un framework de pila completa, los componentes están integrados de manera que no hace falta establecer puentes entre ellos.

• Convención sobre configuración, significa que el programador sólo necesita definir aquella configuración que no es convencional. Así, cuando se diseña una aplicación partiendo de cero sin una base de datos preexistente, el seguir las convenciones de Rails significa usar menos código (aunque el comportamiento puede ser configurado si el sistema debe ser compatible con un sistema heredado anterior).

 

Al igual que muchos otros Frameworks, Rails nos permite instalar librerías y bibliotecas llamadas gemas, son plugins y/o códigos añadidos a nuestros proyectos, que nos permiten nuevas funcionalidades, como nuevos create, nuevas funciones predefinidas (como login de usuarios) o nuevas herramientas para el desarrollo como puedan ser Haml y SASS (la primera es una nueva forma de template basada en html pero más sencilla y potente, y la segunda es igual pero para el caso de las CSS).

Video: https://youtu.be/VPor5ErX_90