Email This Post Email This Post Print This Post Print This Post

Ruby on Rails: Web Development Framework

Open Source (OSS), Software Apps y novedades, Tecnología y Actualidad Informática Add comments


logoRubyonRails

Como todos ya conocerán se habla mucho del lenguaje Ruby, hoy en día, y me tomé como meta investigar sobre este lenguaje, que su es un nuevo modelo de programación totalmente orientado a objetos y lo lindo como sabemos ya los que programamos es un lenguaje dinámico, como lo son (Python, Javascript en gran medida, PHP Scripting , y Ruby).

 

logoRuby

Regresando a RUBY, este lenguaje de programación combina sintaxis utilizada en Perl con funcionalidad de programación orientada a objetos, también comparte algunas funciones con Python, Lisp, entre otros…

Su creador fue Yukihiro Matsumoto, que en 1993 desarrollo el lenguaje y el primer release lanzado fue en 1995.

 

 

Y creo que la mejor información de la que Wikipedia puede proporcionar, si no,  no voy a lograr por lo que los dejo con la información de Wikipedia para terminar el tema de Ruby.

Entonces como definimos Ruby en pocas palabras…:

  • ((Perl moderno)), ((Perl orientado a objetos))
  • Completamente orientado a objetos (¡hasta nil!)
  • Sintaxis limpia, ((sufijos)) de sentencias
  • Sangrado libre, marcas de fin de estructura
  • Uso de mayúsculas y minúsculas (constantes, variables)
  • Se usan mucho los bloques (funciones anónimas)
  • Documentación incorporada
  • Inmaduro (cambios, pocos módulos de desarrollo activo)
  • Comunidad abierta (refugiados; RoR) 

    Haber una comparación entre C# y Ruby

    C#&Ruby

    Pero mi afan de investigar Ruby, fue más allá por saber, por que varios proyectos utilizan, y es Ruby on Rails, que no es mas que nada una adaptación de Ruby para desarrollar aplicaciones WEB, con interacción a bases de datos.

    Entonces Ruby on Rails es un Nuevo modelo de programación para desarrollo de aplicaciones con BASES DE DATOS en la WEB y se basa  bajo este nuevo patrón de arquitectura de software, MVC, que es Modelo-Vista-Controlador (Model-View-Controller), del que muchos lenguajes soportan ( Lenguajes MS .Net, Java, Python con sus extensiones, Ruby con su extension Ruby on Rails y scripts Web-based Interfaces, como  ColdFusion, Action Script, PHP, Perl) . 

    Este framework fue creado por David Heinemerer Hansson, y fue liberado para dominio público en Julio de 2004.

    Y la intención a todo esto fue la reutilización de código basado en el principio DRY (Dont Repeat Your self); que significa en palabras a buen entender "que la información o código está ubicada en un solo lugar".

    Para esto Ruby on Rails, es tan liviano, y optimo en todo sentido, que no se necesita un aplication server específico, ya que todo lo hace asi mismo en un solo paquete…Y algo adicional todo esto por ser un lenguaje dinámico 

    Lo más soprendente fue que al hacer algunas pruebas un poco abstractas siguiendo unos videos, las consultas simples a la base de datos las hacia internamente (algo precido a lo que Microsoft hará con LINQ, en su proximo VS2008, que significa Lenguaje Integrado de Consultas, sobre objetos XML), sin necesidad de aplicar sentencias sql, ahora muchos se preguntaran y como hace esto, pues este framework de desarrollo, se conecta directamente a la base de datos y con un comando obtiene el esquema de la base de datos, incluyendo el tipo de datos y demas características, lo mas que se debe tener en cuenta son los nombres de los campos al desarrollar…   

    Esto genera unos archivos con primitivas de código  de métodos como Adicionar, Editar, Eliminar, Consultar, y tambien logicamente te genera código en la primera capa de datos, y las demás capas uno mismo lo complementa, tal es asi que en lo que corresponde a presentación, es casi como estar programando bajo es elquema de scripting JSP, PHP o ASP 3.0, y podemos hacer lo que en la interface de usuario inclusive con desarrollo AJAX, el control de las respuesta y solicitudes, bajo alguna logica de negocios si es que deseamos, eso si todo bajo Ruby nativo, y por último el modelo de dominio que envuelve la base de datos, por eso que Rails le da a Ruby, un ambiente de desarrollo. Ahhh por ahora es comun hacerlo desde editores de texto y ejecutar ciertos comandos desde consola…

    La prueba que realice lo hice desde windows, no esta demás ponerme a investigar en GNU/Linux, o un clon Unix, pero es como decir  "Está como Pedro en su casa"…

    No da problemas al IIS, no interfiere con los recursos de memoria o procesos, totalmente independiente, solo que hay que levantar un servicio, muy pequeño, alrededor de 10 Mb como maximo en memoria, y que solo vasta testear  con http://localhost:3000, (el puerto puede ser aleatorio, por default es 3000), y listo, ya tenemos el aplicacion server iniciado, luego tal como el IIS, tiene una carpeta principal donde alojamos nuestras aplicaciones, tambien la podemos jalar desde cualquier otra ubicación, esto se realiza bajo comandos… Ejemplo: C:\rails nombre_proyecto

    Ahora muchos se preguntarán:

    ¿Bajo que Sistema Operativo?
    Cualquiera, pero recomiendan para los GNU/Linux o  UNIX para el Desarrollo, segun mi poca experiencia creo que no es exclusivo para UNIX’s.

    ¿Qué se necesita para funcionar?
    Se recomiendan los servidores Web Apache y Lighttpd, que estén ejecutan FastCGI, SCGI.
    En windows, funciona genialmente, estando IIS y si no esta instalado da lo mismo… 

    ¿Con que Bases de datos trabaja?
    MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2 o FireBird… y quizas mas adelante en otras más…

    ¿Existen ejemplos o tutoriales para Ruby on Rails (RoR)?

    Si hay una gran variedad, pero existe  un  ejemplo de 15 minutos donde crean de la nada un motor de Blogs, con comentarios y una interface administrativa. Y la aplicación toma solamente 58 líneas (impresionante verlo).
    Otro video que se puede encontrar es como utilizando Ajax y el Api publico de Flickr, se pudo crear una máquina de búsqueda para el sitio de Flickr, esto si es interesante ya que es algo que comúnmente se hacía con Flash.Y también hay un ejemplo de cómo se puede utilizar para realizar cambios a los esquemas de la base de datos.

    Y si vemos los videos, lo mas impresionante es  es que la programación que se realiza en MAC OS X con el editor de texto  TextMate.

    Más ejemplos en http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials

    ¿Ya se está dando alojamiento (Hosting) para este modelo?
    La respuesta es sí…

    Cheken http://wiki.rubyonrails.org/rails/pages/RailsWebHosts, revisen el wiki esta de interesante. MEDIA TEMPLE fue el primero dar alojamiento en su servicio Grid Service

    Quienes ya están utilizando este modelo?
    Según el sitio oficial, mencionan que todo tipo de industrias, como:

    • Colaboración, comunidades, E-commerce, Administradores de Contenido, Empresas de Estadísticas y Administración.
       
    • Para administración de Proyectos.
       
    • Chat para Negocios con una implementación de Ajax Banguardista.
       
    • Empresa en el área para Grabar y compartir audio.
       
    •  E-commerce hecho fácil.
       
    •  Administracion de Activos digitales.
       

    Que compiladores existen?
    Aunque suene increíble, no es en realidad no tiene un compilador como en definición profunda, se le debe llamar, creo que racionalmente por mi lo llamaría un compilador interpretador, espero no equivocarme, su compilador nativo esta plagada en la web, pero lo más impresionante y lo que se espera siempre es que ya haya formas de compilar en otros ambientes, como por ejemplo en el mundo .net, si dado que microsoft ha abierto su CLR y ha modificado a este mismo, para soporte de lenguajes dinámicos, dado que trabajar con lenguajes dinamicos es mas fácil, y para no perder terreno y dejar contento a todos nos da la posibilidad de subier muchos lenguajes a su entorno de desarrollo desde su core… Así que podemos implementar Ruby desde .net, por  ahora con la version Net Framework 2.0

    Dentro de las referencias tengo toda una explicación de lenguajes dinámicos en .NET. (http://anatoly.ragesys.net/?p=77)

    Uno de los primeros productos de Ruby para .net es  Ruby in Steel, construido por Sapphire in Steel (http://www.sapphiresteel.com/), que se conectará a Visual Studio.NET para tener una mezcla de los beneficios del IDE de Microsoft más las tecnologías Ruby. Está disponible a un costo de 249 US$ y tiene la intención de permitirle a los developers usar Ruby sin tener que entrar y salir de VS a otra herramienta como el administrador de la base de datos. Incluye un debugger profesional, sintaxis coloreada y la habilidad de ejecutar aplicaciones de consola (lee el review en Infoworld aquí). Por cierto que en este sitio web puedes descargar un libro electrónico gratuito llamado "The Little Book of Ruby".Otro que existe es IronRuby, con licencia  GPL osea freware,  que es otra implementación de Ruby para el .NET Framework, que permitirá ejecutar programas Ruby como nativos de .NET. Puedes encontrar más información de IronRuby en http://www.wilcob.com/Wilco/News/RubyForNET.aspx, puedes descargar el fuente y sacar buenas ideas, lo revise, pero me rayé por un momento… pero ya lo puse en mi VS2005, asi que a probar

    Otro es Gardens Point Ruby.NET, de la Universidad de Queensland en Australia,  por ahora solo es un compilador, no se sabe  si en un futuro se integrará a Visual Studio , pero es muy posible que así sea, ya que Microsoft es uno de los patrocinadores del proyecto. Aquí el enalce: http://plas.fit.qut.edu.au/Ruby.NET/

    Seguro que seguirán saliendo más herramientas para entornos  .net

    ¿Existen otros IDE’s que lo soporten?
    La respuesta es sí, pues hay una extensión para Eclipse IDE (comunmente utilizado para java y es free), llamada Ruby Development Tools (RDT), aqui hay una forma de como obtenerlo y configurarlo (http://www.oreillynet.com/pub/a/ruby/2007/04/26/ruby-on-rails-meets-eclipse.html)

    Luego web-ando, enocntre otro excelente IDE, tambien free, llamado Aptana IDE, que a pesar que es un completo entorno de desarrollo, es multiplataforma, permite desarrollar  aplicaciones AJAX, ya que es un IDE como su propia web dice "The Aptana IDE is a free, open-source, cross-platform, JavaScript-focused development environment for building Ajax applications. It features code assist on JavaScript, HTML, and CSS languages, FTP/SFTP support and a JavaScript debugger to troubleshoot your code.", permite soporte para desarrollo de aplicaciones para IPhone’s, soporta la ulima tecnologia de Adobe, llamado Adobe Air , y propiamente Ruby on Rails, con la extension Aptana RadRais, que se instala en el mismo  IDE.

    Otro IDE interesante para RoR es RoRED, que no es mas que un nuevo IDE exclusivo para este propósito y solo corre bajo windows…

    Y como comentario último RadRails, que lo esta desarrollando el grupo de Aptana IDE, es el principal entorno de desarrollo para ruby, pueden ver mas en http://en.wikipedia.org/wiki/RadRails

    Conclusión:

    Como ya se sabía que en 1999 se pensaba que Java sería el nuevo "big thing", pues mucho apostaban que el futuro sería todo Java, pero luego, MS saco su propio Virtual Machine: .NET Framework, con sorprendentes capacidades y poder manejar varios lenguajes en su CLR1.0 y algunos más en su CLR 2.0, pero algo tan pequeño le esta sacando ventaja,  RoR que se esta adheriendo al IDE VS2005, pero de todo esto, la amenaza del advenimiento de esta nuevo lenguaje a toda una comunidad que necesita desarrollo agil y sin tantas definiciones a la vez que sean rapidad y abiertas a las tecnologías, ya que no sólo vale la pena  adentrarse al mundo de Ruby (ojo no mal interpreten, Ruby en un lenguaje de programación), no porque gran cantidad de desarrolladores lo estan adoptando para crear aplicaciones, sino que puede ayudar como una solución más para desarrollo de aplicaciones de consumo masivo, como las que ya existen actualmente.

    Yo me pongo la camiseta, y espero poder realizar una aplicación, mas adelante… hasta otra oportunidad…

  • One Response to “Ruby on Rails: Web Development Framework”

    1. Una mirada a fondo de Ruby on Rails: Web Development Framework // menéame Says:

      [...] Una mirada a fondo de Ruby on Rails: Web Development Frameworkanatoly.ragesys.net/2007/07/25/ruby-on-rails-web-development… por anatoly_alexei hace pocos segundos [...]

    Leave a Reply

    Powered by WP Hashcash

    This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

    Debes leer y teclear los 5 caracteres entre 0..9 y A..F, y enviar la respuesta.

      

    No puedo leer esto. Por favor, generar un

    Powered by RAGE SYSTEMS S.A.C. - Icons by N.Design Studio
    Entries RSS Comments RSS Log in