En diciembre del 2007 el framework de desarrollo Ruby on Rails sufrió una actualización de gran importancia a su framework el ahora Rails 2.0 , ahora bien, me he dado a la tarea de buscar información principalmente para los "Novatos" interesados en aprender este framework así como tutoriales en español, como se podrán imaginar sin mucha suerte, esta es la razón de la creación de este Blog, en el cual tratare de enseñar a poder sacar provecho de este framework así como la conjugación con el increíblemente potente y versátil lenguaje de programación Ruby.
Ahora bien primero que nada algo que me apasiona sobre este framework es el hecho de adoptar una serie de tecnologías así como metodologias de programación las cuales nos permiten tener una mejor programación y control sobre el que será nuestro control sobre el resultado final y lo mejor de todo, es bastante divertido, continuación doy una pequeña explicación:
MVC (Modelo - Vista - Controlador), esta es una metodología de programación la cual nos da como premisa el hecho de estructurar nuestro código en base a tres partes funcionales, las cuales se estructuran de la siguiente forma:
Modelo
Ahora bien la manipulación de Vista será en base a la combinación de codigo html + Ruby de hecho actualmente hay una gran diferencia entre las extensiones de los archivos utilizados para las vistas entre Rails 1.2 y Rails 2.0 en el primero la extensión es .rhtml y en el segundo html.erb el cual hace referencia tanto a html como a Ruby, recordemos que una gran ventaja de nuestra aplicación es el hecho de que con Rails podemos integrar de forma directa las librerías mas importantes de Javascript que son Scriptaculos y Prototype, pero recuerden es de suma importancia tener en cuenta que la lógica de esta aplicación la cual estará siendo afectada por el Controlador y en base a a esta suma obtenemos nuestro sistema de trabajo de MVC.
DRY Dont-Repeat-Yourself, esta metodología de programación hace referencia al hecho de no repetir código y bueno mas haya de no repetir código es el hecho de reutilizar el codigo existente, en si esta tecnica hace referencia a la Programación Orientada a Objetos, y es uno de los pilares de Ruby on Rails.
REST Este punto merece un blog por si mismo, en la actualidad las paginas estaticas donde no existe la posiblidad de compartir información ya sea entre los mismo sitios o bien con aplicaciones de escritorio, estan perdiendo un gran punto de crecimiento y REST es una técnica de arquitectura software para sistemas web que te permite comunicar por medio de HTTP y la combinación con XML, ahora bien se define un conjunto pequeño de operaciones, las más importantes son POST, GET, PUT y DELETE. Con frecuencia estas operaciones se equiparan a las operaciones CRUD que se requieren para la persistencia de datos, aunque POST no encaja exactamente en este esquema, en Rails 2.0 veremos que ha tomado una importancía mayor asi como nos ha facilitado el hacer esta forma de arquitectura.
TDD Desarrollo guiado por pruebas, o Test-driven development (TDD) es una práctica de programación que involucra otras dos prácticas: Escribir las pruebas primero (Test First Development) y Refactorización. Para escribir las pruebas generalmente se utilizan las pruebas unitarias. Primeramente se escribe una prueba y se verifica que las pruebas fallen, luego se implementa el código que haga que la prueba pase satisfactoriamente y seguidamente se refactoriza el código escrito, ahora bien esto ya viene integrado con Ruby on Rails, asi que esto nos permite tener un control sobre la calidad de nuestro software ma sin embargo en este Blog utilizaremos otra metodología no solo de pruebas de software sino de programación la cual es BDD y entrare en esta en detalle en un post siguiente.
NOTA: en Post siguientes realizaremos una aplicación de inicio a fin utilizando el codigo correcto.

