JASoft.org

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

MENÚ - JASoft: JM Alarcón

Controlar la vista previa de Facebook (un par de trucos y una extensión)

Una quinta parte de la población mundial está en Facebook hoy en día. Según datos de la propia empresa, a finales de este año 2014 tienen: 1.350 millones de usuarios activos mensuales en la web (es decir, que entran al menos una vez al mes a la aplicación de esta red social). 1.120 millones de usuarios activos mensuales a través del móvil 864 millones de usuarios activos diarios en promedio. Las cifras son apabullantes y dan una idea de la importancia que tiene esta red social, más allá de la opinión que nos merezca y de si queremos o no estar en ella. Por eso es muy importante que nuestras páginas y nuestras aplicaciones web sean fácilmente "compartibles" en esta red social. Es decir, cuando alguien desee compartir una de nuestras páginas en Facebook que estemos seguros de que se va a ver lo que nosotros queremos, y no lo que determine automáticamente un algoritmo. Etique... [Más]

La API de visibilidad de HTML5 - Cómo detectar si una página está visible o no

Una cuestión peliaguda de resolver por medios tradicionales es la que encabeza este artículo: ¿Cómo puedo detectar si el usuario actual tiene nuestra página oculta o visible?. Esto nos puede servir para muchas cosas, como por ejemplo: Dejar de hacer llamadas en segundo plano al servidor para obtener datos cuando el usuario no esté usando la aplicación web, ya que no habrá nadie para verlos. Así que nos ahorraremos carga innecesaria nuestros servicios. Típico en aplicaciones que utilizan AJAX. Si el usuario está reproduciendo un vídeo o cualquier otro elemento (por ejemplo, una presentación), podemos detenerlo mientras no está mirando, dejando que continúe automáticamente cuando el usuario vuelva a la página. En una aplicación de email, cuando el usuario esté mirando la página podemos verificar si hay nuevos correos cada pocos segundos. Si no ... [Más]

Reaccionar a Media Queries desde JavaScript

Hoy en día casi no se concibe una página o aplicación web que no sea Responsive. El Responsive Web Design busca crear diseños web que se adapten de manera automática a diferentes tamaños y resoluciones de pantalla. De esta manera en lugar de tener un diseño diferente para cada tamaño de pantalla (¡o incluso una versión diferente de la interfaz para cada dispositivo!), se busca que un solo diseño, refinado de manera inteligente, sirva para todos los tamaños. El nombre viene de que el diseño "responde" de manera automática a las diferentes condiciones del entorno de la página, adaptándose automáticamente y en tiempo real a los cambios de tamaño que haya. Puedes verlo en acción si visitas, por ejemplo, la página de campusMVP. Si la abres en una ventana aparte y cambias el tamaño de ésta (el ancho fundamentalmente) verás que a medi... [Más]

CSS: Tamaños relativos de fuente según la resolución

En el caso concreto de las páginas web hay que tratar de que nuestros contenidos y diseños se adapten sin problema a cualquier resolución, densidad y tamaño. Y dentro de esta problemática una cuestión importante es ofrecer en cada caso un tamaño de texto apropiado. No sirve tener un texto de tamaño muy grande en resoluciones pequeñas, ni uno muy pequeño en resoluciones grandes. En cada caso hay que encontrar un tamaño apropiado y utilizarlo. ¿Cómo podemos conseguirlo? La mejor manera es utilizar dimensiones de carácter relativo en nuestros diseños web, y en concreto dos unidades especialmente pensadas para este problema: los "em" y los "rem". [Más]

Escribiendo código JavaScript limpio: funciones anónimas auto-ejecutables

Un patrón muy utilizado a la hora de escribir código JavaScript son las funciones anónimas auto-ejecutables. La idea es la siguiente: aprovechar las propiedades de ámbito de las variables de JavaScript y el uso de clausuras para escribir código más limpio que no interfiera con otro código JavaScript que pudiera haber en la página. De hecho es la técnica que utilizan muchas de las bibliotecas importantes para inicializarse. Por ejemplo, consideremos el siguiente fragmento de código JavaScript: var v1 = 0; function miFunc1(){ v1 = 5; alert(v1); } function miFunc2(){ v1 = 10; alert(v1); } En este código tan sencillo estamos definiendo una variable y dos funciones. Dado que desde ambas funciones debemos poder acceder a la misma variable común "x", la declaramos de manera global, siendo accesible desde toda la página. Este código, si bien funcionará correctamente, tie... [Más]

Cómo listar todos los sitios web y sus dominios en un servidor IIS

Si tenemos que administrar uno o varios servidores web, hay ocasiones en las que necesitaremos inventariar de manera rápida y sencilla qué sitios web y dominios tenemos albergados en nuestras máquinas. Obviamente una forma sencilla de verlo es ir a través del administrador de Internet Information Server y ver qué sitios tenemos allí. Pero el problema de eso es que no podemos manipular la lista de manera alguna y, sobre todo, no nos da una idea clara de qué dominios tenemos asociados a cada sitio web, salvo que vayamos entrando uno a uno a comprobarlos. Sería de mucha utilidad poder listar toda esta información de manera automática y rápida siempre que lo necesitemos. Por suerte para nosotros, IIS en todas sus versiones os ofrece una manera sencilla de hacerlo. Veamos cómo... Listado de sitios y dominios en IIS 6 En Internet Information Server 6 se incluían unas herramientas de línea de comandos escritas en VBScript que nos permiten gestionar de mil maneras el servidor. Una de ell... [Más]

Off-Topic: Nuevo curso de programación profesional con JavaScript

Los que seguís con asiduidad este blog habréis notado que he estado un poco ausente durante las últimas semanas. Aparte de que he estado creando mucho material para nuestro blog para programadores de campusMVP, el principal motivo ha sido que durante los meses de verano y hasta finales de la semana pasada he estado trabajando duramente en crear un nuevo curso para campusMVP: JavaScript profesional para desarrolladores y diseñadores web Ha sido un trabajo bastante duro a pesar de que ya he escrito varios libros sobre el tema, principalmente porque he tratado de crear un curso muy práctico, y al mismo tiempo que sirviera para el mayor número de programadores posible. Para ello, aparte de la teoría correspondiente (que es mucha) he grabado más de 13 horas de vídeos prácticos y muchos ejemplos Esto que puede parecer relativamente poco, es mucho para un curso como este que tiene además gran cantidad de material teórico escrito (que también es muy necesario). Y es que además, entre preparaci... [Más]

Desempaquetando el impresionante "phablet" Nokia Lumia 1520

Tras año y medio con mi Nokia Lumia 920 me he decidido a cambiarlo por un nuevo e impresionante Nokia Lumia 1520. Estaba muy contento con mi 920, pero quería cambiar porque mi terminal era una versión temprana del modelo, y tenía un fallo de sellado en el hardware que no tuvo posteriormente el modelo definitivo. En concreto el problema es que se colaba polvo a través del cierre superior llenando de porquería la cámara frontal y, sobre todo, el sensor de proximidad. Debido a ello el teléfono siempre "creía" que estaba dentro de un bolsillo por lo que no se mostraba la información de la Glance Screen y la pantalla estaba apagada durante las llamadas aunque no la pegaras a la oreja. Un fastidio. Además me apetecía un móvil más grande (y eso que el 920 con 4.5'' de pantalla me parecía enorme cuando lo recibí) y con procesador más rápido, sobre todo por aplicaciones poco optimizadas como Whatsapp. Total que al final he comprado un Lumia 1520, de color blanco para ser más exactos. ¿Por ... [Más]