JASoft.org

Cómo sacar partido en tus aplicaciones al modo de ahorro de datos de los navegadores

Cómo sacar partido en tus aplicaciones al modo de ahorro de datos de los navegadores
La característica de ahorro de datos de los navegadores todavía no está muy extendida, pero en los casos que de verdad es necesaria (usuarios con restricción de datos, malas conexiones o costes muy elevados de conexión) que nuestra aplicación responda automáticamente a este modo es un plus muy grande que nos puede ayudar a satisfacer a estos usuarios y ganar puntos ante ellos, además de demostrar calidad. Por supuesto, si trabajas para usuarios que van a tener probablemente estas restricciones, como gente de países menos desarrollados o personal que trabaja en zonas remotas (como obras de ingeniería grandes), es algo que puede resultar muy útil. En este artículo te explico en qué consiste, cómo activarla y cómo detectarla para responder ante ella y mejorar la navegación en estos casos. [Más]

Creando diálogos y pop-ups nativos con HTML: El elemento "dialog" de HTML 5.2

Creando diálogos y pop-ups nativos con HTML: El elemento "dialog" de HTML 5.2
Una necesidad común en casi cualquier aplicación Web es la de mostrar diálogos al usuario. Se trata de los típicos "pop-ups" que surgen en la aplicación de vez en cuando con múltiples propósitos: notificaciones, preguntar algo al usuario, mostrar los detalles de un registro en una base de datos... Casi cualquier cosa que se te pueda ocurrir. Crear algo como esto mediante el uso de capas y un poco de JavaScript no es muy complicado, pero tiene bastantes "pegas". Por eso el W3C, encargado de los estándares Web, definió en HTML 5.2 un nuevo elemento específicamente pensado para esta tarea: <dialog> y que tiene muchas aplicaciones. Vamos a ver cómo sacarle todo el partido. [Más]

Funciones reguladoras en JavaScript: cómo limitar el número de veces que se puede llamar a una función cada segundo (throttling y debouncing)

Funciones reguladoras en JavaScript: cómo limitar el número de veces que se puede llamar a una función cada segundo (throttling y debouncing)
En muchas ocasiones tenemos la necesidad de ejecutar en una aplicación la misma función JavaScript muchas veces seguidas, incluso sin pretenderlo. Por ejemplo un evento costoso que repinta un canvas a medida que redimensionamos la pantalla o que hace llamadas AJAX cuando un usuario teclea en un cuadro de texto. Pueden provocar muchas llamadas innecesarias y sería muy útil poder limitar el número máximo de veces que permitimos hacer una llamada a ciertas funciones. Para conseguirlo puedes crear un método regulador. Es lo que vamos a ver en este artículo. [Más]

Azure Web Apps #5 - Haciendo copias de seguridad automáticas de tus Web Apps

Azure Web Apps #5 - Haciendo copias de seguridad automáticas de tus Web Apps
Azure Web Apps ofrece la posibilidad de efectuar copias de seguridad automáticas de todos los archivos de la aplicación, la configuración y también de las bases de datos SQL Server o MySQL que estemos utilizando. Podremos establecer la frecuencia del backup y también el periodo de retención. Veremos que existen algunas limitaciones (y trucos) que deberíamos tener en cuenta. Con este artículo termino esta mini-serie sobre migración de aplicaciones a Azure Web Apps. [Más]

Azure Web Apps #4 - Asociando certificados SSL a tu Web App y configuración avanzada con Cloudflare

Azure Web Apps #4 - Asociando certificados SSL a tu Web App  y configuración avanzada con Cloudflare
En la actualidad toda aplicación web (o sitio web) que se precie debería trabajar con conexiones seguras. Esto no solo da una mejor imagen a los visitantes, sino que ofrece ventajas de todo tipo aparte de las obvias relacionadas con la seguridad. Por ejemplo, mejorará tu posicionamiento en buscadores (Google es adalid de esto), y dependiendo de donde albergues la web, incluso mejorará su rendimiento gracias a que tus visitantes podrán usar automáticamente HTTP2. Gracias a la existencia de Let's Encrypt y sus certificados SSL gratuitos, ya no hay disculpa. Cloudflare también te proporciona de manera automática un certificado SSL gratuito para tu dominio, así que si, como yo, utilizas este servicio, no te tienes que preocupar de esto. Aún así, si quieres tener Cloudflare con la máxima seguridad disponible te resultará útil saber cómo instalar a mano un certificado SSL en tu Azure Web App. Existen varias opciones de tener un certificado SSL en tu dominio alojado en Azure web Apps. en este artículo vamos a verlas todas... [Más]

Azure Web Apps #3 - Asociando dominios a tu Web App

Azure Web Apps #3 - Asociando dominios a tu Web App
En las dos entregas anteriores hemos estudiado qué son las Plataformas como Servicio o PaaS, en qué consiste el PaaS de Azure y sus ventajas e inconvenientes, y hemos creado nuestra primera Web App real en Azure, la hemos configurado y la hemos puesto en marcha. En la entrega de hoy vamos a ver cómo poner a andar el servicio con su propio dominio asignado. Esto es indispensable para dar una imagen corporativa y de calidad, y no podremos hacerlo en la capa gratuita de Azure Web Apps, solo en las opciones de pago. Pero es muy importante. Vamos a ver cómo hacerlo y qué dificultades nos podemos encontrar. [Más]

Azure Web Apps #2 - Creando y configurando la aplicación

Azure Web Apps #2 - Creando y configurando la aplicación
En el anterior artículo expliqué qué es una Plataforma como Servicio (PaaS) en la nube y por qué son interesantes. Presenté la PaaS de Microsoft, llamada Azure Web Apps, así como sus ventajas, sus inconvenientes, sus precios y para quién es adecuada. Ahora vamos a la parte práctica de cómo montar una aplicación real sobre Azure Web Apps, siguiendo el ejemplo de este blog, que migré sin adaptaciones a este servicio. En próximos artículos veremos configuraciones adicionales importantes, dominios propios, certificados SSL, la creación de backups, etc... [Más]

¿Migrar tu Web app a Azure? - Caso práctico con este blog (Parte I) - Qué es PaaS y Azure Web Apps

¿Migrar tu Web app a Azure? - Caso práctico con este blog (Parte I) - Qué es PaaS y Azure Web Apps
Con este post inicio una pequeña serie sobre Azure Web Apps con la disculpa de que hace unas semanas he migrado este blog a dicho servicio. Se trata de una Plataforma como Servicio (PaaS) que ofrece Microsoft en la nube y que permite obtener enormes ventajas para desplegar aplicaciones Web. Aunque no es para todo el mundo tampoco. En este primer artículo explico qué es PaaS, qué son las Azure Web Apps, qué ventajas presentan, qué inconvenientes tienen, cuánto cuestan (las hay gratuitas) y te comento lo que pienso sobre si son una buena opción para ti o no. [Más]

¿Detectar dispositivos móviles mediante código? Una mala idea...

¿Detectar dispositivos móviles mediante código? Una mala idea...
Hace poco alguien me preguntó cómo podía hacer, mediante JavaScript, para detectar si el dispositivo que estaba usando un usuario era o no un móvil. La idea era adaptar la interfaz y parte del JavaScript a ese caso concreto, para mostrar una interfaz y funcionalidad diferente para dispositivos móviles respecto a la "versión" de escritorio de la aplicación web. De entrada, detectar el dispositivo es una práctica muy poco recomendable. Hace ya bastantes años era lo habitual, pero en los últimos años, con la proliferación de dispositivos, navegadores, factores de forma, etc... y la velocidad con la que cambian las características soportadas por todos ellos, hacer una detección de tipo de dispositivo o navegador es una mala idea. La cadena de agente de usuario: mala idea Lo que se hacía hace mucho tiempo para detectar el tipo de dispositivo era utilizar la cadena de agente de usuario (User Agent) de los navegadores, para determinar el tipo de navegador, su versión y el sistema operativo... [Más]

TRUCO: Hacer "bundling" de archivos JavaScript o CSS sin necesidad de herramientas externas

TRUCO: Hacer "bundling" de archivos JavaScript o CSS sin necesidad de herramientas externas
Este es un truco rápido pero muy útil para programadores Front-End que trabajan con HTML, CSS y JavaScript.Como todo el mundo sabe (o debería saber), con HTTP 1.1 cada petición que se envía al servidor añade "peso" a la carga total de la página porque se debe abrir una nueva conexión, se deben enviar las cabeceras y recibirlas, hay un máximo de conexiones abiertas a la vez, etc... Por ello, si la página incluye por ejemplo 10 archivos .css que en conjunto pesan 250KB, su descarga va a tardar más que si descargásemos ese mismo contenido exactamente, con el mismo peso, pero en un solo archivo .css.Esto no ocurre con la nueva versión HTTP 2, pero no siempre está disponible todavía.Como en una aplicación o en una página web cada milisegundo cuenta, se suelen utilizar dos técnicas habitualmente para disminuir el efecto de tener varios archivos y disminuir su peso:"Bundling" o empaquetamiento: consiste en combinar varios archivos dentro de uno solo para que, aunque ocupen lo mismo, puedan de... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico