jueves, 6 de octubre de 2011

Ruby on Rails:






Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración. El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Rails se distribuye a través de RubyGems, que es el formato oficial de paquete y canal de distribución de bibliotecas y aplicaciones Ruby.

Filosofía:

Los principios fundamentales de Ruby on Rails incluyen No te repitas.

No te repitas significa que las definiciones deberían hacerse una sola vez. Dado que Ruby on Rails es un framework de pila completa, los componentes están integrados de manera que no hace falta establecer puentes entre ellos. Por ejemplo, en ActiveRecord, las definiciones de las clases no necesitan especificar los nombres de las columnas, Ruby puede averiguarlos a partir de la propia base de datos, de forma que definirlos tanto en el código como en el programa sería redundante.

Convención sobre configuración significa que el programador sólo necesita definir aquella configuración que no es convencional.

Gemas:

Las gemas son plugins y/o códigos añadidos a nuestros proyectos Ruby on Rails, que nos permiten nuevas funcionalidades como nuevos create, nuevas funciones pre-escritas (como login de usuarios) o nuevas herramientas para el desarrollo como puedan ser Haml y SASS (la primera es una nueva forma de template basada en html pero más sencilla y potente, y la segunda es igual pero para el caso de las CSS). Para encontrar el listado de gemas disponibles puedes ir a RubyForge

Soporte de Bases De Datos:

Dada que la arquitectura Rails favorece el uso de bases de datos se recomienda usar un SGBDR para almacenamiento de datos. Rails soporta la biblioteca SQLite por defecto. El acceso a la base de datos es totalmente abstracto desde el punto de vista del programador, es decir que es agnóstico a la base de datos, y Rails gestiona los accesos a la base de datos automáticamente (aunque, si se necesita, se pueden hacer consultas directas en SQL) Rails intenta mantener la neutralidad con respecto a la base de datos, la portatibilidad de la aplicación a diferentes sistemas de base de datos y la reutilización de bases de datos preexistentes. Sin embargo, debido a la diferente naturaleza y prestaciones de los SGBDRs el framework no puede garantizar la compatibilidad completa. Se soportan diferentes SGBDRs, incluyendo MySQL, PostgreSQL, SQLite, IBM DB2 y Oracle.


Gracias.

1 comentario:

  1. Continuando con el tema de Ruby on rails quisiera compartir un guia para crear una sencilla base de datos.

    Guia de Ruby
    Para crear una aplicación
    1. Crear la base de datos en db2 con: db2 create database "nombre"
    2. Crear la aplicación en Ruby con: rails new “nombre” --database=ibm_db
    Para acceder a la aplicación y poder empesar a trabajar
    • cd “nombre”
    Para que la base de datos funcione adecuadamente meterse a config/
    • abrir database.yml
    • configurar las cuentas con el usuario y contraseña de la base del dbms
    Para empezar a crear las tablas mediante Ruby
    • rails g scaffold conductor nombre:string salario:integer
    • “g” significa generate
    • Scaffold creara las vistas, modelos, controles, etc
    • Se introducirán los campos de las tablas seguido por : y el tipo de dato que es
    Para migrar la nueva tabla
    • Rake db:mígrate
    Para aplicar validaciones entraremos a las carpetas app>models
    • validates :nombre, :id_cuar, :direccion, :presence => true
    • se especificaran los campos a los cuales se quieren aplicar la validaciones con :nombre, seguido por la acción que se desea, en este caso que no haya valores nulos
    • validates :id_cuar, :numericality => { :only_integer => true }
    • En este caso solo se aceptaran numeros de tipo integer
    Para aplicar las relaciones entre tablas entraremos a las carpetas app>models
    • belongs_to :nombre Se refiere a que esta tabla pertenece a otra
    • has_one :nombre Se refiere que tiene una relación 1
    • has_many :nombre Se refiere que tiene una relación N

    Para agregar llaves foráneas entraremos a las carpetas bd>mígrate
    execute <<-SQL
    ALTER TABLE soldados
    ADD
    FOREIGN KEY (compania_id)
    REFERENCES companias(id)
    SQL
    • esto se escribirá después del prime “end” del documento
    • ALTER TABLE soldados indica que modificaremos la tabla llamada soldados
    • FOREIGN KEY (compania_id) indica que la llave foranea sera la que se encuentra ()
    • REFERENCES companias(id) indica que la llave foranea proviene de la tabla companies seguida por su llave primaria

    ResponderEliminar