Alpha's Manifesto

A black and white figure's thought-hive

Front-end code standards

Una aproximación de best practices

Acabo de leer el artículo de IsoBar Front-end Code Standards & Best Practices. El artículo cubre de forma extensiva varias de las tecnologías utilizadas, con las sugerencias que esta empresa utiliza interamente. Cubre varios aspectos del uso de HTML (y algunas nuevas características de HTML5), CSS (y algunas nuevas características de CSS3), JavaScript, Performance, e integración cross-browser.

Personalmente no me siento de acuerdo con la totalidad de los items mencionados, pero creo que como punto de partida es muy bueno. Tienen una buena cantidad de referencias al por qué conviene hacer las cosas de la forma que ahí están explicadas, y muchas veces las razones son totalmente válidas. Muchas veces también se pesan pros y contras de cada aproximación, lo cual ayuda a tomar una decisión educada del proceso que elijamos seguir.

Soy un zorrinito front-end.

Schema.org

Repositorio público de esquemas de markup

En el punto intermedio entre estándares y SEO está Schema.org, un sitio que haciendo uso de los estándares de microdata permitiría mejorar la meta-información que un sitio está aportando, específicamente para hacerlo más apropiado a los motores de búsqueda. La página de Getting Started nos da una buena idea de qué trata esto.

Según cuentan, Google y otros proveedores de búsqueda están teniendo mucho en cuenta estos formatos de metadatos, llamados micro-formatos, y justamente podemos apreciar muchos de ellos y su estado de aprobación en Microformats.org.

Soy un zorrinito micro-formateado.

Link del día: Nuevos status HTTP

Y la tecnología se mueve más y más rápido y lo que dábamos por conocido vuelve a cambiar. En este caso, se trata de los HTTP Status Codes, en donde ahora hay cuatro nuevos propuestos, en estado de draft por la IETF: Additional HTTP Status Codes. Nada del otro mundo realmente, aquí no se están proponiendo cosas que salieron ayer, pero es curioso ver cómo las cosas que dábamos por sentado también cambian de a poco.

En este caso está agregando status codes para Too Many Requests, Requests Fields too Large, Requires Network Authentication y Precondition Required, por lo que no nos vamos del rango 400 ni del 500. Unas pequeñas adiciones a lo que ya estábamos acostumbrados.

Soy un zorrinito estándar.

Link del día: John Resig, más personal

Hace un tiempo Josh Resig, famoso por ser el creador de JQuery, anunció en su cuenta de Twitter que estaría brindando una especie de “conferencia de prensa”, una rueda de preguntas y respuestas en Reddit, específicamente en este thread.

Ahí podemos conocer un poco más de lo que él piensa sobre distintos temas, desde que le encantan los memes del Rage Guy hasta las propuestas que estaba pensando en plantear para la reestructuración del estándar del DOM. Podemos saber qué máquina usa y qué software hasta qué cosas estudió en la universidad y cómo hace para concentrarse en su trabajo.

Es el tipo de oportunidad de tener a un caso de éxito bien cerca para preguntar y escuchar respuestas. Desafortunadamente me enteré de esto cuando ya había ocurrido, pero habría estado interesante poder hacer un par de preguntas, no?

Soy un zorrinito preguntón.

Link del día: Firefox 4 + Mozilla demos

Ayer salió a la luz la versión definitiva de Firefox 4, y en unas 24 horas ya logró tener más de 6 millones y medio de descargas. Un navegador popular, sin dudas. Podemos bajarlo y al mismo tiempo ver el movimiento en tiempo real de descargas a través de Firefox 4 Download Stats.

Cabe aclarar que Firefox 4 viene totalmente renovado, al menos en su interfaz gráfica y mucho de su funcionamiento interno. Las características que Firefox siempre ofreció permanecen ahí, y hay varias otras más. Por otro lado, su interfaz es mucho más limpia y minimalista (parece que todos los navegadores están siguiendo una tendencia que Chrome marcó) y por supuesto, soporta muchos de los nuevos estándares que se están desarrollando para la nueva web.

Fue de casualidad, gracias a un post en Twitter, en donde encontré un dashboard de ejemplos y características de HTML5 y tecnologías relacionadas, llamado HTML5 & Friends, en donde podemos ver muchas de las nuevas características en funcionamiento, y tener una explicación pequeña que podemos extender. Por otro lado, la web de Mozilla Demos (llamada Web O’pen Wonder) contiene muchos ejemplos e implementaciones de las cuales podemos aprender.

Soy un zorrinito actualizado.

Link del día: Evercookie

Hace un tiempo me crucé con un artículo que hablaba sobre HTML5 y la privacidad en internet. Si bien me pareció que era un poco exagerado, parece que muchas fuentes, incluyendo algunas bastante confiables como el NYTimes.

Pero en realidad no estamos hablando de un problema de HTML5, sino de la seguridad que los navegadores implementen para dar soporte a este nuevo estándar.

Todo en el fondo se trata de la utilización de más técnicas para el almacenamiento de información local en una computadora, que de una forma u otra puede ser utilizada (y de hecho, lo es hoy en día) para identificar gustos y tendencias de navegación en ciertas partes de internet, de forma que, por ejemplo, Google pueda anunciar cosas de nuestro interés, incluso aunque estemos viendo una noticia sobre algo que no está relacionado.

Una aplicación proof of concept de cómo se puede almacenar información casi-persistente (cuando se supone que no debería de serla) es EverCookie. Evercookie es una suerte de cookie que a través de distintos mecanismos de almacenamiento se permite persistir de forma prácticamente persistente, incluso luego de la limpieza de caché, cookies y otro tipo de limpiezas estándares que muchos de nosotros haríamos pensando que ya debería de haber desaparecido.

¿Ustedes creen que esto realmente tenga implicaciones en la seguridad? ¿Creen que HTML5 se convertirá más en un problema que en una solución?

Soy un zorrinito persistente.

Link del día: HTML5 video now!

Hay sitios web que ya están comenzando a utilizar video HTML5 para distribuir su multimedia. Algunos de ellos son Youtube y Vimeo, pero tratándose de un estándar, el resto de nosotros no tenemos por qué quedarnos afuera.

Aparece entonces en escena un plugin de jQuery llamado jMediaelement (jme), que nos permite manejar los nuevos tags <audio> y <video> con puro JavaScript. Eso no es todo, también podemos generar un mensaje de fallback, o incluso mostrar un reproductor Flash si es que el navegador del usuario no tiene soporte para video/audio HTML. Por supuesto, todo esto está encapsulado en una librería de JavaScript y con pocas instrucciones ya podemos tener nuestros reproductores funcionales.

Soy un zorrinito HTML5.

Link del día: Validación Unicorn

Hace ya mucho tiempo que los programadores web checkean sus markups con la herramienta de validación HTML de W3c, sus estilos con el validador CSS de W3c, sus sitios móbiles con dicho servicio de W3C y también el validador de feeds. Gracias a un tweet de jmma, me enteré que ahora W3C dispone de un servicio completo para verificar todo esto al mismo tiempo, llamado Unicorn.

Este servicio es tan fácil de utilizar como los otros existentes, y además es un poco más user-friendly, permitiéndonos con artimañas de interfaz solamente concentrarnos en lo que más nos importe.

Por supuesto, esto es parte de una campaña para que de a poco la web se esté acercando a los estándares, largo trabajo que aún se está llevando a cabo. ¿Qué pasará el día en que los navegadores dejen de aceptar páginas fuera del estándar?

Soy un zorrinito estandarizado.

Link del día: URLs en detalle

Las URLs son un elemento que usamos en nuestro día a día, más seguramente si trabajamos o estudiamos en algo relacionado a la informática. URLs para sitios web, URLs para aplicaciones 2.0, URLs para web services, URLs para todo. Y sin embargo, es posible que usándolos tanto, aún no sepamos cómo se componen en detalle.

Para eso, no es necesario que vayamos a leer el RFC 2396, sino que con leer un artículo de Alan Skorkin titlulado What Every Developer Should Know About URLs, ya sabremos responder gran parte de las preguntas que nos pueden haber surgido, y haber aprendido más de lo que sabíamos al respecto. De hecho, yo me encontré con varias cosas que no sabía de antemano, y yo pensaba que tenía los conceptos bastante conocidos.

Por ejemplo, nunca me había enterado de los Path Parameters, elemento que me parece muy aprovechable. En una pequeña conversación que tuve, me aconsejaron no usarlos por cuestiones de SEO o user-friendliness al momento de compartir URLs.

Soy un zorrinito web.

Link del día: HTML5 Ilustrado

Nunca viene mal otro link extra sobre HTML5, sabemos que es algo que ya está empezando a tomar fuerza, y de alguna forma todavía es novedad. Mientras esperamos que se decida qué es lo que va a ocurrir con los códecs de video, podemos ir entrenándonos y aprovechando otras features que gran cantidad de navegadores ya aprovechan.

Dejando de lado los links que ya hemos publicado sobre el tema, como HTML5 Test o Dive into HTML5, hoy podemos ver una presentación sobre HTML5 hecha en HTML5, demostrando en vivo y en directo gran parte de las bondades de este nuevo lenguaje, junto con CSS3. El link está en ApiRocks, bajo el título de HTML5 Presentation. Y como si no fuera poco, tenemos una gran variedad de sites mostrando las cosas que se pueden hacer con él.

¡No nos quedemos atrás!

Soy un zorrinito5.