"Evergreen" no significa que esté disponible de inmediato trucos CSS
Tengo un colega que es inteligente, capaz y tecnológicamente alfabetizado. Como yo, trabajan a tiempo completo en línea.
Cuando comparto mi pantalla en una cita, me encuentro desconectando arreglando el botón rojo de actualización en su copia de Chrome.
Al hacer clic en este botón, comenzará el proceso de actualización de Chrome a la última versión estable.
Hice algunas preguntas de prueba sobre la frecuencia con la que se reinician, lo que también obligaría a Chrome a actualizarse en los reinicios. Ese es el punto de un navegador "siempre verde", ¿no? Es fácil asegurarse de usar siempre la última y mejor versión.
Resulta que prefieren esperar hasta que sea necesario, por las molestias que ocasionaría en su proceso de trabajo diario. Su comportamiento tiene sentido. Dan prioridad a la calidad de su experiencia informática general, en lugar de cumplir con los requisitos de una aplicación específica.
Al igual que yo, mi colega también usa una computadora portátil de primera para hacer cosas. Esto significa que la computadora portátil puede funcionar durante meses sin necesidad de reiniciar. Irónicamente, esta puede ser una situación en la que la computadora portátil se ve obligada condicionalmente a tener una forma más rápida de actualizar el navegador.
Navegadores de hoja perenne
Antes de la llegada de los navegadores perennes, tenía que ir al sitio web del fabricante y descargar e instalar manualmente la actualización. Antes de eso, tenía que usar un CD o un disquete.
Por el contrario, un navegador de hoja perenne es cualquier navegador que se puede actualizar automáticamente. Con esto quiero decir que el navegador descargará automáticamente el código necesario para agregar nuevas funciones y corregir errores una vez que el fabricante del navegador lo publique. La actualización en sí se realiza con:
- mensaje que se muestra al usuario del navegador solicitando que la aplicación se reinicie,
- una descarga que ocurre en segundo plano y se aplica cuando se reinicia la aplicación, o
- al reiniciar el dispositivo.
Los propios navegadores
Casi todos los principales navegadores son perennes. Esto incluye Google Chrome, Microsoft Edge y Mozilla Firefox.
Apple Safari es casi perenneCon eso quiero decir que recibe actualizaciones automáticamente, pero inconvenientemente requiere que se realicen al actualizar el sistema operativo macOS con otras actualizaciones para todo el sistema.
Si no prestaste atención, el equipo de Safari ha realizado muchas mejoras a su navegador en los últimos meses; me gustaría que continuaran con esta tendencia al hacer que la forma de actualizar el navegador se separe de los flujos de trabajo de actualización de macOS e iOS existentes.
La situación
S la muerte real, final y no grave esta vez de Internet Explorer, los navegadores perennes ya son el enfoque principal para computadoras de escritorio y portátiles. ¡Esto es genial! Esto significa que podemos pasar mucho menos tiempo preocupándonos por quién puede usar qué.
Costo menos el tiempo no significa gastar No tiempo, sin embargo.
Efectos retardados
Soporte de todos los navegadores de hoja perenne caniuse.com no significa necesariamente el mantenimiento del dispositivo que está utilizando; las actualizaciones que se han "empujado" no se aplican automáticamente.
Debido a estos dos factores, te recomiendo que suavices tu excitación con cierta moderación. Puede ser muy tentador apresurarse y usar lo nuevo y brillante. Créeme, no estoy libre de este deseo—CSS está a punto de pasar de excelente a increíble, y el deseo de utilizar nuevas funciones es bastante real.
Espera un minuto en su lugar. Trabaje con la capacidad de la plataforma para crear experiencias progresivamente mejoradas con CSS y JavaScript.
Usa la plataforma
La red es realmente buena para ser sostenible., siempre que trabaje con su grano.
Tanto CSS como JavaScript tienen la capacidad de proporcionar condicionalmente una experiencia para los navegadores que admitan nuevas funciones, al mismo tiempo que proporciona alternativas para aquellos que no lo hacen.
En lugar de buscar algo en la tabla de soporte en caniuse.com y pensar: "¡Quiero que más navegadores admitan esta función para poder usarla!", En su lugar, puede pensar: "Voy a usar esta función hoy". , pero tome esto como una característica experimental ".
-Jeremy Keith, "Soporte de navegador parcial continuo"
JavaScript
Puede usar JavaScript para preguntar si el navegador admite una función en particular o no. Por ejemplo, sobre Navigator
interfaz proporciona un mecanismo para consultar las capacidades del agente de usuario.
if (!(“geolocation” in navigator)) {
// Logic if a user's current geographic location isn't available
} else {
// Logic that is based on a user's current geographic location
}
En este ejemplo, estoy solicitando soporte para el navegador Geolocation
interfaz. Aunque su sintaxis es inicialmente un poco confusa para analizar, ayuda a enfatizar el enfoque progresivo de mejora. Es decir, acepte que la funcionalidad de geolocalización no es compatible y asegúrese de probar la ubicación de la persona que usa este navegador. Esta podría ser cualquier otra función, como permitir que el usuario ingrese una dirección o un código postal. Con el caso de uso cubierto, puede crear con confianza una experiencia que aproveche las capacidades de geolocalización del navegador.
Este pensamiento se extiende a todas las demás características y capacidades del navegador.
CSS
Como la mayoría de los otros lenguajes de programación, CSS también nos permite usar if
-Declaraciones similares.
por ejemplo, en @supports
en regla le permite crear una declaración condicional que se centre en si el navegador admite algo o no, y luego aplicarle lógica. Los navegadores que siguen la característica usarán estos estilos, y los navegadores que no los admitan los ignorarán. Es una solución concisa, inteligente y adaptable.
.component {
/* Base appearance */
}
@supports (grid-template-columns: subgrid;) {
.component {
/* Styling and positioning enhancement tweaks if subgrid is supported */
}
}
En este ejemplo, este enfoque progresivo de mejora garantiza que el contenido y la funcionalidad del componente se conserven para cada navegador, pero solo crea diseños fantásticos para los navegadores que pueden admitirlos.
¿Cuándo puedo eliminar estas cosas?
Sí, este enfoque agrega más código y más código significa más complejidad y soporte. Pero este es un código muy importante. Incluso puedes llamarlo deber técnico y acertarás. Pero la deuda técnica puede ser algo bueno como inversión en el futuro.
Es posible que desee eliminar esta complejidad cuando ya no sea necesaria. Saber el momento adecuado para esto en esta era de navegadores siempre verdes es difícil, pero tengo algunas sugerencias:
La paciencia es una virtud
En cuanto a la espera, recomendaría 6 meses conservadores después del lanzamiento de una nueva función, incluso antes de que empecemos a pensar en investigar si puede eliminar la detección de funciones. Esto tiene en cuenta:
- reinicios
- Actualizar procrastinadores
- Evitadores de actualizaciones
- Ciclos de actualización de hardware
- Reglas de actualización corporativa,
- etc
También diría que el período aproximado de seis meses es generalmente audiencia web mundial. Esta suposición cambia si te preocupas por un público especializado. ¿La forma de saber a quién estás sirviendo realmente? Análisis, sí, pero también hablar con las personas.
Tal vez no
Yo recuerdo: adicción a los sobrevivientes es real. ¿La nueva característica que usa impide que alguien use su sitio web o aplicación web? Digo esto porque algunas personas:
No hay un solo dispositivo, navegador o persona que cuidar al crear una experiencia web. Los sitios web y las aplicaciones web deben adaptarse a una combinación casi infinita de estas circunstancias para ser efectivos. Esta adaptabilidad es una gran parte de lo que hace que la red sea un entorno tan exitoso.
Considere trabajar duro para que sea más fácil y nunca elimine las solicitudes de funciones y @supports
Esto crea un enfoque estable que puede adaptarse con gracia tanto al pasado como al futuro.
el futuro es incierto
Hace mucho que pasamos la era de las computadoras de escritorio. Los navegadores están apareciendo en cada vez más lugares: teléfonos, tabletas, relojes, lectores de libros electrónicos, cámaras digitales, pabellones, televisores, ayudantes para el hogar, máquinas expendedoras, marcos de fotos, calculadoras, cajeros automáticos, terminales de venta, equipos de ejercicio, consolas de videojuegos. , vallas publicitarias, neveras, realidad virtual y coches.
¿Quién sabe qué dispositivos se utilizarán para habilitar navegadores en el futuro o qué capacidades tendrán? Sostenible para el futuro (y resistente al pasado) usted con un enfoque que lo adapta.
Gracias por jim nilson por sus comentarios.
Deja una respuesta