Lo mejor de mi timeline del 28 de abril al 4 de mayo

  • @LuisPabloPardo Articulo interesante sobre la situación actual del mercado tecnológico
  • @CanalEscape Google Drive para Linux muy pronto
  • @wizfader descargar videos de youtube en un Terminal de linux
  • @ibm_mx Transición a Linux para administradores Windows
  • @NoticiaLinux Electronic Arts estará en el Ubuntu Developer Summit
  • @TuXapuntes ¿El software de animación esta muerto en Linux?
Leer más » Comentar

Pantalla de espera en peticiones AJAX con jQuery

Cuando trabajamos con aplicaciones que tienen interfaces web, sin lugar a dudas, la experiencia de usuario mejora enormemente si hacemos uso de tecnologías como AJAX que nos permiten transmisiones y recepciones asíncronas.

No se fuerzan cambios ni refrescos de pantalla y por lo tanto, la experiencia del usuario es más continua y más parecida a cómo sería en un interfaz de escritorio. Sin embargo, este tipo de tecnologías tiene un problema: si no controlamos los eventos del usuario mientras existe una carga de datos, es posible que se generen comportamientos erráticos.

Pongamos un ejemplo. Tenemos un sistema que carga una serie de datos de forma dinámica con AJAX a través de un formulario. Cuando el usuario hace la búsqueda, la carga se realiza y se le muestra. Si la carga tarda “mucho” y no se bloquea de alguna forma la posibilidad de seguir buscando, pueden aparecer resultados incoherentes (de búsquedas anteriores) o directamente fallar el sistema por sobrecarga.

¿Cuál es la solución más popular para este tipo de problemas? Utilizar una pantalla de espera. Vamos a explicar cómo hacerlo con jQuery en muy pocos pasos.

Introducción

La solución que vamos a usar, utilizará un div no opaco de color gris, que ocupará la pantalla al completo cuando se produzca una petición de tipo AJAX. El div incorporará una animación en la parte central.

El div

Deberemos situar un div que por defecto se encuentre escondido, hide, justo al comienzo de nuestro código del body. Contendrá una imagen de carga, que podréis generar fácilmente con alguna aplicación web como AJAXLoad.

El código será el siguiente:

<div id="div_carga">
<img id="cargador" src="./images/ajax-loader.gif"/>
</div>

El estilo del div

Para que el div ocupe la pantalla completa y la imagen se quede en medio, deberemos establecer las siguientes reglas CSS:

#div_carga{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
	background: url(images/gris.png) repeat;
	display:none;
	z-index:1;
}

#cargador{
    position:absolute;
    top:50%;
    left: 50%;
    margin-top: -25px;
    margin-left: -25px;
}

El fichero gris.png que aparece, es un fichero con una imagen en PNG de color gris con transparencias.


El código jQuery

Finalmente tenemos que introducir el código que se encargue de hacer que en cuanto se produce una petición AJAX el div se muestre y que cuando finalice, se oculte. Podríamos hacerlo para cada operación, pero es mucho más cómodo usar las funciones:

¿Cómo? Como se muestra a continuación.

$('#div_carga') .hide() .ajaxStart(function() { $(this).show(); }) .ajaxStop(function() { $(this).hide(); }) ; read more

Leer más » 12 Comentarios

Pencil, software de animación 2D

Pencil, software de animación tradicional

Siempre me ha gustado la animación. Creo que todos de pequeños hemos probado algo de esto dibujando sobre cuadernos y haciendo pasar las páginas, aunque el resultado no siempre era del todo el esperado, la idea resultaba divertida. Hoy en día, con un ordenador podemos hacer animaciones más fácilmente, sin embargo, parece que apenas nos encontramos con plataformas de código abierto (o gratuitas) para realizar este cometido.

Uno de los programas más básicos para este aspecto es Pencil Planner, y es que al tratarse de código libre se mejoró y se integró (es la base) con el proyecto que titula este post: Pencil. read more

Leer más » 8 Comentarios