Blink
por Greg Simon y Eric Seidel
Blink es el motor de renderización de código abierto de Chrome. El equipo de Blink está desarrollando la Web y abordando los problemas que encuentran los desarrolladores.
Desde nuestro lanzamiento de abril, comenzaron varias mejoras en segundo plano.
Lo primero que hicimos fue borrar la mitad de la fuente, algo que no necesariamente necesitábamos. ¡Aún no terminamos! Y no lo haremos a ciegas: la eliminación del código se basa en estadísticas globales informadas de forma anónima de los usuarios de Chrome que aceptan los informes.
Publicamos una nueva API para desarrolladores cada seis semanas, al igual que el programa de envíos de Chrome.
Un gran cambio que realizamos cuando realizamos la bifurcación de Blink fue agregar un sistema de intents: cada vez que fui a cambiar la plataforma web, enviamos un anuncio público para el desarrollo de Blink en el que se anunciaba nuestra intención de agregar o quitar una función. Luego, comenzamos a programar. Al día siguiente, después de que se registre la función, ya estará en el envío en nuestras versiones de Canary. Esta función está desactivada de forma predeterminada, pero puedes activarla usando about:flags.
Luego, en nuestra lista de distribución pública, anunciamos un intento de envío.
En chromestatus.com, puedes ver las funciones con las que trabajamos, las que enviamos y las que planeamos dar de baja. También puede consultar el blog de actualizaciones de Chromium, que tiene vínculos a errores y a nuestro panel de seguimiento.
Otro gran cambio es que quitaremos los prefijos WebKit. El intent no es usar prefijos Blink, sino tener marcas de tiempo de ejecución (y no solo marcas de tiempo de compilación).
Android WebView ha sido un gran desafío, pero HTML5Test muestra que todo está mejorando. Estamos mucho más cerca de las computadoras de escritorio en cuanto a tener un conjunto de APIs de plataforma web en todas partes (Web Audio es un gran ejemplo de esto).
Pero ¿cómo funciona la máquina de salchichas? Cada cambio que realizamos en Blink pasa inmediatamente a través de más de 30,000 pruebas, sin mencionar todas las pruebas de Chromium que se ejecutan de forma adicional más adelante. Utilizamos sheriffs de 24 horas, con miles de bots, miles de comparativas y sistemas que envían millones de páginas web dañadas a nuestro motor para asegurarnos de que no se caiga. Sabemos que los dispositivos móviles son mucho más lentos y estamos trabajando arduamente para mejorar.
Entonces, ¿cuáles son las novedades?
- Componentes web: echa un vistazo a la charla de Eric Bidelman.
- Animaciones web: animaciones complejas, sincronizadas y de alto rendimiento que usan la GPU siempre que sea posible.
- Diseño parcial: Procesa solo lo que necesites.
- Cuadrícula de CSS
- Imágenes responsivas:
- Ajuste automático más rápido del tamaño del texto y fuentes de subpíxeles coherentes
- Skia, el sistema de gráficos que utiliza Blink, pasará de GDI a DirectWrite en Windows.
Queremos saber lo que tienes para decir.
Si sientes C++ en la sangre y quieres escribirlo con nosotros, todo nuestro código es abierto. No tienes que contarnos a nadie ni promovernos. Simplemente puedes publicar un parche o informar un error.
Presentaciones: Blink
Seguridad
por Parisa Tabriz
Actualmente, cada vez más personas están conectadas a la Web desde más lugares.
Nos conectamos con nuestras laptops, teléfonos y tablets, y probablemente pronto con dispositivos y accesorios personales. Accedemos a Internet desde redes no confiables y, a veces, incluso hostiles. Como gran parte de nuestras vidas se trasladan a Internet, debemos tomar medidas para proteger nuestros datos y la seguridad de datos no estructurados.
Sobre todo, como desarrolladores, debemos comprender la necesidad y la practicidad de SSL.
¿Qué es SSL? Significa capa de conexión segura y es un protocolo criptográfico diseñado para proporcionar seguridad a las comunicaciones en Internet. Garantiza la privacidad, a través de la encriptación y la integridad, para evitar espiar o alterar tu conexión a Internet. SSL tiene sus defectos, pero es la vía principal (y realmente la única) para garantizar cualquier tipo de seguridad de comunicación de datos en Internet.
Según SSL Pulse, hace un año, aproximadamente, casi un 15% de adopción de SSL. ahora superamos el 50% de la adopción.
Dos siglas:
TLS: para la mayoría de los intents y propósitos, es igual que SSL. Para ser precisos, SSL 3.1 cambió su nombre a TLS, y TLS es el nombre estándar de IETF. ¡Pero son intercambiables!
HTTPS: Es HTTP sobre SSL, que es solo la capa de las capacidades de seguridad de SSL y HTTP estándar. En primer lugar, el protocolo de enlace cliente-servidor, que utiliza criptografía de clave pública/privada para crear una clave compartida, utilizada por la segunda parte del protocolo SSL para encriptar la comunicación.
Conectarse a través de Internet puede parecer seguro, inmediato y rápido. Parece que estamos hablando directamente con el sitio web. Pero, en realidad, no se trata de una conexión directa. Nuestras comunicaciones se envían a través de un router Wi-Fi, un ISP y, posiblemente, otros proxies intermedios entre tu dispositivo y el sitio web. Sin HTTPS, todas nuestras comunicaciones están 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 mediante HTTP. Y, peor aún, es posible activar un ataque de intermediario y reemplazar HTTPS por HTTP. Una herramienta llamada SSLstrip que se introdujo en 2009 es justo eso. Firesheep, de 2010, acaba de escuchar las redes Wi-Fi abiertas para el envío de cookies con claridad. Eso significaba que podías escuchar en el chat o acceder a la cuenta de Facebook de alguien.
Sin embargo, SSL es (relativamente) barato, rápido y fácil de implementar (consulta el libro de Ilya Grigorik y ssllabs.com sobre Herramientas de redes para navegadores de alto rendimiento). La fijación de claves públicas está diseñada para ofrecer 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 manera predeterminada. Para ello, no tuvimos que implementar máquinas adicionales ni hardware especial. En nuestras máquinas frontend de producción, SSL representa < 1% de la carga de CPU, < 10 KB de memoria por conexión y < 2% de la sobrecarga de la red...
Si dejas de leer ahora, solo debes recordar una cosa: SSL ya no es costoso en términos de procesamiento”.
– Overclocking SSL, Adam Langley (Google)
Por último, estos son algunos de los errores que encontramos con mayor frecuencia:
- Contenido mixto: Sitios que usan HTTP y HTTPS. Tu usuario se molestará porque tiene que hacer clic en un botón de permiso para cargar contenido. (Chrome y Firefox realmente prohíben el contenido mixto de iframes). Asegúrate de que HTTPS cargue todos tus recursos en una página HTTPS. Para ello, usa URL relativas o relativas al esquema, por ejemplo,
<style src="//foo.com/style.css">
- Cookies no seguras: Se envían sin conexión mediante una conexión HTTP. Para evitar esto, configura el atributo seguro en los encabezados de cookies. También puedes usar la nueva opción "Seguridad de transporte estricta" encabezado para requerir SSL Seguridad de transporte (HSTS)
Conclusiones
- Si te preocupa la privacidad y la integridad de las contraseñas debes usar SSL. Es más rápido, sencillo y económico que nunca.
- Evita los problemas comunes de implementación, como errores de contenido mixto, o no establecer los bits de encabezado HTTP correctos.
- Usa URLs relativas o relativas de esquema.
- Descubre contenido nuevo y genial, como HSTS y fijación de certificados
Presentaciones: ¿Tienes SSL?
APIs multimedia para la Web multidispositivo
por Sam Dutton y Jan Linden
Junto con la proliferación de nuevos dispositivos y plataformas en la Web, estamos observando un gran crecimiento en audio, video y comunicación en tiempo real. Los medios de comunicación en línea están transformando la forma en que consumimos medios de todo tipo.
Un estudio gubernamental del Reino Unido determinó que el 53% de los adultos realizan múltiples tareas multimedia mientras mira TV: Uso de dispositivos móviles para compartir y consumir contenido multimedia. En muchos países, la visualización de la TV no está disponible y, en línea, está aumentando. Por ejemplo, en China, en 2012, solo el 30% de los hogares de Pekín miraron TV, lo que representa una disminución en comparación con el 70% de 2009. Según un informe de W3C Highlights 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 se dedica a los medios digitales por día superará la visualización de la 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 con pantalla cuando miran televisión. Según Cisco, "el video ... estará en el rango del 80 al 90 por ciento del tráfico de los consumidores global para 2017". Eso equivale a casi un millón de minutos de video por segundo.
¿Qué les ofrecemos a los desarrolladores web? Un ecosistema de APIs multimedia para la Web abierta: tecnologías interoperables y estandarizadas que funcionan en varias plataformas.
Conclusiones
- 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 de WebRTC.
- Web Audio proporciona herramientas sofisticadas para síntesis y procesamiento 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 la pausa en directo.
- EME habilita la reproducción de contenido protegido.
- Las transcripciones, los subtítulos y el elemento de pista habilitan los subtítulos, los metadatos sincronizados, los vínculos directos y la búsqueda profunda.
Presentaciones: APIs de contenido multimedia para la Web multidispositivo