JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Cómo mostrar notificaciones de escritorio con Chrome

 ATENCIÓN OBSOLETO Con Chrome 35, lanzado en mayo de 2014, todo lo explicado en este artículo ha dejado de ser funcionar ya que se ha eliminado el soporte para esta API. Ahora existe una API nueva, estándar, basada en la que dicta la W3C y que además funciona en varios navegadores. Tienes todos los detalles en este artículo. Google Chrome posee una característica sensacional que le permite mostrar notificaciones en el escritorio desde código JavaScript. Lo estupendo de estas notificaciones es que se ven en el escritorio y las puedes mostrar en cualquier momento, aunque el navegador no esté en primer plano o esté minimizado. Si tu aplicación comprueba información en segundo plano con AJAX (como hace GMail con los nuevos correos) el usuario puede dejar el navegador minimizado y aún así recibirá notificaciones cuando haya algo nuevo que atender. Como vemos las posibilidades son muchas Nota: Internet Explorer dispone de un método createPopup disponible desde la versión 7 análogo a... [Más]

TRUCO: Cómo detectar el cierre o la salida de una página Web

Seguramente te has topado en algunas ocasiones con que, tras haber rellenado algunos campos de un formulario , algunas aplicaciones Web te avisan si pretendes cerrar la ventana o abandonar la página, ya que perderías los datos. Yo por ejemplo utilizo bastante el webmail de Google, GMail, y muchas veces si acabo de enviar un correo y cierro muy rápido la ventana, como el correo aún no ha terminado de enviarse me avisa para evitar que se pierda. ¿Cómo es posible conseguir esto? La verdad es que es muy sencillo y se consigue en la práctica totalidad de los navegadores modernos (excepto en Opera) gracias al evento onbeforeunload de la ventana del navegador. Consideremos el siguiente ejemplo: <html> <head> <title>Prueba de abandono de página</title> <script language="JavaScript" type="text/javascript">   var bPreguntar = true;   window.onbeforeunload = ... [Más]

Recibir resultados de una página en otra: Transferencias y Cross-page posting

Hay ocasiones en las que tenemos una página muy poblada de controles que se deben mostrar en pasos sucesivos. Desde una simple recogida de datos que se haya complicado un poco, hasta varios pasos de un asistente, por ejemplo. Existen muchas maneras de solucionar esta situación y hacer que las páginas estén un poco más despejadas. Por ejemplo, podemos usar un control Wizard nativo de ASP.NET Web Forms. Sin embargo una forma mucho más natural de conseguirlo es recibir los resultados de la primera página en una nueva que los procesa y continúa el flujo de la aplicación. De hecho, en los paradigmas de programación convencionales (o sea, en todo lo que no sea Web Forms, incluyendo ASP.NET MVC pero también PHP, etc...) realmente es como se ha hecho siempre: unas páginas pasan datos a otras para procesarlos. Transferencia en el lado del servidor En ASP.NET disponemos de la instrucción Server.Transfer que nos permite derivar la ejecución actual de una página hacia otra, como si se ejecutase... [Más]

Simular notificaciones PUSH en una página Web

En mi último post describía la arquitectura que utilizan tanto iPhone como Windows Phone 7 para enviar notificaciones PUSH desde aplicaciones externas a los usuarios de los teléfonos. La comunicación entre el dispositivo y el servicio de notificaciones se basaba en una conexión “raw” permanentemente abierta entre ambos. Pero ¿cómo podemos simular algo así en una página Web? Hace poco un alumno de mi curso de preparación del examen 70-515 de desarrollo Web con tecnologías Microsoft, me preguntaba acerca de esta cuestión. En concreto la pregunta iba sobre sobre cómo conseguir el efecto de actualización automática de información que consiguen algunas páginas (como las de apuestas o de información bursátil) en las que el servidor envía información a los clientes sin que haya –aparentemente- una petición explícita... [Más]

Mis dos libros de ASP.NET disponibles en PDF

Desde ayer están disponibles en la tienda on-line de Krasis mis dos libros de ASP.NET para compra también en PDF: Existen tres opciones a la hora de comprar cada libro: comprarlo en papel (como siempre), comprarlo en PDF o, para mi la mejor opción, comprarlo a la vez en papel y en PDF. En este último caso por sólo 5 euros (+IVA) más sobre el precio de papel podemos comprar el libro en PDF. Basta con seleccionar la opción que nos interese antes de darle al botón de añadir al carrito: El eterno dilema de la protección y el "pirateo" En krasis no creemos en sistemas como Adobe Digital Editions y similares que atan la compra a un dispositivo determinado y que coartan tu libertad de uso de lo que has comprado. No nos parece justo que compres un PDF y puedas leerlo solamente en el ordenador en el que lo has comprado y que tengas que usar un programa especial para leerlo. Queremos libertad para que el comprador haga un uso responsable de su compra. Por ello estos libros son PDFs que... [Más]

Creación de manejadores de peticiones asíncronos: El contador de Meneame.net

Meneame.net es una Web recopiladora de enlaces en la que los usuarios publican enlaces que creen de interés, y el resto de los usuarios votan o critican en función de lo sus intereses. La teoría es que, de este modo, los enlaces más interesantes subirán hacia las primeras posiciones de su categoría en virtud de este proceso de "crowdsourcing". La práctica es que no siempre es así (prueba a posicionar un enlace técnico, por ejemplo). Pero no obstante la web es muy interesante para encontrar enlaces y noticias de interés general dentro de temáticas más o menos prosaicas. A cada voto que recibe una URL se le denomina "meneo". El caso es que, al menos oficialmente, no existe ningún botón de información sobre cuántos "meneos" tiene una determinada URL, al estilo de los que tiene Facebook o Twitter. Los únicos desarrollos que integran este botón para poder poner dicha información en tu blog o web pertenecen a sitios de valoración social, estilo ShareIt y compañía, por lo que si quieres tene... [Más]

La manera correcta de actualizar contadores de rendimiento personalizados

Esta es una pregunta interesante que ha surgido en el curso de fundamentos de la plataforma .NET que tutelo on-line en campusMVP. Se trata de una pregunta sencilla pero con una sutileza interesante respecto a la creación de contadores de rendimiento para Windows desde .NET. Cuando creamos un contador personalizado en .NET incrementamos o disminuimos su valor para actualizar la medición que queremos reflejar en el contador de rendimiento del sistema. Algunos ejemplos de contadores que podemos crear son: uno que indique el número de usuarios actualmente autenticados en nuestra aplicación Web, uno que indique el número de compras realizadas en una tienda on-line, el promedio de consultas lanzadas contra un almacén de datos, etc, etc... Tienen mucha utilidad ya que nos permiten monitorizar con las herramientas propias de Windows el desempeño de nuestras aplicaciones, tanto en tiempo real como haciendo trazas para un análisis posterior. El caso es que todos ellos implican generalmente e... [Más]

Pase lo que pase, los desarrolladores tienen la llave del futuro

Ayer escribí un artículo en mi otro blog no-técnico que realmente tiene mucho que ver también con este blog y con los programadores. Como creo que a muchos de los que leen este blog técnico les puede interesar, ya que realmente trata temas importantes sobre tendencias y futuro de las plataformas y de Internet. Si eres un programador debes estar al tanto de estas tendencias. El artículo es bastante largo por lo que resumo a continuación algunas ideas clave: Los fabricantes de sistemas operativos móviles (Apple, Microsoft, Blackberry, Android..) se están peleando encarnizadamente por conseguir desarrolladores para sus plataformas. Es indudable que el futuro de Internet pasa en gran medida por los dispositivos móviles, entendidos como algo más que los teléfonos. Internet cada vez está más imbricado en nuestra vida y no querremos prescindir de él en ningún momento. Apple ha llevado hasta ahora la iniciativa con sus iPhone/iPad, pero los demás se están poniendo las pilas. El éxito... [Más]

TRUCO: Cómo centrar un elemento HTML con CSS

En mi opinión la combinación HTML+CSS es un verdadero infierno. Es para volverse loco como el de la foto. Y si le añades JavaScript no te quiero ni contar. Y no debería ser así. Hay muchas cosas que debes hacer normalmente y que deberían ser muuuuy fáciles, pero CSS las convierte en algo complicadísimo. Por ejemplo lo que me ocupa hoy: si quiero que un elemento de mi página aparezca centrado dentro de su elemento padre ¿por qué no puedo poner simplemente un atributo “centered:true;” o algo así?. No debería ser tan complicado como es ahora ¿verdad?. Bien es cierto que no soy un super-experto en CSS y que además lo que de verdad convierte el trabajo Web en un infierno son los navegadores y sus pequeñas sutilezas y diferencias a la hora de cumplir (o no) los estándares. Pero también es verdad que es excesivamente complicado y no debería ser así. Encima todavía hay mucho gañán por ahí que usa Internet Explorer 6 (o peor aún, Windows 98), Firefox del año de la polka, o (me dan escalofríos ... [Más]