domingo, 31 de mayo de 2015

Tablas y jQuery

Es muy común para los que desarrollamos en web tener que usar tablas para mostrar datos.

Si la tabla no es muy grande, solemos darle unos estilos básicos y preocuparnos poco por ellas.

Pero qué pasa si la tabla empieza a crecer y crecer... Y nuestros usuarios quieren poder hacer búsquedas por los campos de las tablas, y además quieren ordenar por cualquier columna,...

Rápidamente empezamos a buscar algo en jQuery que nos ayude un poco, pero vemos que no hay nada en concreto. Lo que sí vemos es que hay muchos plugins sobre jQuery que nos ayudan sobre las tablas. 

Hoy vamos a ver uno de estos plugins: datatables (https://www.datatables.net/)

Y creo que lo mejor es que veamos los cambios con un ejemplo.

Supongamos que tenemos esta tabla:



Da miedo...

Vamos a añadir jquery y el plugin DataTables:

<script type="text/javascript" language="javascript" src="js/jquery.js"></script>
<script type="text/javascript" language="javascript" src="js/jquery.dataTables.js"></script>

Y ahora vamos a invocar al plugin con estas líneas:

$(document).ready(function() {
$('#example').DataTable();
} );

Probamos y:


Esto ha mejorado bastante, no tiene estilos, pero ya tiene paginación, y un buscador sobre todas las columnas.

Si nos vamos a la documentación, vemos que hay una css por defecto que podemos usar, y unas imágenes que nos ayudarán a hacer la tabla más funcional.

Copiamos la carpetas "images" y la css que nos interesa. Añadimos css al código:

<link rel="stylesheet" type="text/css" href="css/jquery.dataTables.css">

Y volvemos a probar:


Esto ya es una tabla en condiciones, con la imágenes ya nos aparecen los controles para poder cambiar el orden de las columnas.

Sí, tenemos que cambiar algunas cosas: los textos por defecto, alguna alineación,... Pero hay  que reconocer que nos hemos quitado unas cuantas horas de programación de encima.

En nuestro repositorio podéis ver este ejemplo en los tres pasos que hemos hecho: 


Tenéis éste y muchos más ejemplos en la web del plugin (https://www.datatables.net), además de mucha documentación para indagar y personalizar mucho más vuestras tablas.

viernes, 15 de mayo de 2015

Powershell: Una breve introducción


Hace un tiempo, cuando en mi empresa realizamos la automatización de despliegues, utilizamos Powershell como lenguaje de scripting para la realización del proceso de despliegue del paquete de aplicación una vez generado.

Hasta entonces no tenía conocimiento de esta tecnología, e investigando un poco más descubrí todo lo potente que es y las posibilidades que ofrece para todos aquellos que trabajan con sistemas Windows.

Extraído de Microsoft Technet

"Windows PowerShell es un shell de línea de comandos basado en tareas y lenguaje de scripting diseñado especialmente para la administración del sistema. Basado en Microsoft .NET Framework, Windows PowerShell ayuda a los profesionales de TI a controlar y automatizar la administración de los sistemas operativos Windows y las aplicaciones que se ejecutan en Windows.

Para los programadores, Windows PowerShell usa un conjunto extensible de clases de .NET Framework que permiten crear cmdlets, proveedores, aplicaciones host y utilidades personalizados.
Los comandos de Windows PowerShell integrados en Windows, denominados cmdlets, permiten administrar los equipos de la empresa desde la línea de comandos. Los proveedores de Windows PowerShell permiten obtener acceso a almacenes de datos, como el Registro y el almacén de certificados, con la misma simplicidad con que se obtiene acceso al sistema de archivos. Además, Windows PowerShell cuenta con un completo analizador de expresiones y un lenguaje de scripting totalmente desarrollado."

Powershell ofrece los siguientes componentes:



El componente "Windows Powershell" es una consola de comandos en la que se pueden ejecutar las sentencias y scripts que se deseen, al estilo de la consola de comandos de Unix:


El componente "Windows Powershell ISE" (Integrated Scripting Environment) es una aplicación que permite ejecutar comandos y escribir, comprobar y depurar scripts en una sola interfaz gráfica de usuario, un compilador básico que ofrece Microsoft:



Powershell está disponible desde Windows XP, en sus versiones 1 y 2, y en Windows 7 y posteriores está disponible la versión 3.0. En Windows 8, Windows Server 2012 y posteriores ya viene instalado, para otras versiones de Windows no suele venir instalado, así que es necesario descargar e instalar la versión deseada (cuanto más reciente mejor).

Powershell ofrece los siguientes elementos de trabajo:

  1. Cmdlets
  2. Funciones
  3. Scripts

Cmdlets

Los comandos de Powershell se llaman Cmdlets (command-lets). Se reconocen por comenzar por un verbo (por ejemplo Get) seguido de un guión y un nombre descriptivo del comando. Vamos a ver un ejemplo sencillo desde la consola de comandos. Se desea listar el contenido de un directorio, basta con ejecutar el cmdlet "Get-ChildItem" pasando como parámetro el directorio a listar:



Si se desea ver la ayuda relacionada con el cmdlet anterior, basta con utilizar el cmdlet "Get-Help" y pasar como parámetro el cmdlet del que se desea obtener la ayuda:


Hay que destacar que es posible crear y utilizar cmdlets propios. 

Funciones

En Powershell también se pueden definir funciones, al igual que en otros lenguajes de programación, y también pueden recibir parámetros:



Una vez creada la función puede utilizarse:

Scripts

Finalmente, se pueden crear ficheros propios con funciones e instrucciones para ejecutar los comandos necesarios para llevar a cabo una acción. Estos ficheros deben almacenarse con extensión ".ps1". Al ser invocados pueden recibir parámetros de entrada y utilizarse durante el script.

En la imagen siguiente puede verse un sencillo script almacenado como "MiScript.ps1", que recibe un parámetro que se utiliza posteriormente al invocar la función "HolaMundo":


Una vez almacenado el fichero, se invoca desde la línea de comandos:


Con un parámetro relleno, se ve que se ejecuta la función "HolaMundo" definida en el script. En caso contrario devuelve "No es un parámetro válido":


Es de destacar en este script de ejemplo que se invoca una función de .Net (IsNullorEmpty(), del objeto String en el Namespace System). Esto nos da una idea de lo potente que puede llegar a ser nuestra programación en Powershell, ya que al propio ecosistema de Powershell (cmdlets disponibles, funciones, etc), se pueden importar o invocar Namespaces específicos del framework .Net y realizar algoritmos y funciones realmente complejas.

Ayuda y recursos

Para finalizar, remarcar que ésta ha sido una introducción muy breve a las características de Powershell. En Internet hay gran cantidad de sitios y tutoriales disponibles para aprender toda la potencia de este lenguaje. Tal el vez el sitio más potente sea Powershell.org.

En la Academia Virtual de Microsoft (Microsoft Virtual Academy) se pueden encontrar muchos cursos introductorios y avanzados de Powershell.



Otro día hablaremos de esta academia virtual y otros recursos de Microsoft que nos pueden echar una mano en nuestro aprendizaje.