lo que deseamos
Publicado: 2022-03-10Creo que nos vamos a meter en problemas, aunque no puedo asegurarlo. Problemas, problemas, lo sé . Sin embargo, la rampa de acceso a él; Solo he oído hablar de eso. Sólo he estado haciendo esto durante diez años. Me perdí todo el período previo la última vez. Lo que puedo decir con seguridad, lo que sé por experiencia, es que nunca he tenido un deseo hecho realidad con ira sin arrepentirme.
Diez años (no me importa decirlo) es bastante tiempo. Antes, cuando me abrí camino por primera vez en una pasantía de diseño web, el bueno de Internet Explorer ya era un hazmerreír.
“Si nota que una parte de su contenido aparece y desaparece, y las secciones de la página solo se dibujan a la mitad, estas son buenas indicaciones de que un elemento requiere un diseño. [...] Una corrección dehasLayout
implica nada más que declarar una propiedad CSS que hace que un elemento obtenga un diseño, cuando normalmente no tendría un diseño predeterminado".
— La propiedad hasLayout de Internet Explorer
Odiaba el IE. Siento que puedo hacer frente a eso ahora. Traté de no hacerlo; Realmente, sinceramente lo hice. Le diría a la gente que fue divertido apoyar, si puedes creerlo.
A medida que todos los otros navegadores se volvieron cada vez más fáciles de manejar, traté de convencerme de que al menos todavía había un desafío para el viejo y peculiar IE. Eso incluso se convirtió en algo así como un motivo de orgullo: me había vuelto tan bueno solucionando problemas oscuros de IE que aprendí a esquivarlos durante el curso de mi desarrollo diario, sin dejar nada (bueno, menos) que temer cuando llegara el gran "abierto". en IE y ver qué se rompió "fase.
Es divertido, en cierto modo. divertido Esa fue la mentira que me dije a mí mismo.
/* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including “inherit”) without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */
— fuente de jQuery Mobile
Lo odiaba. Yo odiaba IE, en cada una de sus encarnaciones. Lo odiaba tanto como todos los demás.
“Internet Explorer 6 tiene un error desconcertante que involucra múltiples elementos flotantes; los caracteres de texto del último de los elementos flotantes a veces se duplican debajo del último flotante. ... La causa directa no es más que comentarios HTML ordinarios, como<!-- end left column -->
, intercalados entre flotantes que vienen en secuencia”.
— Error de caracteres duplicados de Explorer 6
Una pérdida de mi maldito tiempo es lo que fue. Todas esas horas que pasé encorvado sobre una máquina virtual defectuosa: recargar, esperar, corregir un error sin sentido, recargar, fallar , abrir IE nuevamente, esperar, verificar que el almacenamiento en caché no fuera un factor, recargar, esperar, y repetir. Podría haber estado haciendo mucho más con mi tiempo, podría haber aprendido mucho más.
Estaba seguro de que no solo frenaba mi trabajo, y no solo frenaba la web, sino que me frenaba a mí , como desarrollador. En ese segundo punto, supongo que no estaba del todo equivocado: todo el oscuro conocimiento de errores del navegador IE 6-7 que acumulé es inútil ahora. Todo lo que tengo que mostrar es un estremecimiento involuntario ante la palabra "filtro", una preferencia inescrutable por el padding
sobre el margin
y un miedo profundamente arraigado pero en gran parte infundado z-index
.
"...los espacios en blanco adicionales hacen que se seleccionen estilos incorrectos si el nombre de la clase real es una subcadena (o supercadena) de algún otro nombre de clase".
— Error de análisis de espacios en blanco de IE5/Mac
Deseaba que se fuera. Desinstalado por un virus inteligente y generalizado, prohibido por ley, Microsoft finalmente decidió reducir las pérdidas de su motor de renderizado de mala calidad y cambiar al motor de renderizado de Firefox, Gecko, lo que sea , simplemente hacer que desaparezca . Pero no. La web siguió evolucionando y los desarrolladores navegamos, barcos contra la corriente, retrocediendo incesantemente al pasado.
Llegó Chrome, Firefox siguió mejorando, se siguieron implementando nuevas funciones, las emocionantes e infinitas posibilidades presentadas por el advenimiento del diseño web receptivo se extendieron ante nosotros, y también (aparte rápidamente) recuerde que solo tendrá un par de días para que todo funcione más o menos en el viejo IE, así que no te dejes llevar demasiado .
"SI está utilizando IE8, Y está utilizando el enfoque de numeración de lista ordenada de CSS descrito anteriormente, Y el HTML que tiene las clases que usan los atributos CSScounter-reset
counter-increment
está OCULTO cuando se carga la página, ENTONCES cada vez que se oculta Se muestra HTML, TODOS los números automáticos serán CERO, ¡PERO SOLO SI EL CSS:hover
PSEUDO-CLASS SE UTILIZA EN ESA PÁGINA!”
— El error de "desplazamiento" de IE8: ¿El error de IE más impresionante de la historia?
Es difícil imaginar experimentar ese tipo de frustración hoy en día, al menos para nosotros, los relativamente veteranos. No quiere decir que no haya una cantidad increíble de trabajo involucrado en afinar las cosas en todos los navegadores en estos días también, sé muy bien que lo hay. Pero es difícil no sentir la punzada ocasional de, "en mi época, todo lo que teníamos eran flotantes, y déjame contarte sobre el error de doble margen de IE ", cuando escuchas una pequeña diferencia en cómo funciona CSS Grid desde un navegador. a otro.
Me equivoqué; Quiero ser claro en ese punto. No está mal por estar frustrado. No creo que se deba culpar a nadie por sentirse frustrado con esos viejos errores del navegador, al igual que no creo que se deba culpar a nadie por su frustración con cualquier aspecto del desarrollo web actual . No, me equivoqué por la conclusión a la que me llevó la ira: el deseo de ver Trident quemado hasta los cimientos y la tierra donde una vez estuvo salada.
Sospecho que solo una cosa dramáticamente irónica surge de esa tierra salada: esas mismas frustraciones, nacidas de nuevo, para una nueva generación de desarrolladores web. Cuando comencé mi carrera, pocos años después de la guerra de los navegadores, esas semillas ya habían echado raíces. Porque, durante un tiempo, un tiempo anterior al mío, los desarrolladores web maldijimos a Netscape de la misma manera. El navegador más débil, con errores e indiscutiblemente peor . Pero Internet Explorer: a los desarrolladores les encantaba ese navegador. Y deseaban que esos otros navegadores, los navegadores malos , simplemente desaparecieran : desinstalados por un virus inteligente y generalizado, prohibidos por la ley, Netscape finalmente decidió reducir las pérdidas de su motor de renderizado de mala calidad y cambiar al motor de renderizado de IE, Trident, lo que sea , simplemente haz que desaparezca Esos errores inescrutables de Internet Explorer no ocurrieron por coincidencia o negligencia. Surgieron porque Internet Explorer había ganado , y nos encantó por ganar.
Mira, nuestra frustración y nuestra ira nos mintieron, como suelen hacer. Nos dijeron que admitir esos otros navegadores peores no solo retrasó nuestro trabajo, y no solo retrasó la web, sino que también nos retrasó a nosotros, como desarrolladores. Una pérdida de nuestro maldito tiempo es lo que fue. Entonces, nos dijimos que no era solo por nuestro propio bien, sino por el bien de toda la web .
Pesamos a IE un poco más. Le dimos un poco más de voz en nuestras decisiones. Y así, con tantas fichas, Microsoft jugó sus cartas en consecuencia, ¿quién podría culparlos? Todos construyeron sitios web para ellos primero y los demás en segundo lugar. Su palabra no era ley , pero ciertamente era más que una sugerencia . Claro, se desviaron de los estándares web aquí y allá (solo un poco), pero después de todo, ¿no fue algo implementado por The Biggest Browser una especie de estándar de facto de todos modos? Además, admitir el navegador mejor, más rápido y más fácil estaba haciendo que la web en sí fuera un servicio. ¡Junto con Microsoft, estábamos impulsando la web! Todo el mundo gana.
El motor de renderizado que impulsa el navegador Edge de Microsoft en la actualidad, EdgeHTML, es una bifurcación del viejo y retorcido Trident. Es una bifurcación simplificada y enormemente mejorada de Trident, sin duda, pero no es, digamos, universalmente juzgada por sus propios méritos. El equipo de EdgeHTML siempre ha estado trabajando con un par de desventajas: la primera era técnica, ya que tomó una gran cantidad de tiempo y esfuerzo ponerse al día con los gustos de Safari, Firefox y Chrome. El segundo fue emotivo. Éramos nosotros, tú y yo, hastiados de años de Internet Explorer, mirando una alegre “e” azul minúscula con frío desdén.
Hace unas semanas, el equipo de Edge anunció que pronto abandonaría EdgeHTML a favor de Blink, el motor de renderizado que impulsa a Chrome. Con este cambio, las últimas brasas restantes de Trident se apagarán para siempre. El deseo que había compartido con tantos finalmente será concedido. Irónicamente cronometrado, resulta que EdgeHTML se estaba convirtiendo en un motor de renderizado bastante sólido.
Blink es un proyecto de código abierto liderado y gobernado por Google. Funciona tanto con Chrome como con Opera, el último de los cuales abandonó de manera similar su motor de renderizado de cosecha propia hace unos años.
Por un margen abrumador, Blink es (y será cada vez más) la forma en que se experimenta la web en todo el mundo. Blink es rápido, estable, está repleto de funciones modernas y, en comparación con el desarrollo de EdgeHTML , que aún está en evolución, es sencillo.
Es posible que haya ocurrido demasiado tarde para salvarnos de esos antiguos errores de IE, pero nuestro trabajo será más fácil ahora que hay un motor de renderizado menos para admitir. Usted y yo perderemos un poco más de nuestra carga colectiva de "pero funciona entre navegadores". Nuestros proyectos serán más fluidos y la web perderá un poco más de lo que antes la retenía.
Como administradores del motor que impulsa gran parte de la web, bueno, la palabra de Google no será ley , pero ciertamente más que sugerencia . Y tal vez en el transcurso de los próximos años, se desviarán de los estándares web aquí y allá (ya sea intencionalmente o accidentalmente) de la manera más pequeña. Pero después de todo, ¿no es algo implementado por The Biggest Browser una especie de estándar de facto en sí mismo? Además, ¿cómo podrías discutir? Al fin y al cabo, preferir un navegador mejor, más rápido y más potente es prestar un servicio a la propia web. Junto con Google, impulsaremos la Web. Todos ganarán.
Es decir, siempre y cuando las pequeñas desviaciones estándar y los errores diminutos y molestos no crezcan con el tiempo, gracias a las fuerzas gemelas de la entropía y la complacencia. A menos que las decisiones que hemos tomado por el bien de la web (mano a mano con una empresa de publicidad notoriamente hostil a la privacidad) comiencen a sentirse un poco más oscuras, y un nuevo hombre del saco comience a tomar forma en nuestras mentes, a menos que encontremos que nuestros viejos miedos y frustraciones han vuelto a surgir (como un fénix que se aleja un par de cientos de píxeles de donde debería y parpadea de una manera extraña cuando te desplazas).
No hace falta mucha imaginación para ver aparecer motores de renderizado más nuevos y emocionantes en los próximos años. Se necesita poca imaginación para verlos fallar debido a la falta de soporte, ya que preferimos "el navegador que todos usan", primero por elección y luego quizás en servicio a regañadientes de "los resultados finales".
De nuevo, sin embargo, no lo sé. Nunca he visto que esto suceda con un motor de renderizado. Acabo de escuchar toda la historia, y solo sé de primera mano cómo termina. Conozco el final por el dolor de viejas cicatrices psíquicas; de un estremecimiento involuntario ante algunos fragmentos de código y la memoria muscular que me obliga a evitar otros. Lo sé por los chistes en las conferencias que siempre se sentían un poco cansadas, pero que aún resonaban de una manera que no me permitiría admitir y aún hablaban de un deseo secreto que guardaba en lo más profundo de mi corazón. Un deseo amargo y odioso.
Pero oye, escucha. Ya no. Ahora, quiero decir, nunca lo haría. Realmente me encanta un buen error del motor de renderizado, ahora. Hago.
"Las transformaciones CSS 3D conperspective()
se representan al revés".
— bugs.chromium.org
Quiero decir, eso es realmente un error divertido, ¿verdad? Como, divertido en cierto modo . ¿Sabes?
Es divertido.
Será divertido .