La mejor manera de aprender Ruby on Rails

Vengo de un fondo de PHP, pero en estos días, soy un desarrollador a tiempo completo de Rails. La dificultad para la mayoría de las personas que hacen el cambio radica en la curva de aprendizaje involucrada. Una vez que se ha vuelto competente en un lenguaje o marco, cambiar a uno nuevo se siente como un desafío innecesario (y que requiere mucho tiempo).

Sin embargo, ¡aprender Ruby and Rails es bastante fácil! Es un marco increíblemente poderoso, y tiene una gran comunidad impulsándolo. Así que eso plantea la pregunta: ¿cuál es la mejor manera de aprender Rails? Aquí hay un plan de lección.

¡Este artículo detalla un plan de lección completo que lo pondrá en marcha en muy poco tiempo! Siga cada tarea a continuación en orden.


Tarea 1 - Trabajar a través de los ejercicios "Probar Ruby"

Podrías pensar que aprender Ruby es el paso más importante, y esta es probablemente la parte en la que todos dejan de aprender y se quedan con su marco actual.. No hagas eso! No tenga miedo de aprender este idioma (o cualquier idioma, en realidad). Ruby es un lenguaje divertido, hermoso y fácil de aprender. Además, no es necesario dominar el idioma al 100% para poder aprender Rails. Solo necesitas lo básico para comenzar..

Trabaja a través de los ejercicios Try Ruby.

La herramienta más recomendada para sumergirse en la sintaxis de Ruby es el sitio web de Try Ruby. Le proporciona un shell interactivo basado en web para jugar con el idioma. Si escribes ayuda, serás recibido con un tutorial interactivo de 15 minutos que te enseñará los conceptos básicos del idioma. Mecanografía ayuda 2 Te llevará al segundo capítulo del tutorial..

Una vez que haya realizado estos ejercicios un par de veces, tendrá una base sólida. Personalmente, completar esos dos tutoriales es todo lo que hice inicialmente. El resto lo he aprendido al crear sitios web con Rails, buscar en Google y jugar en IRB..


Tarea 2: instalar Ruby y Ruby en rieles

correr gema instalar rieles instalar rieles.

Si desea aprender Rails, por supuesto necesitará instalarlo en su máquina. Hay varias formas de hacer esto, dependiendo de su plataforma. Si estás usando una computadora Mac o Linux, te recomiendo que uses RVM. Es una gran herramienta para instalar Ruby. Consulte este artículo para obtener instrucciones de instalación. Si está en Windows, consulte RubyInstaller para Windows.

A continuación, necesita instalar Rails. Para hacerlo, debes tener RubyGems instalado en tu computadora. Si usaste RVM para instalar Ruby, ¡felicidades, ya lo tienes! Si estás en Windows, consulta aquí. Para instalar Rails, ejecute gema instalar rieles, y, tada, estás listo!

Bono de credito

rbenv es otro método cada vez más popular para instalar Ruby. Investiga eso también.


Tarea 3 - Comience con la introducción de Jeffrey a los rieles

En este screencast de 40 minutos, Jeffrey Way, el extraordinario editor de Nettuts +, te enseña todos los conceptos básicos que necesitas saber para comenzar a desarrollar con Rails..

Al seguir este screencast, obtendrá mucha información sobre temas que incluyen:

  • Modelos y generadores.
  • Desarrollo guiado por pruebas
  • ActiveRecord
  • Rspec y Capybara
  • Parciales
  • ? y mucho mas

Tarea 4 - Tomar el curso Rails For Zombies

Siempre he pensado que aprender con el ejemplo es la mejor (y única) forma de aprender un idioma y un marco. Un curso gratuito e increíble que debes tomar es Rails For Zombies, de la gente de EnvyLabs. Es interactivo, lo que significa que, después de ver cada video, trabajarás con un puñado de ejercicios..


Tarea 5 - Leer un libro

Compra de Desarrollo Web Agile con Rails.

Hasta ahora, todas las herramientas que te he dado han sido gratuitas e interactivas. Ahora, necesitas comprar la Libro sobre Rails: Desarrollo Web Agile con Rails. Te enseña Rails mediante la construcción de un sitio web desde cero. Pasa por lo más básico, creando controladores, modelos, andamios e incluso pruebas de unidad y funcionales, ¡además de algunos AJAX! Asegúrate de comprar la última edición aunque!

Bono de credito

Aquí hay algunos libros de Rails más populares que podría considerar.

  • Ruby on Rails 3 Tutorial: Aprenda Rails por ejemplo: le enseña a Rails paso a paso, de la misma manera que lo hace Agile Web Development con Rails..
  • Beginning Rails 3: una idea similar a la de un mismo tutorial.
  • The Rails 3 Way: este libro es más una referencia que una herramienta de aprendizaje, pero aún así se recomienda.

Tarea 6 - Construir un blog simple

Sé que suena aburrido (me parece a mí), pero es un gran ejemplo y se usa en todas partes por una razón: es simple, puedes terminar ese tipo de tutorial en menos de una hora y aprendes lo básico muy rápido. Ahora, si lees el libro de la asignación cuatro, ya deberías tener suficiente conocimiento para construir algo como esto. Le animo a que intente crear uno por sí mismo, de memoria, sin consultar ningún tutorial sobre el tema. Puede verificar algunos métodos, ver cómo validar algunos campos, etc., pero la idea es que necesita poner su conocimiento a prueba..

Construye un blog simple que tenga soporte para comentarios. No es necesario implementar un sistema de autenticación sofisticado; solo algo simple para empezar.

Si te quedas atascado?

  • Interfaz de consulta de registro activo: información básica y avanzada sobre registro activo, la interfaz de base de datos.
  • Enrutamiento de rieles desde el exterior hacia adentro: a veces el enrutamiento parece un poco difícil de entender en Rieles. Esta guía debería aclarar todo..
  • Enrutamiento en Rails 3: Complementando la guía anterior, aquí hay un resumen del enrutamiento en Rails 3.

Tarea 7 - Agrega algo de complejidad a tu blog

¡Genial! Te has construido un blog básico. Sin duda, carece de algunas funciones básicas que uno esperaría de una plataforma de blogs, pero es un comienzo. Vamos a poner más trabajo en ello.

Añade un sistema de autenticación básico a tu blog. Esto puede sonar algo complicado, pero no te obligaré a hacer esto completamente por tu cuenta. Hay una serie de herramientas / gemas disponibles que simplificarán mucho el trabajo, pero son demasiado avanzadas para tu nivel de habilidad actual. Además, necesitamos que siga aprendiendo el funcionamiento interno de una aplicación de Rails antes de confiar en herramientas de terceros..

Vea este video de Ryan Bates, donde cubre todo el proceso de creación de un sistema de autenticación básico desde cero. Aplique eso a su blog y asegúrese de que solo usted pueda crear y editar publicaciones, y elimine comentarios (¡pero asegúrese de que todos puedan crear comentarios!).

Bono de credito

  • La validación de formularios es igualmente importante y no es difícil de implementar. Consulte este screencast para hacer la tarea más fácil.
  • Consulte este artículo para obtener más información sobre asociaciones de modelos en Rails. Puedes usar las técnicas descritas para agregar etiquetas a tu blog..

Tarea 8 - Crea algo por tu cuenta

Aquí es donde necesitas ser creativo. Para mí, aprender un idioma o un marco siguiendo los tutoriales funciona bien hasta cierto punto. Lo primero que creé después de terminar mis aplicaciones de blogging de muestra fue una aplicación de facturación. Encontré una plantilla de diseño simple en línea y comencé a trabajar en eso. Eso me permitió construir algo útil y de acuerdo con mis necesidades, mientras me divertía de verdad.!

Si desea seguir mis pasos, descargue la plantilla de la aplicación web de Twitter Bootstrap (si lo desea), de modo que pueda dedicar más tiempo a la programación que al diseño, y cree una aplicación de facturación. Intente incluir la autenticación, los clientes, las facturas (que deberían permitirle al usuario aplicar un descuento e impuestos) y los artículos de la factura (que deberían incluir una descripción, cantidad y precio). Esto le enseñará varias partes importantes de una aplicación de Rails, como formularios anidados.

Recursos para comenzar

  • Formulario modelo anidado Partes uno y dos: lo necesitará en el momento de crear una factura, ya que los artículos de la factura se "anidarán" dentro del formulario de factura. Mira los videos para aprender más..
  • Aplicación de facturación simple: esta es la aplicación de facturación que creé para aprender Rails. Sin embargo, está construido con Rails 3.0.4, así que tenlo en cuenta. Puede ser útil revisar los modelos, las asociaciones y los archivos JavaScript.

Tarea 9 - Mantente al día?

Aprender a programar bien es un proceso que nunca termina. Es por eso que debe suscribirse a varios blogs y cuentas de Twitter sobre el tema. Aquí hay una lista de personas influyentes de Rails para que las sigas en Twitter:

  • @dhh: El creador de Ruby on Rails. Publicaciones sobre nuevos lanzamientos y varios consejos..
  • @rbates: Productor de Railscasts, publica consejos y trucos muy a menudo..
  • @rails: la cuenta oficial de Twitter de Ruby on Rails. Sígalos si quiere información sobre fechas de lanzamiento y desarrollo..
  • @rails_apps: están publicando nuevas aplicaciones de ejemplo de Rails con bastante frecuencia, bastante útiles.

Y aquí hay algunos sitios web a los que debe suscribirse:

  • Railscasts: ¡Un deber! Screencast impresionantes sobre Ruby on Rails, mejores prácticas, consejos, nuevas gemas, etc..
  • Asciicasts: Si no estás viendo videos, este sitio imita los tutoriales de Railscasts en texto. No está tan actualizado como el primero, pero es excelente.
  • Nettuts +: si bien no estamos 100% enfocados en Ruby y Rails, estamos publicando más y más contenido aplicable en estos días!
  • The Rails Way: un blog genial con varios artículos y tutoriales.
  • Riding Rails: el blog oficial de Ruby on Rails. No publican muchos consejos o tutoriales, pero anuncian lanzamientos oficiales, así que es bueno leerlo con frecuencia..
  • Planet Ruby on Rails: un agregador de blogs de Ruby on Rails. No está tan filtrado como leyendo uno de los blogs que enumeré anteriormente, pero es un buen recurso para revisar de vez en cuando.

Conclusión

Este plan de lección te convertirá en un desarrollador de Rails en ningún momento. Como verás, Rails es un marco increíble, y continúa mejorando cada año. Aprendí Rails usando las mismas herramientas que recomendé anteriormente; tu también deberías!

Si tiene alguna pregunta, no dude en preguntarlas en los comentarios o enviarme un tweet. Y siéntete libre de compartir tu experiencia! Díganos cómo aprendió Rails, qué herramientas utilizó y cómo las usa hoy.