Lleva tu carrera a otro nivel por menos de 1 dólar al día.

Desarrollo Web Backend con Ruby on Rails
Ruta de aprendizaje

Desarrollo Web Backend con Ruby on Rails

Ruby on Rails es una tecnología que le permite a los desarrolladores crear aplicaciones web de forma rápida y efectiva.
Con esta ruta de aprendizaje serás capaz de usar Ruby on Rails para desarrollar aplicaciones web rápidamente y crear APIs capaces de interconectar tu aplicación con el mundo.

Regístrate en Platzi

Estados unidos

Ruby on Rails es una tecnología que le permite a los desarrolladores crear aplicaciones web de forma rápida y efectiva.
Básico

Básico

Básico
Básico
Curso de Programación Orientada a Objetos: POO

Curso de Programación Orientada a Objetos: POO

Curso de Ruby

Curso de Ruby

Intermedio

Intermedio

Avanzado
Avanzado
Fundamentos de Bases de Datos

Fundamentos de Bases de Datos

Curso de API REST

Curso de API REST

Curso de Creación de APIs con Ruby on Rails

Curso de Creación de APIs con Ruby on Rails

Retos de Pensamiento Lógico y Programación

Avanzado

Avanzado

Avanzado
Avanzado
Curso de Buenas Prácticas para Escritura de Código

Curso de Buenas Prácticas para Escritura de Código

Platzi Blog WebAPP

Cursos Complementarios

Cursos Complementarios

Opcional
Opcional
Curso de Administración de Servidores Linux

Curso de Administración de Servidores Linux

Curso de DevOps con GitLab

Curso de DevOps con GitLab

Curso de Fundamentos de Pruebas de Software

Curso de Fundamentos de Pruebas de Software

Deploy de Magento en DigitalOcean

¿Qué es y porqué debería aprender Ruby on Rails?

¿Qué es Rails?

Rails es un framework de desarrollo web, enfocado en darle al desarrollador las herramientas necesarias para implementar aplicaciones de forma rápida, Rails está basado en una serie de filosofías/técnicas de programación que guían al desarrollador al momento de hacer tareas: la manera Rails, de modo que lo liberan de tomar decisiones que realmente no tienen impacto, y lo enfocan en el desarrollo, en la lógica específica del negocio.

A continuación los puntos más importantes de esta filosofía y cómo éstas impactan en la forma de trabajar con Rails:

1. Convención sobre configuración

Tradicionalmente los proyectos tienen que definir una serie de configuraciones además de código de configuración, por ejemplo en el framework Django se deben definir explícitamente las rutas. En cambio, Rails tiene un sistema de convenciones que evita esa tediosa labor, ya que el framework se encarga de hacerlo solo gracias al poder de la convención sobre configuración.

2. El Stack

Rails te da un stack definido de herramientas que trabajan en conjunto para hacer todas las tareas que requiere una típica aplicación web.

Como Rails ya provee un stack, toda su comunidad tiene un conocimiento compartido de errores y soluciones, así que tienes el respaldo y la tranquilidad de saber que hay personas que tienen o han tenido los mismos problemas que tú y están dispuestas a ayudarte.

Esto no significa que no puedas cambiar el stack, solo que no es requerido y que por defecto ya tienes a tu disposición un stack completo de soluciones.

3. Optimizado para la felicidad del programador

Rails hereda la filosofía de Ruby de hacer al programador feliz, de permitirle crear código expresivo que se explique a sí mismo y sea hermoso para los ojos del programador, esta filosofía se adopta a través de APIs que hacen más fácil y comprensivo el desarrollo.

Por ejemplo, la inclusión de Array#fifth (poder acceder a la posición número 5 de la memoria) no es algo eficiente, pero sencillo de entender y programar, logrando colateralmente que sea más fácil de mantener.

Rails tiene estos pequeños pero significativos features, que facilitan el día a día del desarrollador, los cuales puedes aprender en el Curso de Ruby on Rails.

4. Active Support

Una de las cosas interesantes de Rails y algo que ha sido polémico, es la cantidad de mejoras que introduce al lenguaje de programación Ruby, Rails no solo trae un gran API para la web, también viene cargado con muchas mejoras para el lenguaje en sí.

Se dice polémico porque lo hace a través de una técnica llamada monkey patching, que en términos sencillos agrega funcionalidad directamente en el lenguaje, de modo que para el programador es como usar un feature sacado del lenguaje, cuando en realidad fue agregado por Rails.

5. Testing

Rails posee herramientas poderosas para probar nuestra aplicación:

  • Rspec: es una herramienta que permite hacer BDD (Behavior-Driven Development) en Rails usando una sintaxis sencilla.

  • FactoryGirl: es una herramienta que permite generar muy fácilmente información de prueba.

  • Stubs: permite probar tu aplicación sin depender de servicios externos, sirve para emular el comportamiento de un objeto dentro del sistema (como un objeto que controle el API de terceros) permitiendo desacoplar las pruebas.

Incluso puedes usar Webmock para deshabilitar directamente la conexión a internet de las pruebas y evitar llamados innecesarios.

6. DRY - Don’t Repeat Yourself

Una de las filosofías más importantes del framework es Don’t Repeat Yourself, en términos simples significa: no tener que repetirse.

Para programadores que vienen de otros frameworks resultará muy atractivo saber que Rails se preocupa mucho por esto, tener directamente en el corazón del framework este principio significa menos dolores de cabeza, menos código y más oportunidades para ser productivo.

Habilidades desarrolladas en este camino

Al finalizar este camino, con el Curso de Ruby habrás aprendido a familiarizarte con el lenguaje de programación y con el Curso de Ruby on Rails aprenderás a manejar este framework de desarrollo web, además serás capaz de desplegar tu aplicación en un servidor real de modo que podrás tener una aplicación lista en producción.

Te invitamos a tomar el Curso de Ruby, enamórate del lenguaje, potencia tus conocimientos con todos los cursos de esta ruta de aprendizaje y aprende todo para usar Ruby on Rails.

¡Prueba la suscripción de Platzi!

¡No te pierdas nuestros lanzamientos!

Glosario

Glosario

Ruby: Lenguaje de programación creado en los noventas, de alto nivel y de proposito general, pero usada principalmente en el desarrollo web, caracterizado por su expresividad y gran comunidad

Ruby on Rails: Framework de ruby para realizar desarrollo web, tiene reglas y una serie de convenciuones para mejorar la productividad, es muy popular

Framework: Serie de herramientas/librerias de programacion con un proposito especifico

Backend: Parte del software que actua fuera de los ojos del usuario, en el desarrollo web es la capa que se encarga de manejar la información y las reglas del negocio

Clase: Es la abstracción de un objeto, contiene la forma general del objeto. Su objetivo es servir como template para general más objetos.

Objeto: Es una instancia de la clase, es decir, la forma general del objeto con datos particulares.

Método: Corresponde a una acción en particular que puede ejecutar el objeto.

AWS: Amazon Web Services: es una plataforma de servicios de cloud computing para empresas de cualquier tamaño.

Cloud computing: El término cloud computing se refiere a la estrategia (de pago) de almacenar en bases de datos aplicaciones y otros recursos gestionados y procesados con el uso de una red de servidores hospedados en internet y no en equipos locales como PCs o servidores personales.

BDD (Behavior-driven development)): Cuando hablamos de pruebas, es lo que se basa en desarrollo impulsado por el comportamiento.

Aprende de los mejores

Blanca Moreno

Blanca Moreno

Directora y consultora en QA Minds Lab

@Blancajmoreno
Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Android, Firebase, Java, Geek & Teacher en Platzi

@anncode
Mauro Chojrin

Mauro Chojrin

en

@mchojrin
Jhon Edison Castro

Jhon Edison Castro

CTO en Mobility Solutions S.A.S

@edisoncast
Simón Soriano

Simón Soriano

Software Engineer en Uber

@simon0191
David Aroesti

David Aroesti

Head of Education en Platzi

@jdaroesti

Comparte tu conocimiento

Rutas relacionadas para complementar tu aprendizaje

Fundamentos de programación
Ruta de aprendizaje

Fundamentos de programación

Intermedio
Da tus primeros pasos en el mundo de la programación aprendiendo sus estructuras fundamentales y la lógica funcional detrás de cada línea de código.
Bases de Datos desde Cero
Ruta de aprendizaje

Bases de Datos desde Cero

Básico
Es muy importante saber qué, cómo y dónde se guardarán tus datos. Aprende desde cero la teoría y práctica para administrar DBs profesionalmente.
Administración de Servidores y DevOps
Ruta de aprendizaje

Administración de Servidores y DevOps

Avanzado
DevOps es una cultura que combina buenas prácticas y software para mejorar el despliegue y puesta en marcha de aplicaciones de manera rápida y segura.

¿Qué estás esperando?

Empieza a estudiar ahora y asegura tu futuro