Actualización mensual de desarrollo web 9⁄2018: carga diferida nativa y trabajo imaginario
Publicado: 2022-03-10Es un concepto interesante comparar JavaScript con CO2 y, sin embargo, muy válido. Alex Russel, que trabaja para el equipo de Chrome y tiene mucha información sobre el estado actual de la web, dice que usar demasiado JavaScript o usarlo exclusivamente (sin mejora progresiva/degradación elegante) tendrá el mismo efecto que demasiado CO2 para el ecosistema en el planeta Tierra: el ecosistema se desmoronará. Y al igual que necesitamos una cierta cantidad de CO2 para vivir, necesitamos JavaScript en la web. Es esa delgada línea la que marca la diferencia: la línea entre no demasiado y nada en absoluto.
Siento que con las API de navegador nativas que tenemos en estos días tenemos una oportunidad fantástica para crear excelentes servicios web sin inflarlos demasiado y sin depender solo de JavaScript. Podemos mejorar fácilmente los elementos nativos con la API de elementos personalizados a través de ES6 Classes, con tan poco código que parece ridículo construir todo eso por su cuenta en un marco de trabajo de terceros. Coincidentemente, el equipo de ingeniería de Github publicó un artículo sobre cómo eliminaron jQuery por completo y qué usan ahora en su lugar: JavaScript nativo y código pequeño y esbelto que está mejorando progresivamente su plataforma. Menos código, mejor mantenibilidad y más estabilidad.
Noticias
- Chrome 70 ahora está en versión beta, lo que trae la detección de formas como una prueba de origen que nos permite realizar la lectura de códigos QR, la detección de rostros y el reconocimiento de texto en imágenes. La API de autenticación web también recibió algunas actualizaciones y se agregó compatibilidad con la política de
referrerpolicy
a los elementos<script>
. Esta versión también dejará de usar Custom Elements v0, HTML Imports y Shadow DOM v0. - Finalmente, con Firefox 62, Mozilla envía
::selection
en lugar de:-moz-selection
. También implementaronflat()
yflatMap()
para matrices de JavaScript y los desarrolladores obtuvieron un nuevo editor de rutas de forma. - Chrome 69 está disponible y nos trae CSS Scroll Snap Points, la propiedad CSS
viewport-fit
para pantallas recortadas como la del iPhone X, y Web Locks API que permite que los scripts que se ejecutan en una pestaña o trabajador adquieran de forma asincrónica un bloqueo, espera mientras se realiza el trabajo y luego suéltelo. La actualización también viene con soporte de gradiente cónico CSS,toggleAttribute()
(que es similar al métodoclassList.toggle()
pero para atributos), yflat()
yflatMap()
para arreglos. Desafortunadamente, esta versión cambió la forma en que el navegador muestra la URL y parece que la gente lo considera un error de seguridad. Veamos cómo evolucionará eso. - Con Firefox 62 compatible con fuentes web variables, finalmente tenemos soporte en todos los principales navegadores y ahora podemos usarlo ampliamente para mejorar el rendimiento, ser más creativos con la tipografía y reducir drásticamente el tráfico de datos.
- Manuel Rego Casasnovas escribió sobre los cambios recientes en CSS Grid Layout en porcentajes y altura indefinida en el navegador Chrome.
- Cualquiera que no sea un experto tendría dificultades para explicar cómo funciona realmente el seguimiento en Internet. Es por eso que Firefox ahora cambia su configuración predeterminada y aplica el bloqueo de seguimiento en su navegador de forma predeterminada.
- PHP7.3 llegará pronto con la nueva sintaxis de Heredoc y Nowdoc, comas finales en las llamadas a funciones,
is_countable()
,array_key_first()
,array_key_last()
y mejoras de hash de contraseña Argon2.
General
- "The 'Developer Experience' Bait-and-Switch" de Alex Russell es un excelente artículo que explica los entornos tóxicos que construimos actualmente para la web y por qué JavaScript se puede comparar con el CO2: ambos se necesitan en pequeñas porciones, pero si hay demasiado de ello, pondrá en riesgo todo el ecosistema (la web). Un artículo reflexivo que recomiendo a todos aquí para leer, compartir y recordar.
- A medida que Alexa, Cortana, Siri e incluso los bots de chat de atención al cliente se convierten en la norma, debemos comenzar a considerar no solo cómo se ve nuestro contenido, sino también cómo podría sonar. Podemos, y debemos, usar HTML y ARIA para hacer que nuestro contenido sea estructurado, sensato y, lo que es más importante, significativo.
Rendimiento web
- El próximo PostgreSQL 11 tiene algunas mejoras de rendimiento interesantes. Dimitri Fontaine comparte la diferencia que pueden hacer.
- Ben Schwarz comparte nuevos enfoques de la carga diferida nativa para la web que podrían convertirse en realidad pronto.
Seguridad
- Nightwatch Cybersecurity publicó una vulnerabilidad de seguridad en Android que expone información sobre el dispositivo del usuario a todas las aplicaciones que se ejecutan en él. Esto parece incluir el nombre de la red WiFi, BSSID, direcciones IP locales, información del servidor DNS y la dirección MAC; en general, mucha información privada que permite a las personas rastrear dispositivos Android individuales. Desafortunadamente, todas las versiones del sistema operativo Android, incluidas las bifurcaciones (excepto Android P/9, donde se proporcionó una solución) parecen estar afectadas y no hay planes para corregir las versiones anteriores.
CSS
- Chen Hui Jing explica cómo personalizar los botones de radio sin comprometer su accesibilidad.
- Las formas CSS ya tienen bastante historia. Traídos a la web temprano por una iniciativa del equipo web de Adobe, los proveedores de navegadores eliminaron las implementaciones pronto y ahora están regresando lentamente con especificaciones e implementaciones mejoradas e iteradas. Rachel Andrew comparte cómo implementar CSS Shapes.
- Sara Soueidan escribió las razones por las que cambió de definir los colores CSS como HEX o RGB a HSL y cuáles son los beneficios.
- Con el crecimiento de la web vienen nuevas funciones para adaptarse mejor a sus nuevos factores de forma y casos de uso. Una característica que me entusiasma es la propiedad
color-adjust
, propuesta en el nivel 4 del módulo de color de CSS. Es un reconocimiento de que la web seguirá apareciendo en dispositivos que tienen pantallas menos que estelares.
HTML y SVG
- Stefan Judis leyó lo que dice la documentación de Mozilla sobre los elementos de
input
y descubrió un par de cosas interesantes que podrían ser muy útiles para su próximo proyecto.
JavaScript
- Nolan Lawson compara las diferentes formas de usar temporizadores en JavaScript y cuándo usar cuál.
- ky es un cliente HTTP pequeño y elegante basado en la API Fetch del navegador.
- Ankur Anand escribió un artículo sobre el terrible costo de rendimiento de las solicitudes CORS en aplicaciones de una sola página.
- Adrian Roselli comparte cómo podemos crear listas de enlaces al final de una página para estilos de impresión.
- Babel 7 está fuera. Es más rápido, tiene más opciones y es compatible con JSX Fragments y TypeScript.
- El redimensionamiento automático de
<textarea>
s es una forma muy útil de mejorar la experiencia del usuario para las personas que escriben contenido para su sitio o servicio. Escribí una publicación de blog sobre cómo cambiar automáticamente el tamaño de los elementos de un formulario con una clase breve de ECMAScript 6.
Accesibilidad
- Ethan Marcotte reflexiona sobre lo que significa la accesibilidad y se da cuenta de que no se trata de hacer que un sitio web sea compatible con alguna tecnología de asistencia o software, sino de hacerlo utilizable para todos los que quieran acceder a él, independientemente de la tecnología. Esta es una gran diferencia porque su enfoque incluye a personas que tienen dificultades para leer un sitio web a pesar de que usan el mismo navegador y la misma computadora portátil que usted. Tal vez estén expuestos a la luz del sol, tengan dificultades con los textos pequeños o se distraigan con los colores brillantes o los elementos animados.
- Eric Bailey enfatiza lo importante que es probar manualmente la accesibilidad.
- Scott O'Hara comparte una ruta de navegación utilizando
aria-label
para proporcionar un nombre accesible yaria-current
para indicar el enlace actualmente activo.
Vida laboral
- Ryan Singer contempla la dificultad de planificar un proyecto con 'trabajo imaginario' y por qué es tan importante probar primero qué tan difícil será integrar algo antes de planificarlo en la hoja de ruta.
Ir más allá…
- Me encanta el concepto de hacer garabatos, y aunque no lo hago regularmente, siempre me fascina. Doodle Addicts es una plataforma que recopila garabatos de personas de todo el mundo. Una bonita galería para inspirarte.
- Jonny Brooks-Bartlett escribió un artículo interesante sobre por qué tantos científicos de datos están dejando sus trabajos. El trabajo puede sonar bastante interesante y como una buena apuesta en estos días, pero a menudo las expectativas no coinciden con la realidad y las decisiones políticas y éticas son extremadamente difíciles.
- Marco Lambertini explica cómo la tecnología puede ayudarnos a salvar el planeta, pero más que nada necesitamos aprender a valorar la naturaleza y sus recursos.
- Esta semana se planteó una discusión interesante por parte de un colaborador de código abierto muy conocido que intentó cambiar la licencia de uno de sus proyectos para evitar que las empresas que apoyan a la institución ICE de EE. UU. usen su software. El cambio se revirtió rápidamente después de que se reveló que no era legalmente aplicable. Sin embargo, todo el tema (que aparece con mucha más frecuencia últimamente) muestra que cada vez más personas piensan en el impacto de su trabajo. No quieren que se use para mal, sino para bien. Y si bien la idea de fuente abierta y no restringida es deseable, es solo si la gente la usa para apoyar los derechos humanos y mejorar vidas. Tengo curiosidad acerca de las nuevas soluciones que podrían garantizar esto; tal vez pronto veamos más términos de servicio para proyectos de código abierto (que luego serían legalmente vinculantes pero pueden impedir que los proyectos de código abierto gratuitos los usen).