¿Por qué odio tanto Safari ahora?
Después de que IE regresó al mundo, la "corona de laurel" del navegador más odiado tuvo inmediatamente un sucesor: Apple Safari.
Del mismo modo, Safari siempre se ha quedado atrás de otros competidores en cuanto a compatibilidad con funciones y API web modernas, lo que directamente dificultó a nuestros ingenieros implementarlo en varios navegadores convencionales (Chrome, Edge, Firefox y Safari). Unificado experiencia del producto.
Vi este artículo esta mañana. El módulo de programación en Reddit ocupó el primer lugar. El autor, Perry Sun, es director de marketing de productos en una nueva empresa. Puede que sus puntos de vista no sean correctos, pero espero que pueda inspirarte.
Además, la discusión de todos en Reddit es muy animada, puedes consultarla.
Aplicaciones web progresivas
Ahora hemos explorado cómo lograr una experiencia de aplicación altamente unificada con aplicaciones nativas en el navegador.
Todo esto se basa en las llamadas aplicaciones web progresivas (PWA), un conjunto de tecnologías de navegador modernas que permiten a los desarrolladores crear sitios web que se ven, se sienten y funcionan tan bien como las aplicaciones web para teléfonos inteligentes y tabletas. muy similar a las aplicaciones nativas en su computadora o escritorio.
Las aplicaciones web progresivas son tan interesantes que incluso habilitan las siguientes características que antes eran dominio de las aplicaciones nativas:
No es necesario compilar ni enviar las aplicaciones web progresivas a la aplicación. almacenar para su aprobación. Hoy en día, aplicaciones convencionales como Starbucks, Twitter y Uber han elegido aplicaciones web progresivas como su portador.
Apple ha tardado en admitir aplicaciones web progresivas en Safari por sus propios motivos. Han estado restringiendo severamente la funcionalidad de las aplicaciones web progresivas, como prohibir que dichas aplicaciones publiquen notificaciones del sistema o agreguen íconos de acceso directo a la pantalla de inicio.
Eso no es todo. El único motor de renderizado web compatible con iOS es el WebKit de Apple. Cualquier navegador iOS de terceros (incluido Chrome) solo puede usar WebKit y no debe coincidir con ningún otro motor (esto no está restringido en Windows, Android o MacOS). WebKit es la fuente de funcionalidad de administración para aplicaciones web progresivas en iOS.
¿Por qué Apple quiere restringir la API Web de las aplicaciones web progresivas? La razón altisonante es, por supuesto, la privacidad del usuario, pero me temo que esto sólo se puede creer a medias.
Muchos amigos deberían poder imaginar que una vez que las aplicaciones web progresivas con todas las funciones sean totalmente compatibles, la App Store de iOS se enfrentará a una enorme competencia. Solo cuando una aplicación aparece oficialmente en la App Store, Apple puede obtener un descuento del 30% de todas las compras de la aplicación en sí o de las compras dentro de la aplicación.
No hace mucho, la controversia sobre la falta de voluntad de Apple para soportar aplicaciones web progresivas se centró principalmente en la comunidad de desarrolladores web. Pero ahora, a medida que se intensifica la demanda antimonopolio entre Epic y Apple, el problema finalmente queda expuesto al público.
Con el tiempo, Apple podría verse obligada a ampliar el soporte para aplicaciones web progresivas en todos los ámbitos o abrir la puerta a otros navegadores iOS de terceros. Pero sólo nos queda esperar y ver cuál será el resultado de la demanda.
Utilice un truco para "arrastrar" contra WebRTC
Los desarrolladores e ingenieros web se han quejado de que Safari no puede admitir funciones importantes de API web y CSS como otros navegadores.
Un usuario de Reddit se quejó una vez de que... a Apple no le importan en absoluto las API modernas. ¿Aplicaciones web progresivas? ¿Aplicaciones de transmisión? Sal de aquí. Pero, hermanos Apple, realmente necesitamos esto. ”
Tomemos WebRTC como ejemplo. Se utiliza principalmente para admitir comunicaciones de vídeo y audio en la Web. También se utiliza a menudo para enviar archivos y disfrutar del contenido de la pantalla.
Apple tiene. Pasó varios años. Se necesitaron años para llevar el soporte WebRTC a Safari, quedando muy por detrás de Chrome y Firefox, lo que convirtió a Safari en una broma entre los desarrolladores e incluso entre los observadores de la industria.
Aunque el soporte finalmente llega, es bien sabido que. WebRTC no está disponible en el escritorio de Safari. El efecto es muy inferior al de otros navegadores. Los desarrolladores han descubierto que la compatibilidad con WebRTC en iOS es un desastre, incluso irremediable.
Safari ha sido criticado por no admitirlo. Codificador de vídeo VP9 o formato de compresión de imágenes WebP. Pero la buena noticia es que el soporte correspondiente finalmente se lanzará a finales de 2020, pero el viejo problema persiste: en comparación con otros navegadores convencionales, el tiempo de lanzamiento es demasiado tarde. p>
Ahora hay uno nuevo disponible. Apple vuelve a tener la pregunta: si unir todas las fuerzas para soportar el códec de vídeo AV1 y el formato de imagen AVIF relacionado.
Pero también es difícil porque Apple obtiene regalías del códec HEVC de la competencia y también es un gran defensor del formato de imagen HEIC.
Los errores ocurren con frecuencia y las actualizaciones no son oportunas.
Muchos desarrolladores se quejaron en el foro de que Safari tiene muchos errores en la implementación de las funciones Web API y CSS, pero Apple tarda mucho en solucionarlos.
"¿No es Apple una de las empresas más ricas del mundo? ¡Sal con algo de dinero y resuelve el problema!", dijo un usuario en Reddit.
Aún más frustrante es que, a diferencia de Chrome o Firefox, Safari no tiene ningún ciclo de actualización fijo. Su frecuencia de actualización es consistente con el sistema operativo subyacente. Un ciclo de actualización tan largo es simplemente escandaloso para un navegador web.
Incluso Microsoft tiene el valor de actualizar automáticamente su navegador Edge. ¿Y tú, Apple?
Quizás todo cambie.
Por favor, no me malinterpretes. Safari es un excelente navegador web con un rendimiento potente y funciones de privacidad confiables.
Pero al mismo tiempo, el escaso soporte para las tecnologías web centrales y las API es confuso y desagradable.
La enorme popularidad de iOS, junto con el uso continuo por parte de Apple de diversos medios para evitar que los desarrolladores creen una experiencia web unificada y excelente en múltiples plataformas, es aún más exasperante.
Podemos entender la razón detrás de esto. Después de todo, Apple ha decidido apostar su destino en los ingresos por servicios, por lo que las compras dentro de la aplicación generadas por la App Store serán cruciales.
Ante la presión pública, Apple siempre hace concesiones. Por lo tanto, en el futuro previsible, creo que Apple se referirá a las opiniones de los usuarios y hará algunos ajustes importantes a las ideas de diseño de Safari. Esperamos con ansias las acciones de Apple.