miércoles, 22 de noviembre de 2017

¿Por qué deberías usar DataTables?

En esta oportunidad hablaremos sobre Datatables, una herramienta muy poderosa, que nos permite ahorrar  gran cantidad de tiempo a la hora de programar, al abstraernos de los detalles más técnicos de la implementación.

Pero, ¿qué es exactamente Datatables? Bueno, es un plug-in gratuito para el desarrollo de aplicaciones web que se monta sobre jQuery (otro reconocido componente del mundo web). Es una herramienta extremadamente flexible que permite la construcción de grillas de manera rápida y sencilla, invirtiendo así un esfuerzo de desarrollo bastante menor.


En nuestro proyecto surgió la necesidad de implementar una grilla en pantalla que, principalmente, sea exportable a Excel. Además, la misma debía ser muy flexible y dar la posibilidad al usuario de poner filtros y ordenar los datos según diferentes criterios.
Luego de analizar varias opciones que existen en el mercado, entre las cuales se destacaba jqGrid, decidimos usar Datatables.
A continuación mencionamos algunos de los principales tópicos que consideramos en su momento para tomar nuestra decisión y terminar optando por el uso de este framework:

Pros
  • Una vez implementada, es muy simple replicarla en el resto de la aplicación.
  • Es sencillo ampliar y/o modificar el plug-in ya que es de código abierto y existe una amplia comunidad que lo mantiene y evoluciona constantemente.
  • Del lado del frontend, la cantidad de código necesaria para dejarla operativa es ínfima en comparación a otras soluciones que hemos evaluado.
  • Incluye la posibilidad de exportar a Excel, lo cual era un requerimiento indispensable en nuestro proyecto. La exportación a Excel se puede lograr con un mínimo esfuerzo y sin necesidad de integrar otro componente adicional.
  • Posee múltiples tipos de paginación disponibles out of the box.
  • Brinda la posibilidad de configurar diversos tipos filtros para las diferentes columnas.
  • Posee soporte para internacionalización.
  • Permite configurar múltiples opciones de orígenes de datos.
  • Es customizable mediante CSS.
  • Existe mucha documentación disponible en Internet, lo que facilita enormemente su implementación.

Contras
  • Al abstraerse de los detalles de su implementación, como con todo componente, estamos delegando control al plug-in, pero en realidad sucede lo mismo con todos los frameworks y, de hecho, es algo que deseamos ya que nos permite enfocarnos más en los temas funcionales y no tanto en los técnicos.
  • El punto crucial es si esta abstracción se encuentra en la justa medida que nos permita, por un lado, enfocarnos en la funcionalidad a construir y, por el otro, personalizar el componente de acuerdo a los requerimientos proporcionados por nuestro cliente.

Beneficios
Estamos muy contentos con DataTables.Entre los múltiples beneficios que obtuvimos podemos mencionar:
  • Se redujo el tiempo de desarrollo.
  • No tuvimos inconvenientes de performance ni bugs con las grillas.
  • Las grillas son fáciles de mantener.
  • Funcionan correctamente entre los varios navegadores del mercado.
  • El cliente quedó muy conforme con su visualización.
  • Su uso es muy intuitivo.

Actualmente tenemos planificado hacer unas modificaciones al plug-in para poder modularizar nuestros desarrollos particulares sobre el componente y, en un futuro, subirlo a NuGet para que esté disponible para otros proyectos específicos y para la comunidad en general.

En el sitio oficial hay gran variedad de documentación que los desarrollares y arquitectos podrán consultar para obtener más referencias sobre este plug-in, con una mantención muy activa, y en donde, además, se encuentran muchos ejemplos sobre su utilización. Por ejemplo, este es uno de ellos: https://datatables.net/examples/basic_init/zero_configuration.html

Links útiles:

Referencias:

Autores:
Pablo Bianco 
Video game & .Net developer 
Ingresó a Baufest a través del programa de entrenamiento intensivo (PEI). Inició sus actividades en un proyecto de desarrollo en el  cual utiliza varias tecnologías modernas.

Julián Haeberli 
Actualmente se desempeña como Technical Expert en un proyecto de soporte de aplicaciones para un cliente nacional. A lo largo de su carrera dentro de Baufest se certificó en varias tecnologías y logró variados reconocimientos a su esfuerzo y labor.