oct 12 2011

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

JM AlarcónCategorías: Desarrollo Web
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" type0"text/javascript">   var bPreguntar = true;   window.onbeforeunload = preguntarAntesDeSalir; ... [Más]

Tags:

sep 3 2011

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

JM AlarcónCategorías: ASP.NET | Desarrollo Web
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]

Tags: ,

abr 6 2011

Simular notificaciones PUSH en una página Web

JM AlarcónCategorías: AJAX | ASP.NET | Desarrollo Web
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]

Tags:

mar 31 2011

Arquitectura: Cómo funcionan las notificaciones en los teléfonos móviles (iPhone, Windows Phone…)

JM AlarcónCategorías: Azure | Desarrollo Web
Arquitectura: Cómo funcionan las notificaciones en los teléfonos móviles (iPhone, Windows Phone…) Los smartphone actuales tienen mayor potencia que muchos ordenadores de hace solo unos años, y además tienen la característica fundamental de que están siempre conectados a Internet, bien a través de 3G o de WiFi. Eso los hace muy adecuados para todo tipo de aplicaciones que consuman información en tiempo real (o “casi-real”), así como la implementación de servicios que impliquen el consumo de información muy actualizada (noticias, avisos, mensajes, etc…). Por ejemplo, Windows Phone 7 dispone de 3 tipos de notificaciones: las “Tostadas” (Toast) que son mensajes informativos que saltan en cualquier momento, las de “Baldosas” (Tile) que se muestran directamente en los rectángulos que representan tu aplicación en la portada, y las “raw” que se reciben directamente en la aplicación cuando está en ejecución. En esta figura la franja verde de la parte superior es una notificación Toast y en las baldosas podemos ver numeritos que se corresponden con notificaciones Tile: En el caso de iOS ... [Más]

Tags:

nov 16 2010

Mis dos libros de ASP.NET disponibles en PDF

José Manuel AlarconCategorías: AJAX | ASP.NET | Desarrollo Web
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]

Tags: , ,

oct 24 2010

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

José Manuel AlarconCategorías: ASP.NET | Desarrollo Web | Freeware
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]

Tags: , ,

oct 13 2010

La manera correcta de actualizar contadores de rendimiento personalizados

José Manuel AlarconCategorías: Desarrollo Web | Programación | Windows Forms
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]

Tags: , ,

ago 23 2010

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

José Manuel AlarconCategorías: Desarrollo Web | Mundo TIC | Sistemas operativos
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]

Tags: , ,

ago 13 2010

TRUCO: Cómo centrar un elemento HTML con CSS

José Manuel AlarconCategorías: Desarrollo Web | Expression Web
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]

Tags: ,

jul 11 2010

Cómo suplantar usuarios de tu aplicación para soporte

JM AlarcónCategorías: ASP.NET | Desarrollo Web | Seguridad
Cómo suplantar usuarios de tu aplicación para soporte Esta es una cuestión bastante habitual y es que es muy útil, siendo administrador de una aplicación, poder entrar como cualquier otro usuario para ver lo mismo que éste ve y poder hacer cosas en su nombre. Sobre todo a la hora de dar soporte técnico, poder atender mejor a los usuarios, ayudarles o detectar posibles problemas en sus cuentas. La idea es la de poder entrar haciéndonos pasar por otros usuarios, como si fuésemos ellos, pero sin conocer sus credenciales. El otro día un alumno de mi curso de Desarrollo Web con ASP.NET me preguntó  precisamente esto, por lo que me he decidido a grabar un vídeo práctico explicando como hacerlo. Como verás es muy fácil, pero interesante. Dejo el vídeo a continuación y te recomiendo que, antes, te leas este post que escribí hace tiempo sobre el funcionamiento de las cookies de autenticación. ¡Espero que te resulte &... [Más]

Tags: , ,