Vous êtes sur la page 1sur 4

Herramientas imprescindibles para un desarrollador de

Ruby on Rails

herramientas imprescindibles a la hora de embarcarte en un proyecto con tu


lenguaje y/o framework preferido. En esta ocasión, os voy a describir las que yo
considero más importantes para desarrollar aplicaciones en Ruby on Rails.

El intérprete

Lógicamente, necesitamos una versión del intérprete de Ruby para poder trabajar.
En los proyectos nuevos, ya no tiene tanto sentido utilizar la versión 1.8.x del
intérprete oficial, y lo recomendable suele ser trabajar directamente con la versión
1.9.2 del mismo. No obstante, además de los intérpretes oficiales, existen muchos
otros igualmente válidos, algunos de los cuales bastante potentes, y siempre que
las librerías y gems que vayamos a utilizar en nuestro proyecto sean compatibles
con estos, no existe ninguna traba para usarlos.

El intérprete oficial (también llamado CRuby) se puede descargar en sus


diferentes versiones desde la página oficial del lenguaje, aunque si utilizas Linux
seguramente te sea más fácil utilizar los paquetes que te proporcione tu
distribución. Algunos de estos intérpretes alternativos a CRuby son: JRuby,
Rubinius, Ruby Enterprise Edition, y otros muchos que aún tienen algunos
problemas de compatibilidad con librerías habituales.

Si tuviera que mencionar un favorito de entre los alternativos, ese sería JRuby, ya
que no sólo su rendimiento es espectacular, sino que además permite la
ejecución de aplicaciones Rails en entornos donde sólo tienen cabida servidores
de aplicaciones en entornos Java como pudiera ser GlassFish. Esto permite que
puedas colocar tu aplicación Rails en servidores de empresas que ya están
siendo usados para servir otras aplicaciones escritas en Java sin tener que
cambiar mucho el entorno del servidor.
Si además deseas poder trabajar con varios intérpretes simultáneamente desde tu
máquina, te aconsejo que le eches un buen vistazo a Ruby Versión Manager
(RVM). Aunque tengo intención de dedicarle un artículo por separado en breve.

Software de virtualización

Aunque a menudo Rails se utiliza como backend web de ciertas aplicaciones, es


más habitual que sea usado para programar una aplicación web completa,
incluido el frontend. Y claro, cualquier aplicación web que se precie ha de
probarse bien en diversos navegadores, no sólo el que tengas en tu máquina. Es
por ello que el uso de un software de virtualización se vuelve imprescindible.

Yo trabajo con Mac, pero dado que he de probar el renderizado de las vistas en
Internet Explorer, he de instalarme una máquina virtual para poder tener Windows
en ella con este navegador, que no existe para otras plataformas. Es más, lo
normal es tener más de una máquina virtual, cada una con una versión diferente
del navegador, para realizar las pruebas con un entorno lo más fiel posible a
aquel que utilizará el usuario. Si trabajas en Windows, necesitarás poder probarlo
en Safari. Si trabajas en Linux, puede que necesites probar tu aplicación en los
dos navegadores anteriormente mencionados. En definitiva, seguramente
necesites un software de virtualización.

De entre los más famosos, se encuentra VirtualBox (que ahora pertenece a


Oracle), el cual corre en todas las plataformas y es gratuito. Aunque también
puedes usar Parallels, una de las opciones preferidas si trabajas con Mac, o
VMWare, un clásico del mundo de la virtualización que no defrauda.

ImageMagick

Es muy habitual que tu aplicación web necesite poder manipular imágenes


subidas por los usuarios. Y aquí la navaja suiza suele ser ImageMagick, un
software que permite hacer recortes, giros, redimensionados, adiciones de texto
superpuesto, y decenas de otros efectos, a imágenes que estén en casi cualquier
formato. Si bien lo normal es utilizar una gema de Ruby que facilite estas
operaciones utilizando un DSL sencillo, estas gemas suelen luego traducir las
especificaciones de tamaños y cambios de proporción que hayamos escrito en
comandos que utilizan las herramientas ImageMagick. Así que es casi obligatorio
tenerlas instaladas.
Firebug

Aunque he de decir que últimamente utilizo más las herramientas para


desarrolladores de Chrome, la herramienta favorita para obtener resultados
similares es sin duda Firebug. Gracias a esta extensión para Firefox, podrás
inspeccionar el DOM, realizar cambios en el mismo, echar un vistazo a las
peticiones HTTP realizadas, depurar código Javascript, analizar el rendimiento de
tu aplicación, y otras muchas actividades realmente útiles durante el desarrollo.
Imprescindible.

Servidor de integración continua

Es realmente sano hacer que los tests escritos para tu aplicación se corran de
forma automática cada vez que subes algo al repositorio de control de versiones.
Para este propósito, mi preferido es Integrity, un servidor muy ligero, pero no por
ello menos potente escrito en Sinatra.

Organizador de tareas

Es necesario que llevemos un control de las tareas que hemos realizado, estamos
realizando o pensamos realizar, así como que marquemos unos objetivos a corto
plazo y registremos cualquier tipo de notas relacionadas con las tareas o bugs
que nos sirvan de base de conocimiento. Para todo esto, y para organizar el
trabajo en equipo, lo mejor es utilizar un servicio online que encaje con vuestra
forma de trabajar. En este caso, mis preferencias se decantan por Pivotal Tracker,
un servicio web de gestión de tareas online que encaja perfectamente con la
filosofía de trabajo SCRUM. Pero si prefieres un entorno más clásico de tickets,
milestones y cosas así, o si sencillamente prefieres poder instalar la herramienta
de gestión en tu servidor, Redmine es probablemente tu mejor opción. Y como
está escrita en Ruby on Rails, siempre puedes extenderla fácilmente para ir
adaptándola a tus necesidades.
Con que bases de datos Interactúa

Si bien podemos operar con la base de datos desde línea de comandos,


probablemente existan muchas operaciones (especialmente de consulta) que
sería más cómodo realizarlas desde una interfaz gráfica más amigable. Si
trabajas con MySQL y estás en Mac, te recomiendo que descargues Sequel Pro.
Es una aplicación muy cuidada, y con la que podrás manipular a tu antojo
cualquier aspecto de tu base de datos. Si prefieres tener una solución web, que
corre en todas las plataformas, entonces te recomiendo phpMyAdmin, desde el
cual podrás igualmente hacer la mayoría de las operaciones entrando con
cualquier navegador.

puede interactuar con los siguientes:

 ADO (ActiveX Data Objects)


 DB2
 Frontbase
 mSQL
 ODBC
 oráculo
 Oci8 (Oracle)
 PostgreSQL
 Proxy / Servidor
 SQLite
 SQLRelay

Vous aimerez peut-être aussi