Posts Tagged ‘Rails’

jQuery con Rails 3

Viernes, Febrero 12th, 2010

Una de las características nuevas en Rails 3 es que permite de manera más sencilla poder definir los diferentes componentes de nuestra aplicación. Por ejemplo, ya no tendremos que hacer tanta magia para poder utilizar otra que no sea Prototype como librería Javascript, si no que ahora igual podremos utilizar jQuery con un poquito de configuración.

Lo primero que tendremos que hacer es con respecto al Javascript no obstructivo (UJS por sus siglas en inglés). El equipo de desarrollo de Rails 3 ha hecho un gran trabajo al reemplazar todo el código JS en línea con UJS y XHTML semántico; el detalle es que sigue siendo Prototype la librería por default

Para cambiar eso debes descargar y reemplazar el archivo public/javascript/rails.js desde github en la página del proyecto de jQuery UJS.

El siguiente paso sería la sentencia javascript_include_tag a todos nuestros layouts. Si ya has usado jQuery con Rails anteriormente, debes haber hecho algo como esto:

javascript_include_tag 'jquery', 'jquery-ui', 'rails', 'application'

Pero si tienes más de un layout y quieres adherirte al principio DRY (Don’t repeat yourself, no te repitas a ti mismo), entonces lo ideal sería poder hacer algo como lo que se hace con Prototype:

javascript_include_tag :defaults

Para lograr esto, es necesario modificar el archivo config/application.rb debes agregar una expansión Javascript como la siguiente

ActionView::Helpers::AssetTagHelper.register_javascript_expansion \
:jquery => %w/jquery jquery-ui rails application

De esta manera, podremos incluir nuestras librerías con la siguiente línea:

javascript_include_tag :jquery

Lo cual es mucho más sencillo y rápido.

En artículos siguientes seguiremos explorando las características nuevas de Rails 3. Manténganse en contacto.

Liberada la primera beta de Rails 3.0

Lunes, Febrero 8th, 2010

El 5 de febrero fue liberada la primera beta de la tan esperada versión 3.0 de Rails. Esta nueva versión trae muchas mejoras y características nuevas respecto a la rama 2.0. Lo más sobresaliente podriamos decir que es la fusión con el framework Merb; lo que trae como beneficio que ahora los componentes del framework estén menos fuertemente acoplados entre sí, permitiendo poder elegir qué componente queremos por ejemplo en la capa de acceso a datos (ActiveRecord, DataMapper, Sequel) así como en las demás capas.

ActiveRecord, ActionController, ActionView, and ActionMailer, ActiveSupport todos han sido rediseñados, y además de que Rails 3 es compatible con Rack, los subcomponentes de Rails, como el enrutamiento, son middlewares de Rack.

Entre los principales puntos podemos mencionar también:

  • Un ruteador mejorado y nuevo que hace un énfasis en declaraciones tipo REST
  • Nueva API para Action Mailer modelado tomando como base el Action Controller
  • Nuevo lenguaje encadenable para Active Record construido basándose en álgebra relacional
  • Helpers de Javascript no intrusivos con manejadores para Prototype, jQuery y más
  • Control de dependencias explícito con Bundler

Si deseas ver todas las notas de la versión puedes hacerlo en este enlace.

Por mi parte, aun no me decido a migrar a la nueva versión de Rails el proyecto que estoy realizando, pero pronto lo haré así que los mantendré informados de mis aventuras con Rails 3.

Por cierto que para instalarlo, se necesitan ejecutar los siguientes comandos:

gem install tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
gem install rails --pre

En busca del IDE/editor ideal para Ruby on Rails en Windows

Miércoles, Diciembre 30th, 2009

Después de probar con varios editores e IDE’s, he decidido que para mi gusto, el mejor es RubyMine, que se encuentra en la versión 2.0 y es desarrollado por la empresa Jetbrains, creadores del también excelente para Java, IntelliJ IDEA.

A continuación les explicaré las opciones que probé, y las razones por las cuales no me convencieron del todo.

Netbeans
Este es un excelente IDE políglota (es decir, que tiene soporte para varios lenguajes de programación). Actualmente se encuentra reción liberada la versión 6.8, cuenta con un desarrollo muy activo, es open source, existe para Windows, Linux y MacOSX… en fin, tiene todo para ser la opción ideal. Ofrece un soporte muy completo para el desarrollo de aplicaciones con RoR y en un principio fue mi opción ideal. Sin embargo, hay ciertas funciones específicas de Ruby on Rails que no tiene, pero eso lo explicaré más adelante cuando le toque el turno al ganador.

RadRails
Este igual es un software muy completo. Está basado en la plataforma de Eclipse, por lo que permite extenderse mediante plugins. Debo confesar que no he tenido mucha oportunidad de probarlo. Apenas lo descargué hace unos días pero por lo que he visto ofrece varias funciones interesantes para el desarrollo de RoR. También es gratuito al igual que el Netbeans. Posiblemente cuando salga la versión 3.0 (actualmente está en la 2.0) me dedicaré a probarlo con más tiempo.

E-TextEditor
Si tuviera que utilizar un editor de texto en lugar de un IDE, este sería el ganador. Es muy ligero, tiene una interfaz muy sencilla y atractiva y una gran ventaja es que ofrece los bundles (paquetes de segmentos de código) que son compatibles con el TextMate de Mac. De hecho, el E-TextEditor es una copia bastante fiel del TextMate, para que los usuarios de Windows (y se supone que próximamente igual los de Linux) puedan disfrutar de las ventajas que ofrece dicho editor.
La principal desventaja que le encontré es que te instala el cygwin para poder realizar ciertas tareas que no están disponibles de modo nativo en Windows; pero luego eso me ha provocado problemas con mi instalación normal de Ruby (c:\ruby). De no ser por esto, probablemente sería mi editor favorito. Otra desventaja pequeña es que no es gratuito, ya que hay que pagar una pequeña cantidad de 35.95 dólares por la licencia.

Komodo Edit
Es un buen programa, y aparte de haberlo utilizado para RoR igual lo he utilizado para desarrollar con Python/Django, pero se me hace un poco genérico. No digo que esto sea malo, simplemente que me gusta que mi editor/IDE tenga herramientas que me ayuden más al desarrollo con el lenguaje/plataforma que esté utilizando.

Además de los anteriores, también he utilizado en algún momento el Notepad, el VIM, entre otros, pero tampoco ninguno de estos me convenció lo suficiente.

Bueno, entonces seguro se preguntarán, ¿Porqué RubyMine? Ok, para empezar diré que tampoco es gratuito (tiene un costo de 99 dólares para una licencia comercial) aunque si se demuestra que se está trabajando en un proyecto open source, puedes obtener una licencia gratuita. Segunda, por el hecho de ser desarrollado con Java, es un poco más pesado que los editores de texto (cosa que no me perjudica con los 4 GB de RAM, pero puede ser problema para algunos). Otro pequeño detalle es que los programas de Java no muestran las letras de la misma forma que la plataforma nativa, por lo que ciertos tipos de fuentes podrían no verse de forma correcta o idonea.

Pero por el lado bueno, tiene muchas más ventajas que en su mayoría son pequeños detalles que hacen más placentero el desarrollo y que además opacan a los problemas citados anteriormente.

  • Como es un IDE desarrollado exclusivamente para Ruby y RoR no contiene más cosas de las necesarias.
  • Trae muchas opciones de configuración (apariciencia, estilo de código, resaltado de sintaxis, autocompletado, etc). Incluso permite configurar los accesos rápidos para las operaciones más comunes.
  • Proporciona soporte para manejar diferentes intérpretes y/o versiones de ruby, así como también los gems.
  • Ofrece soporte para ejecutar acciones de Rake desde el mismo editor.
  • Soporta diversos administradores de código fuente (CVS, Subversion, Git)
  • Trae varias opciones para refactorizar y reformatear el código.
  • Ofrece múltiples ayudas para el desarrollo de RoR, por ejemplo si estoy modificando uno de los controladores, mediante una combinación de teclas puedo moverme al archivo de la vista (el .html.erb) de la acción en la que me encuentre del controlador. También si estoy utilizando la localización de RoR para que mi aplicación esté en diferentes idiomas, RubyMine automáticamente busca en los archivos .yml del lenguaje utilizado para mostrar las cadenas en las vistas desde el mismo editor de texto.

Esas son algunas de las características que han hecho que me enamorara de RubyMine. Talvez no parezcan tan sobresalientes, y talvez alguien podría pensar que por el precio, sería mejor utilizar Netbeans o RadRails, pero ya en el momento en que estás desarrollando notarás que con RubyMine sufres menos interrupciones y tienes que preocuparte muy poco de detalles ajenos que no tengan nada que ver con la aplicación en la que estés trabajando. Creo que el slogan que tienen en su página es muy acertado: “RubyMine, el IDE más inteligente para Ruby”.

Cabe señalar que no es un artículo pagado por Jetbrains, simplemente es mi opinión y como tal, puede ser que la de ustedes sea diferente. En fin, no importa la herramienta que elijan siempre y cuando se sientan contentos con su uso y les permita un gran grado de productividad.

Disponible versión final de Netbeans 6.8

Viernes, Diciembre 11th, 2009

Por fin ya está disponible la versión final de Netbeans 6.8. Esta versión trae muchas mejoras, entre ellas las más sobresalientes son las siguientes:

  • Soporte para la edición empresarial de Java 6 (recién liberada también)
  • Proyectos web con Java Server Faces (JSF) 2.0
  • Soporte mejorado para JavaFX
  • Soporte para kenai.com (página para colaboración entre desarrolladores)
  • Soporte para PHP 5.3
  • Ruby 1.9 y Rails 2.3.4
  • Mejor soporte para Groovy y Grails
  • Entre otras…

Así que no esperen más y descárguenlo para obtener los beneficios de esta nueva versión. Yo por mi parte ya lo tengo instalado en ambas particiones, en Ubuntu y Windows 7 y lo utilizo para proyectos de java y php principalmente.

Aplicación Open Source para administración de proyectos

Miércoles, Noviembre 18th, 2009

Retrospectiva es una nueva aplicación Open Source para la administración de proyectos, y está desarrollada con Ruby on Rails, lo cual lo hace doblemente interesante: primero por el siemple hecho de ser una herramienta muy útil para nosotros lo desarrolladores y en segundo lugar, por ser una aplicación en Rails 2.3 de la que podemos aprender por medio del código.

Entre las características anunciadas en la página del proyecto, están las siguientes:

  • Completamente basado en Web
  • Permisos basados por roles
  • Administración de peticiones de servicio
  • Seguimiento de problemas
  • Personaliza el flujo de los procesos
  • Administra tus metas
  • Establece expectativas
  • Soporte para Subversion y Git

Si deseas puedes descargarlo o consultar más información e imágenes en su página web.

Disponible la versión 2.0 de Jetbrains RubyMine

Lunes, Noviembre 16th, 2009

Hoy fue liberada por fin la versión final 2.0 del editor más completo para desarrollo Ruby/Rails. Esta versión trae grandes mejoras comparada con la versión anterior. Con mi experiencia que he tenido con diferentes editores e IDEs, este ha sido mi favorito. También me ha gustado mucho E-TextEditor, pero aun no he logrado conseguirlo/compilarlo correctamente en Linux.

Las características sobresalientes que trae esta nueva versión son:

  • Soporte para las versiones más recientes: Ruby 1.9 y Rails 2.3.4.
  • Nuevos refactorings (introducir constante, introducir campo, introducir parámetro, variable inline, extraer módulo, extraer superclase, entre otros); incluso permite buscar código duplicado en el proyecto.
  • Pruebas más sencillas con Cucumber, Shoulda y Spec.
  • Construcción de páginas web con HAML y Sass.
  • Nuevas inspecciones de código y correcciones rápidas.
  • Soporte para internacionalización en Rails (i18n) y corrección de ortografía.
  • Extensión del IDE mediante secuencias de comandos en Ruby.
  • Usabilidad y estabilidad mejorada en la interfaz de usuario.
  • Integración continua con TeamCity.

Este es un gran avance para los IDEs de Ruby, el único detalle es que tiene un costo de $99 dólares, pero no es mucho comparado con todas las ventajas que ofrece.

Spree: Comercio electrónico open source con Ruby on Rails

Jueves, Octubre 29th, 2009

Navegando por la red me encontré una excelente aplicación open source para crear sitios de comercio electrónico desarrollada sobre Ruby on Rails. La aplicación se llama Spree, y cada vez es usada más y más por empresas establecidas para ofrecer funcionalidad de comercio electrónico. También es uno de los proyectos con mayor actividad en GitHub.

Es un proyecto muy bueno y con gran crecimiento últimamente, así que lo debemos tener en consideración si necesitamos desarrollar un sitio de comercio electrónico y no queremos programar todo desde el principio.

Hay un demo para poder ver las funciones principales en http://demo.spreecommerce.com y también puedes obtener mayor información en la página web.

Entra las principales características encontramos:

  • Diseñado para ser extendido fácilmente por los programadores
  • Programado en Ruby on Rails
  • Facilidad para actualizarlo
  • Utilización de jQuery
  • Soporte para múltiples lenguajes
  • Configuración de la lógica para envíos
  • Más de 50 métodos de pago incluidos
  • Soporte para organización de categorías de forma compleja
  • Módulo de pago en una sola página
  • Posibilidad de pagos para clientes no registrados
  • Arquitectura 100% REST
  • Características avanzadas para manejo de inventario
  • Configuración de impuestos
  • Sistema optimizado para buscadores
  • Soporte para Google Analytics
  • Configuración fácil del diseño mediante CSS

Ofrece muchas características que vale la pena probarlo. Al menos yo lo haré para el siguiente proyecto que tenga que involucre comercio electrónico.