miércoles, 4 de septiembre de 2013

Aprendiendo Ruby on Rails en dos días

Tras largos meses ausente, hola de nuevo a tod@s!

He vuelto porque tengo algo nuevo que contar sobre temas de desarrollo. Y es que, por motivos que quizá comente en futuros posts, he tenido que aprender Ruby on Rails y hacer un pequeño ejercicio en 2 días. Usaré este posts para documentar brevemente este proceso y recopilar los materiales interesantes que he recopilado.

En primer lugar, hace varios meses realicé un taller de introducción a Ruby on Rails (RoR por brevedad) en la feria técnica T3chFest que tuvo lugar en febrero en la Universidad Carlos III de Madrid. Seguimos este estupendo tutorial.

Taller de introducción a Ruby on Rails en el t3chFest-uc3m
Hasta aquí todo bien. Seguí el tutorial y entendí un poco por encima los aspectos básicos de rails, porque ruby lo conocía un poco de este curso introductorio en codeschool. Había intentado entender los principios básicos en el curso de SaaS de BerkeleyX pero durante el curso no hice mucho más que ver los videos.

Pero esta semana he tenido que aprender a marchas forzadas, y el primer recurso que tenía en mente para comenzar era el famoso tutorial de rails de Michael Hartl. La aproximación del tutorial es que, a parte de enseñarte los fundamentos de rails, te enseña buenas prácticas de desarrollo como usar un sistema de control de versiones (git con github), deployear a producción en heroku y, lo que más me interesaba, hacer desarrollo dirigido por tests (TDD), en concreto una forma específica de hacerlo que es BDD (Behavior Driven Development) donde lo que prima es el comportamiento de nuestro aplicativo. Estuve siguiendo el tutorial hasta los 5 primeros capítulos, saltándome el 2 ya que no me interesaba la generación automática de código (scaffolding, que no se usa en el "mundo real"). Como iba orientado a realizar un ejercicio concreto con esta información tuve bastante, complementándolo con un videotutorial de nettuts orientado a aprender lo más básico y lo más de verdad útil. Una vez entendí bien cómo funcionan las rutas y ciertas convenciones de nombrado, pude ponerme más en serio con el ejercicio que tenía que realizar ya que el patrón básico de rails, MVC, lo conocía desde hace tiempo de mis trabajos con J2EE.

Para la última parte del desarrollo me fueron bastate útiles las referencias de código de ruby, para revisar la documentación de los objetos, principalmente string, array y hash. Además, para los test de integración fue muy útil el uso de la documentación de capybara, que no fue tan fácil de encontrar como pensaba. Todo esto, con alguna ayudita de omnipresente StackOverflow te puedan ayudar a aprender RoR en dos días!