15 gemas de Ruby extremadamente útiles para el desarrollo web

Una de las cosas más agradables en el desarrollo con la plataforma Ruby es la enorme cantidad de código meticulosamente categorizado, altamente reutilizable envuelto en forma de 'gemas' como se suelen llamar.

Estoy seguro de que has oído hablar de frameworks como Sinatra o del popular Rails que incluye muchísimas gemas, pero te pierdes un amplio espectro de funciones que se encargan de cuestiones a un nivel mucho más bajo. En este artículo vamos a ver alguna de estas llamadas gemas y vamos a explicar su funcionamiento relativo al desarrollo web.

Soy muy consciente de que algunas de las joyas que aparecen aquí están en Rails  o dependen directamente de Rails. Eso no quiere decir que sean menos útiles o tengan que ser despreciadas.

CarrierWave

Sube archivos en tus aplicaciones Ruby, asignarlos a una gama de ORM, almacenarlos en diferentes backends. Funciona bien con aplicaciones web basadas en rack, como Ruby on Rails.

Kaminari

Kaminari es un paginador limpio, potente, personalizable y sofisticado. Kaminari soporta múltiples ORM (ActiveRecord, Mongoid, MongoMapper), múltiples frameworks web (Rails, Sinatra), y múltiples motores de plantilla (ERB, Haml).

HAML

Haml (HTML Abstraction Markup Language) es una capa en la parte superior del XHTML o XML que está diseñada para expresar la estructura de XHTML o documentos XML de una manera elegante, no repetitiva, utilizando sangrías  en vez de etiquetas de cierre y permitiendo a Ruby ser incrustado con facilidad. Fue concebido originalmente como un plugin para Ruby on Rails, pero puede funcionar como un motor de plantillas autónomo.

Authlogic

Un modelo de autenticación simple y poco intrusivo basado en Ruby. Authlogic es muy flexible, cuenta con una potente API pública y multitud de hooks que te permiten modificar su comportamiento para, así, extenderlo.

Shoulda

Shoulda es una gema que te permite realizar tests más comprensibles en tu aplicación Ruby. Shoulda te brinda la posibilidad de proporcionar contexto a tus pruebas categorizándolas de acuerdo a una característica específica o a algún escenario que estés probando.

RMagick

RMagick es una interfaz entre el lenguaje de programación Ruby y las librerías  de procesamiento de imágenes ImageMagick y GraphicsMagick.

Cancan

CanCan es una librería de autorización para Ruby on Rails que restringe a qué recursos puede acceder un usuario determinado y desacopla las funciones del usuario. Todos los permisos se almacenan en un solo lugar y no se duplican en todos los controladores, vistas y consultas de bases de datos.

Nokogiri

Nokogiri es un parseador de archivos HTML, XML y SAX. Entre las muchas características de Nokogiri, la que más destaca es la capacidad de buscar documentos a través de XPath o selectores de CSS3. Nokogiri analiza y busca en los XML / HTML muy rápidamente. Es muy útil a la hora de parsear contenido de forma rápida y sobre todo segura.
lectura relacionada

Sass

Sass hace que CSS sea divertido otra vez. Sass es una extensión de CSS3, que añade reglas anidadas, variables, mixins, herencia de selectores y mucho más. Se traduce al CSS estándar utilizando una herramienta de línea de comandos o un plugin web-framework.

Formtastic

Formtastic es un FormBuilder DSL de Rails (con más ventajas) que hace que sea mucho más sencillo el crear formularios HTML asombrosos, semánticamente ricos, sintácticamente impresionantes, con estilos y maravillosos en nuestras aplicaciones Rails.

Capistrano

Capistrano es una utilidad y un framework para la ejecución de comandos en paralelo en varios equipos remotos, a través de SSH. Utiliza un sencillo DSL (tomado en parte de Rake) que le permite definir tareas, que pueden ser aplicadas a máquinas en ciertos roles. También es compatible con conexiones de túnel a través de una máquina de puerta de enlace para permitir operaciones a realizar en VPNs y cortafuegos.

OmniAuth

OmniAuth es un framework de autenticación de Ruby que proporciona una interfaz estandarizada para diferentes proveedores de autenticación como Facebook, OpenID, e incluso el tradicional nombre de usuario y contraseña.

Bundler

Bundler es una herramienta que gestiona las dependencias de la gema con su aplicación rubí. Necesita un archivo de manifiesto para que sea capaz de buscar, descargar e instalar las gemas y todas sus dependencias secundarias especificadas en el manifiesto. Se puede gestionar cualquier actualización desde el archivo de manifiesto y actualizar las gemas en lote, en consecuencia. También permite ejecutar cualquier código Ruby en el contexto del entorno del paquete de la gema.

Resque

Resque es una librería respaldada por Redis para la creación de trabajos en segundo plano, colocación de tareas en múltiples colas, y procesamiento posterior. Resque está fuertemente inspirado por DelayedJob.


Capybara

Capybara ayuda a testear aplicaciones en Rails mediante la simulación de cómo un usuario real podría interactuar con la aplicación. Es agnóstico sobre el controlador de la publicación de sus pruebas y cuenta con soporte a Selenium incorporado.

 

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO