Sabiendo algo de ROR (Ruby On Rails)
Ruby se originó en Japón en los inicios de los 90’s, su creador Yukihiro Matsumoto combinó la elegancia característica de SmallTalk, la facilidad de uso de Phyton y el pragmatismo de Perl. Como resultado obtuvo un lenguaje muy eficiente, poderoso y con una sintaxis muy limpia.
Rails es un framework Open Source escrito en Ruby, creado para el desarrollo de aplicaciones WEB con comunicación hacia bases de datos. Esta basado en la arquitectura Modelo Vista Controlador (MVC), lo sorprendente de este framework y lo que lo hace diferente de otros, es, que el desarrollo de aplicaciones sobre él es increíblemente rápido, esto, debido en parte a la estructura del lenguaje. Existen muchas cosas que en Ruby se pueden realizar en forma muy sencilla y que en otros lenguajes ni siquiera es posible llevar a cabo.
Los principios fundamentales de Ruby on Rails se pueden resumir como:
No te repitas (del inglés Don’t repeat yourself, DRY) y Convención sobre configuración.
-
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, con el patrón de diseño 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. En los últimos años, Ruby y Rails han cobrado mucha fuerza, y ya existe una buena cantidad de recursos en la WEB, ademas de que las grandes compañias como Sun Microsystems, le estan apostando fuerte a este lenguaje que ya es considerado como parte de la WEB 2.0.
-
Convención sobre configuración significa que el programador sólo necesita definir aquella configuración que no es convencional. Por ejemplo, si hay una clase
Manzanaen el modelo, la tabla correspondiente de la base de datos es manzanas, pero si la tabla no sigue la convención (por ejemplofrutas) debe ser especificada manualmenteset_table_name frutas).
Así, cuando se diseña una aplicación partiendo de cero sin una base de datos preexistente, el seguir las convenciones de Rails significa usar menos código (aunque el comportamiento puede ser configurado)
Sabiendo algo de Ruby
Ruby es un lenguaje de scripts para una programación orientada a objetos rápida y sencilla, es un lenguaje de programación interpretado, de muy alto nivel y orientado a objetos. En este lenguaje, hasta los números y los caracteres literales son objetos, y tienen los métodos de su clase, que pueden llamarse normalmente. Ruby es un “lenguaje de guiones (scripts) para una programación orientada a objetos rápida y sencilla”.
Algunas características del lenguaje:
- Posibilidad de realizar directamente llamadas al sistema operativo.
- Potentes operaciones sobre cadenas de caracteres y expresiones regulares.
- Retroalimentación inmediata durante el proceso de desarrollo.
- Rápido y sencillo. Puesto que son innecesarias las declaraciones de variables y que no tienen tipo.
- Gestión de memoria automática. Implementa recolección de basura.
- Programación orientada a objetos pura. Lo que permite el uso de herencia, clases, métodos singleton, …
- Soporta programación sobre hilos.
- Manejo de excepciones.
- Tratamiento de expresiones regulares.
Ruby on expansion
Se están desarrollando diferentes implementaciones con el objetivo de mejorar el rendimiento.
Ruby 1.9. Nueva versión de Ruby que incluye bytescodes y podría ser hasta 3 veces más rápido que su versión predecesora.
Rubinius. Un intérprete de Ruby experimental, escrito íntegramente en Ruby. Su creador, Evan Phoenix asegura que se trata de una arquitectura similar a la de la máquina virtual original smalltalk-80, pero con la principal diferencia de la sencillez que aporta el utilizar Ruby para su implementación.
JRuby. Interprete de Ruby sobre JVM. Es una implementación de Ruby hecha en Java 100%. También funciona como lenguaje embebido dentro de la máquina virtual de Java, aunque por el momento no es completamente compatible con Ruby debido a que algunas operaciones de Ruby no están disponibles en la máquina virtual de Java.
Sabiendo algo de Rails
-
Ventajas
Productividad: menos código por tanto menor posibilidad de equivocarte y más fácil de encontrar el error. No hay ficheros de configuración y todo está en su sitio. -
Desventajas
Escalabilidad y Rendimiento
Ajax on Rails
Ajax es una técnica que permite usar Javascript y XML para procesar peticiones de un navegador web a un servidor web como procesamiento en segundo plano sin cargar otras páginas web adicionales. Rails proporciona diferentes facilidades que hacen más fácil implementar aplicaciones Ajax.
Rails es anfitrión tanto del framework Prototype en Javascript (una serie de herramientas que proporcionan llamadas Ajax y otra funcionalidad habitual en las tareas cliente-servidor) y script.aculo.us, una librería en Javascript con mejoras en la interfaz de usuario (controles avanzados en los formularios, efectos visuales, arrastrar y soltar)
Ajax es una técnica que permite usar Javascript y XML para procesar peticiones de un navegador web a un servidor web como procesamiento en segundo plano sin cargar otras páginas web adicionales. Rails proporciona diferentes facilidades que hacen más fácil implementar aplicaciones Ajax.
Rails es anfitrión tanto del framework Prototype en Javascript (una serie de herramientas que proporcionan llamadas Ajax y otra funcionalidad habitual en las tareas cliente-servidor) y script.aculo.us, una librería en Javascript con mejoras en la interfaz de usuario (controles avanzados en los formularios, efectos visuales, arrastrar y soltar)
Soporte de Bases de Datos
Se recomienda usar un SGBD para almacenamiento de datos. El acceso a la base de datos es totalmente abstracto desde el punto de vista del programador, y Rails gestiona los accesos a la base de datos automáticamente. Se soportan diferentes SGBDs, incluyendo MySQL, PostgreSQL, SQLite, IBM DB2, Oracle y Microsoft SQL Server.
Se recomienda usar un SGBD para almacenamiento de datos. El acceso a la base de datos es totalmente abstracto desde el punto de vista del programador, y Rails gestiona los accesos a la base de datos automáticamente. Se soportan diferentes SGBDs, incluyendo MySQL, PostgreSQL, SQLite, IBM DB2, Oracle y Microsoft SQL Server.
Ultima versión Rails2
REST forma de desarrollar aplicaciones y servicios web a la vez que desarrollas tu aplicación para un usuario. Proporciona una representación en XML (por si nos conectaramos desde otra máquina), RSS, HTML.
REST forma de desarrollar aplicaciones y servicios web a la vez que desarrollas tu aplicación para un usuario. Proporciona una representación en XML (por si nos conectaramos desde otra máquina), RSS, HTML.
¿Quién usa Ruby onRails?
Ruby on rail a pesar de ser una tecnología nueva es utilizada por numerosas empresas entre las que se encuentran en primer lugar las que se encargaron de desarrollarlo en un primer momento:
La empresa madre es 37 Signals que fue la encargada de desarrollar el Framework, cabe destacar su página Web y la de Basecamp que fue el primer proyecto para el que se desarrollo rails y para el cual se fue adaptando y desarrollando.
|
|
|
Otra página que surgió a raíz de rails es la página de twitter enfocada directamente a la Web 2.0 o Web social, se basa en la idea que estas haciendo:
|
Y la ultima destacada es la de las páginas amarillas de estados unidos:
|
Aunque el mayor empuje que esta sufriendo ruby on rails es el de numerosas empresas muchas de ellas punteras en su campo como las siguientes:
| amazon.com | BBC | CapGemini |
| BPN | Cisco | C|Net |
| EA (Electronic Arts) | IBM | JP Morgan |
| NASA | Oakley | Oracle |
| Siemens | ThoughtWorks | Yahoo! |
| John Deere | New York Times | NBC |
| Barclays | LA Times | Chicago Tribune |
| Orbitz | Turner Media |
En España destacan como promotoras de esta tecnología dos empresas, la primera es The Cocktail y la segunda ASPgems, con las siguientes paginas como principales:
|
|
|
|
|
|











18 Abril, 2008 a las 1:46 pm |
Muy buen aporte!
18 Abril, 2008 a las 1:48 pm |
Perfect.
18 Abril, 2008 a las 2:23 pm |
Me ha encantado. Muy bien redactado.
12 Mayo, 2008 a las 10:01 pm |
Gracias por mencionarnos
Comentarte que empieza a haber muchas aplciaciones on-line echas con RoR, y creo que cada vez serán mas.