Modernizr: Detectar soporte de HTML5 y CSS3

Ahora que HTML5 y todas sus tecnologías son la novedad, los desarrolladores web no podemos evitar sentirnos atraidos a sus nuevas características, y todo lo que trae consigo la nueva generación de la Web. Los nuevos tipos de input, los elementos de video y audio, las transiciones, ¡webfonts!

Sin embargo, hay un detalle que como buenos y éticos desarrolladores web que somos, no podemos dejar pasar: la web es para todos. Y dentro de ese “todo” se encuentran:

  • Los navegadores que no soportan todas las características de HTML5, o al menos las que pensamos utilizar
  • Los navegadores que ya no tienen soporte (por una u otra razón) y que siguen siendo muy utilizados (por una u otra razón)
  • El hecho de que HTML5 y todas las tecnologías que abarca sigan siendo borrador, y aun está sujeto a cambios, como el caso de la etiqueta <video>, que sigue una disputa por cuál formato de video dejar como estándar

Hay una gran variedad de navegadores, y cada uno con distintas versiones, y cada versión con ciertas características soportadas. Decidir cuándo utilizar cierta característica es muy difícil cuando no anticipamos si el navegador la soportará. Pero gracias a eso, existe Modernizr.

Leer más “Modernizr: Detectar soporte de HTML5 y CSS3”

Anuncios

.NET – Restar objetos DateTime

Hoy es mi cumpleaños 😛 Felicítenme.

Ni al caso con el post, dirán. Pero en realidad sí tiene que ver. Ayer varios me estuvieron felicitando, pensando que ése día fue mi cumpleaños. Al final, uno me dijo que Hotmail decía que ayer cumplí años. No creía haber puesto mal la fecha, así que entré a Hotmail, a mi perfil, y vi que decía “Fecha de nacimiento: 23 de sept. de 1985 (26 años)”.

¿Cómo que 26 años, si todavía me faltaba un día? Saquen la cuenta: 2010 – 1985 = 25. No cuenta 2011 porque todavía no llegaba el 23. Pero bueno, ya era tarde y no me iba a preocupar por eso.

Hoy que llegué al trabajo, me resurgió la duda. Ya que el sitio de Hotmail está hecho en .NET (o al menos la extensión de las páginas web dice eso), hice una aplicación en .NET para hacer la prueba.

Leer más “.NET – Restar objetos DateTime”

Javascript – Detección de soporte de funciones

En el post pasado, hablé de que Google está invitando a los desarrolladores a detectar navegadores basados en Chrome para aprovechar las novedades que ellos están implementando en Javascript, con la justificación de que "para que todos los navegadores soporten esas novedades tendrá que pasar mucho tiempo".

Visto de esta forma, estamos cayendo en lo mismo que sucedía en tiempos de IE vs Netscape: darle preferencia a un navegador y discriminar al resto. Es verdad que hay diferencias entre navegadores, pero la misma forma de Javascript nos permite sortear esas diferencias en la mayoría de los casos.

Un primer caso que puede presentarse es cuando algún navegador realiza una misma operación de forma distinta a otro. En este artículo hablaré de cómo detectar esas diferencias.

Leer más “Javascript – Detección de soporte de funciones”

Muchos navegadores…

Leí esta noticia en la mañana, que me tomó desprevenido, aunque en realidad es algo que se veía venir.

Según la noticia, Google intenta convencer a los desarrolladores de que se enfoquen en "navegadores basados en Chrome", debido a las ventajas que permite el motor de renderizado usado por este navegador, hablando de nuevas tecnologías web, principalmente javascript.

Muchos dirán "pues claro! si estamos hablando de nuevas tecnologías, por qué no hacer caso!?" Y en cierta forma tienen razón, pero el artículo es un poco engañoso, lo cual no me sorprende viniendo de una empresa como Google.

Leer más “Muchos navegadores…”

Webfonts en IIS

Desde que comenzó el boom por HTML5, podemos ver muchos sitios que aplican los elementos principales de CSS3, como lo es el sombreado de texto y cuadros, los bordes redondeados, y principalmente, el uso de webfonts.

Leer más “Webfonts en IIS”

.NET WinForms – Crear forma con barra de título personalizada

La primera aplicación que me tocó ver que no usaba la barra de título de Windows fue Winamp 2. Me parecía rara… y fea.

Pero la tendencia actual, al menos en aplicaciones para Windows, es que cada aplicación tenga el diseño que le venga en gana al programador. Lo podemos ver en los navegadores (todos queriéndose parecer a Chrome), Office 2007 en adelante, Adobe CS, FoxitPDF, y demás. También nosotros podemos hacer esto en nuestras aplicaciones en .NET.

Aquí cubriré lo más elemental. Cuestiones de diseño y el hacer que se vea bonito ya corre por cuenta de cada quien. Se los advierto: se verá feo, pero funcional (Y)

Leer más “.NET WinForms – Crear forma con barra de título personalizada”

.NET – Actualizar una aplicación

Crear un instalador para nuestras aplicaciones en .NET no tiene mucha ciencia. El problema es cuando modificamos esa aplicación y recompilamos el instalador. Al ejecutarlo de nuevo en la computadora donde ya teníamos instalado nuestro programa, nos aparecerá este mensaje:

Ya está instalada otra versión de este producto. La instalación de esta versión no puede continuar. Para configurar o quitar la versión existente de este producto, utilice Agregar o quitar programas del Panel de control.

Toda aplicación tiene un código único, que sirve al sistema como referencia al programa instalado. En .NET, un proyecto de instalación tiene una propiedad (vista en el panel de Propiedades) llamada ProductCode. Basta con cambiar este código para que el nuevo instalador funcione correctamente.

Sin embargo, la manera más "correcta" de hacerlo es actualizando la versión de la instalación.

Toda aplicación tiene (o debería tener) su número de versión (1.0.0, 1.0.0.5, 2.1, etc.). El control de la versión de un programa depende de su desarrollador, pero lo recomendable es seguir estándares. En .NET la versión de la aplicación se define en la ventana de propiedades del proyecto o en el archivo AssemblyInfo

Cambiar la versión de la aplicación no afecta al instalador, ni a su ProductCode. Lo que sí podemos hacer al respecto es cambiar la versión al proyecto del instalador.

Así es. Los instaladores tienen su propio número de versión, independiente del programa que instalan. Éste lo podemos ver en el panel de propiedades del proyecto de instalación (seleccionando el proyecto en el Explorador de soluciones y presionando F4). Ahí veremos la propiedad Version, que por defecto tiene el valor 1.0.0.

Al cambiar esta propiedad, se nos permitirá cambiar el ProductCode automáticamente, para que nuestra instalación se aceptada como una nueva en el sistema cliente.

No es obligatorio cambiar la versión de una aplicación, y menos la del instalador. Pero es una buena práctica, como un control histórico de nuestra aplicación.