Chrome Dev Summit: Resumen de la plataforma web abierta

por Greg Simon y Eric Seidel

Blink es el motor de procesamiento de código abierto de Chrome. El equipo de Blink está evolucionando la Web y abordando los problemas a los que se enfrentan los desarrolladores.

Desde nuestro lanzamiento en abril, comenzaron a implementarse varias mejoras tras bambalinas.

Lo primero que hicimos fue borrar la mitad de nuestra fuente, lo cual no es necesario. ¡Aún no terminamos! Y no hacemos esto a ciegas: la eliminación del código se basa en estadísticas agregadas de datos anónimos de usuarios de Chrome que aceptan la opción de informar.

Publicamos una nueva API para desarrolladores cada seis semanas: el mismo que el cronograma de envíos de Chrome.

Cuando realizamos una bifurcación desde Blink, un gran cambio fue agregar un sistema de intents: cada vez antes de cambiar la plataforma web, enviamos un anuncio público a Blink dev para anunciar nuestra intención de agregar o quitar una función. Luego, salimos y lo programamos. Al día siguiente, después de registrar el atributo, ya está disponible en nuestras compilaciones de Canary. Esta función está desactivada de forma predeterminada, pero puedes activarla mediante el uso de about:flags.

Luego, en nuestra lista de distribución pública, anunciamos un intento de envío.

En chromestatus.com, puedes ver las funciones en las que trabajamos, las que incluimos y las que planeamos dar de baja. También puedes consultar el blog de versiones de Chromium, que contiene vínculos a errores y a nuestro panel de herramientas de seguimiento.

Otro gran cambio es que estamos quitando los prefijos de WebKit. La intención no es usar prefijos Blink, sino tener marcas de tiempo de ejecución (y no solo marcas de tiempo de compilación).

Android WebView representa un desafío importante, pero HTML5Test demuestra que las cosas están mejorando. Nos acercamos mucho más a las computadoras de escritorio en cuanto a tener un conjunto de APIs de plataformas web en todas partes (el audio web es un gran ejemplo de esto).

Pero ¿cómo funciona la máquina de salchichas? Cada cambio que realizamos en Blink pasa inmediatamente por más de 30,000 pruebas, sin mencionar todas las pruebas de Chromium que se ejecutan posteriormente. Usamos el sistema de sheriffing las 24 horas con miles de bots, miles de comparativas y sistemas que arrojan millones de páginas web con errores a nuestro motor para asegurarnos de que no se caigan. Sabemos que la velocidad de los dispositivos móviles es significativamente más lenta, y estamos trabajando arduamente para mejorarla.

Entonces, ¿cuáles son las novedades?

  • Componentes web: Echa un vistazo a la charla de Eric Bidelman
  • Animaciones web: Son animaciones complejas, sincronizadas y de alto rendimiento que usan la GPU siempre que sea posible.
  • Diseño parcial: Solo procesa lo que necesitas.
  • Cuadrícula de CSS
  • Imágenes responsivas: srcset, srcN o ?
  • Ajuste automático del tamaño más rápido y fuentes de subpíxeles coherentes
  • Skia, el sistema gráfico que usa Blink, pasará de GDI a DirectWrite en Windows

Queremos conocer tu opinión.

Si sientes que el lenguaje C++ está en tu sangre y quieres escribirlo con nosotros, todo nuestro código está abierto. No tienes que contárselo a nadie ni evangelizarnos. Simplemente puedes publicar un parche o informar un error.

Presentaciones: Blink

Seguridad

por Parisa Tabriz

Hoy en día, más personas se conectan a la Web que nunca, y desde más lugares.

Estamos en contacto con nuestras laptops, teléfonos y tablets, y probablemente pronto con dispositivos y accesorios personales. Accedemos a Internet desde redes que no son de confianza y, a veces, incluso hostiles. Con gran parte de nuestras vidas en línea, es fundamental que tomemos medidas para proteger nuestros datos y los de nuestros usuarios.

Sobre todo, como desarrolladores tenemos que entender la necesidad y practicidad de SSL.

¿Qué es SSL? Significa capa de conexión segura y es un protocolo criptográfico diseñado para proporcionar seguridad en la comunicación a través de Internet. Garantiza la privacidad, mediante integridad y encriptación, para evitar el espionaje o la manipulación de tu conexión a Internet. SSL tiene sus fallas, pero es el camino principal (y realmente el único) para garantizar cualquier tipo de seguridad para las comunicaciones de datos en Internet.

Según SSL Pulse, hace un año, la adopción de SSL fue de casi un 15% y, en la actualidad, superamos el 50%.

Dos siglas:

  • TLS: para la mayoría de los intents y propósitos, es igual que SSL. Para ser precisos, SSL 3.1 se renombró a TLS, y TLS es el nombre estándar IETF. ¡Pero son intercambiables!

  • HTTPS: Es HTTP sobre SSL, solo las capas de las capacidades de seguridad de SSL y HTTP estándar. En primer lugar, el protocolo de enlace entre el cliente y el servidor, que utiliza criptografía de clave pública/privada para crear una clave compartida, la utiliza la segunda parte del protocolo SSL para encriptar la comunicación.

Conectarse a Internet puede parecer seguro, inmediato y rápido. Parece que estamos hablando directamente al sitio web. Pero, en realidad, no es una conexión directa. Nuestras comunicaciones se realizan a través de un router Wi-Fi, un ISP y, posiblemente, otros proxies intermediarios entre tu dispositivo y el sitio web. Sin HTTPS, todas nuestras comunicaciones se expresan en texto sin formato.

El problema es que los usuarios rara vez escriben una URL completa que especifica HTTPS o hacen clic en un vínculo usando HTTP. Y lo que es peor, es posible activar un ataque de intermediario y reemplazar HTTPS por HTTP. Una herramienta llamada SSLstrip presentada en 2009 permite hacer justamente eso. Firesheep, de 2010, acaba de escuchar las redes Wi-Fi abiertas para las cookies que se enviaban en la claridad: eso significaba que podías escucharlos en el chat o acceder a la cuenta de Facebook de alguien.

Sin embargo, SSL es (relativamente) económico, rápido y fácil de implementar (consulte ssllabs.com, el libro de Ilya Grigorik sobre "Herramientas de redes de navegador de alto rendimiento"). La fijación de clave pública está diseñada para brindarles a los operadores de sitios web un medio para restringir qué autoridades certificadoras pueden emitir certificados para sus sitios.

"En enero de este año (2010), Gmail pasó a usar HTTPS para todo de forma predeterminada. Para lograrlo, no tuvimos que implementar máquinas adicionales ni hardware especial. En nuestras máquinas de frontend de producción, SSL representa menos del 1% de la carga de CPU, menos de 10 KB de memoria por conexión y menos del 2% de la sobrecarga de red...

Si dejas de leer ahora, solo debes recordar una cosa: SSL ya no es costoso desde el punto de vista de los recursos informáticos”.

Overclocking SSL, Adam Langley (Google)

Por último, existen los siguientes errores más comunes:

  • Contenido mixto: Sitios que usan HTTP y HTTPS. El usuario se molestará porque tiene que hacer clic en un botón de permiso para cargar el contenido. En realidad, Chrome y Firefox bloquean el contenido mixto de los iframes. Asegúrate de que el protocolo HTTPS cargue todos tus recursos en una página HTTPS; por ejemplo, usa URLs relativas o relativas al esquema, por ejemplo, <style src="//foo.com/style.css">
  • Cookies no seguras: se envían despejadas a través de una conexión HTTP. Para evitarlo, configura el atributo seguro en los encabezados de las cookies. También puedes usar un nuevo encabezado de "Seguridad de transporte estricta" para exigir la Seguridad de transporte SSL (HSTS).

Puck robado

  • Si te importa la privacidad y la integridad de los datos de los usuarios, debes usar SSL. Es más rápido, fácil y económico que nunca.
  • Evita los problemas comunes de implementación, como errores de contenido mixto o no configurar los bits de encabezado HTTP correctos.
  • Usa URLs relativas o relativas a esquemas.
  • Descubre lo nuevo y genial, como HSTS y la fijación de certificaciones

Presentaciones: ¿Tienes SSL?

APIs de contenido multimedia para la Web multidispositivo

por Sam Dutton y Jan Linden

Junto con la proliferación de nuevos dispositivos y plataformas en la Web, vemos un gran crecimiento en las comunicaciones de audio, video y en tiempo real. Los medios de comunicación en línea están transformando la forma en que consumimos todos los tipos de medios.

Un estudio gubernamental del Reino Unido determinó que el 53% de los adultos realizan múltiples tareas a la vez mientras miran TV: usan dispositivos móviles para compartir y consumir contenido multimedia. En muchos países, la visualización de la TV no está disponible y la visualización en línea es más alta. Por ejemplo, en China, en 2012, solo el 30% de los hogares de Pekín miraron TV, una cifra que representa el 70% de 2009. Según el informe aspecto destacado del W3C de 2013, "En el último año, se duplicó la visualización de videos en dispositivos móviles. Este año en EE.UU., el tiempo promedio que los usuarios pasan con los medios digitales por día superará las vistas de TV. Ver ya no es un acto pasivo. En EE.UU., el 87% de los consumidores de entretenimiento afirman que usan al menos un segundo dispositivo de pantalla mientras miran televisión". Según Cisco, "los videos estarán en el rango del 80% al 90% del tráfico global de consumidores para el año 2017". Esto equivale a casi un millón de minutos de video por segundo.

¿Qué tenemos para desarrolladores web? Un ecosistema de APIs de medios para la Web abierta: tecnologías interoperables y estandarizadas que funcionan en varias plataformas.

Puck robado

  • WebRTC proporciona comunicación en tiempo real en el navegador y ahora es ampliamente compatible con dispositivos móviles y computadoras de escritorio. En total, ya hay más de 1,200 millones de extremos WebRTC.
  • Web Audio proporciona herramientas sofisticadas para el procesamiento y la síntesis de audio.
  • MIDI web, integrado con Web Audio, permite la interacción con dispositivos MIDI.
  • Ahora, los elementos de audio y video son compatibles con más del 85% de los navegadores para dispositivos móviles y computadoras.
  • Las extensiones de fuente de medios se pueden usar para la transmisión adaptable y el cambio de tiempo.
  • El EME habilita la reproducción de contenido protegido.
  • Las transcripciones, los subtítulos y el elemento de pista habilitan subtítulos, metadatos temporizados, vínculos directos y búsquedas profundas.

Presentaciones: APIs multimedia para la Web multidispositivo