miércoles, 12 de diciembre de 2007

Introducción a Rails

Rails es un framework de código abierto para Ruby que sirve para desarrollar aplicaciones web que acceden a bases de datos, basado en el paradigma Modelo-Vista-Controlador (MVC).
El patrón MVC no está directamente relacionado con las aplicaciones web o Ruby on Rails. Tiene su origen en el lenguaje Smalltalk que no tiene nada que ver con la web.
El patrón MVC tiene tres componentes clave:

  • Modelo: Responsable de la lógica de negocio y de mantener el estado de la aplicación.

  • Vista: Es la responsable de generar el interfaz de usuario, normalmente basado en datos del modelo.

  • Controlador: Responsable de controlar el flujo y estado de la entrada de datos por parte del usuario. Reciben eventos del usuario, interactúa con el modelo y muestra la vista correspondiente al usuario.

Ruby on Rails está basado en dos principios fundamentales:

  • No te repitas: La idea es tener algún mecanismo para evitar tener que repetir código que es necesario desde distintos puntos de la aplicación.

  • Convención sobre configuración: Lo que se pretende es evitar tener que usar ficheros de configuración.

Puntos fuertes de rails:

  • Metaprogramación: La metaprogramación consiste en escribir programas que escriben otros programas.

  • ActiveRecord: Consigue es mapear las tablas de la base de datos con nuestros objetos de negocio utilizando metaprogramación.

  • Scaffolding: Esta técnica permite crear automáticamente el código necesario para tener una primera versión de la aplicación, en concreto, crea las vistas y operaciones de las operaciones básicas de cualquier objeto de negocio (crear, editar, listar y borrar).

Comprobación integrada: Rails integra todos los elementos necesarios para desarrollar test sobre la aplicación.

Tres entornos: Rails ofrece tres entornos predeterminados: desarrollo, producción y test. Cada uno tiene un comportamiento ligeramente distinto, por ejemplo Rails crea una copia vacía de la base de datos de test para cada prueba realizada.

AJAX: Rails ofrece integración con AJAX, con esto se consiguen unas interfaces de usuario más vistosas e interactivas para el usuario.

No hay comentarios: