Saltar al contenido

¿Qué significa Google AMP para los que utilizamos JavaScript?

Al descuidar el rendimiento web, la comunidad JavaScript allanó sin querer el camino para la irrupción de AMP.

El proyecto Accelerated Mobile Pages (AMP) de Google se centra en los problemas actuales de la web: La revolución móvil, el periodismo fiable y sostenible, la monetarización del contenido y la publicidad, la estandarización de la web, el rendimiento de esta y los monopolios de la industria tecnológica.

Se ha hablado mucho de AMP. Sobre todo enfocándose en que ha vendido para salvarnos y acelerar la carga de la Web.

Pero cuidado

¿AMP es un estándar? ¿Es algo de la comunidad o aceptado por ella?

No, AMP es de Google.

¿Corremos el riesgo de volver a los tiempos de Internet Explorer?

En este post, no voy a explicar lo que es AMP y no voy a reiterar todas las críticas que ha suscitado. Quizá las aborde más en profundidad en otros artículos.

 

Accelerated Mobile Pages
Accelerated Mobile Pages

Todo lo que necesitas saber sobre AMP

Me gustaría hablar de un detalle sobre AMP: Es sobre el uso de JavaScript o su postura sobre el uso de JavaScript.

El problema de JavaScript

Desde mi primer contacto con JavaScript, he pensado en todos usos posibles, razonables y beneficiosos de JavaScript. Desde que JavaScript ganó terreno en la web, fue mal utilizado y sobreutilizado: Ventanas emergentes molestas. Deterioro de la interacción del usuario. Código frágil, específico del navegador, inaccesible. Usar JavaScript cuando existe una tecnología más robusta más abajo en la pila que sería la mejor herramienta, etc

No hace mucho, los usuarios no estaban totalmente convencidos de que JavaScript se utilizara para su beneficio. Una fracción de las personas conocedoras de la web incluso desactivaron completamente el JavaScript, y algunos todavía toman tales medidas por razones de rendimiento, privacidad y seguridad.

Adelántalo hasta el día de hoy. La evolución de los estándares web, el avance de JavaScript como lenguaje con potentes APIs ha eliminado algunos escollos. JavaScript es una parte esencial de la web, pero se utiliza mal como nunca antes. Y lo que es más importante, JavaScript es un cuello de botella de mayor rendimiento para renderizar contenido web en dispositivos móviles con conexiones lentas y menos potencia informática.

La experiencia del usuario de la web móvil es frustrante, y JavaScript es, al menos en parte, el culpable. Desafortunadamente, el problema de rendimiento de JavaScript es complejo. Aquí hay una visión general rápida e incompleta:

 

  • Se cargan demasiados scripts desde varios servidores. En algunos sitios, los scripts de servicios de terceros dominan y están fuera de control.
    Los scripts son grandes, generan tráfico de red y cuestan dinero a los usuarios. El código de los scripts, especialmente el código de la librería y el framework, no se utilizan en su mayoría en la página solicitada. Además, código similar es enviado varias veces.
    Para mayor problema, los scripts cargan el contenido perezosamente para que la página se construya gradualmente. Pero el contenido salta, lo que frustra la interactividad del usuario.
  • La ejecución del script ejerce presión sobre la CPU, interfiere con la interacción del usuario y agota la batería. Los scripts interrumpen el ciclo de renderizado del navegador, causando “tirones” e interrupciones.
  • Los scripts siguen siendo frágiles debido a fallas en la red, diferentes tiempos de ejecución del navegador y problemas de compatibilidad.
  • Los scripts de publicidad y análisis recopilan datos sobre el dispositivo, crean huellas dactilares y cookies y las guardan en un almacenamiento local, violando la privacidad del usuario.

 

Es importante darse cuenta de que el problema de JavaScript se encuentra en el corazón de todos los problemas del estado actual del rendimiento web.

Optimización

La optimización del rendimiento web se queda corta como solución.

La eliminación de estos obstáculos de rendimiento requiere una auditoría manual y exhaustiva de un sitio. Requiere desarrollo de JavaScript personalizado para analizar, reducir y refactorizar los scripts en el sitio. Este es un proceso continuo para los sitios que se actualizan con frecuencia.

Desafortunadamente, muchos desarrolladores web no son conscientes de estos problemas, carecen de la experiencia técnica o de los recursos para resolverlos.

Y es que cada día más gente desarrolla y diseña sitios webs sin conocimientos suficientes de informática. Diseñadores, aficionados, periodistas, artistas, amateurs, etc.

Cada departamento de diseño web necesitaría hoy en día un especialista en rendimiento web con un fuerte conocimiento de JavaScript. Pero en comparación con todo el desarrollo web y la programación en JavaScript, el rendimiento web de la mayoría de los sitios es bajo, y lo peor, la escasez de personal experta en esta materia es más escasa aún.

Dado que la mayoría de los scripts son escritos por terceros o consisten en código de librería de terceros, no es un problema que un sitio individual pueda resolver por si mismo. Es un problema del ecosistema web en su conjunto.

 

Google pesa con su poder de mercado

Google es la mayor empresa que apuesta por el éxito de la web. Google no sólo domina las búsquedas web, sino también los sistemas operativos móviles, la publicidad, la cartografía, las herramientas de oficina basadas en la web, el correo electrónico, el vídeo y los análisis. Fue principalmente Google quien hizo avanzar a la web de un sistema de entrega de documentos a una plataforma de aplicaciones enriquecida bajo el paraguas de “HTML5”. Hoy en día, Google tiene un poder casi absoluto sobre la web y su progreso técnico. ¿Eso es bueno? Piénnsalo desde este prisma ¿Es mejor la democracia actual o tener a un dictador benévolo y eficiente? Yo tengo mi opinión. Te dejo a ti que saques la tuya.

Google examinó la situación de rendimiento de la web y buscó una solución. Google reconoce que no puede cambiar toda la web en un día. Por lo tanto, crea nuevos estándares web, construye un navegador más rápido, educa a los desarrolladores web y proporciona herramientas de autoría con principios de rendimiento bien claros.

Dado que Google depende de los productores de contenido web, tiene un enfoque “democrático” sobre el evangelismo de los desarrolladores.

Dos pasos son necesarios para cortar el nudo gordiano del rendimiento web:

 

  • Tener la experiencia y los medios para encontrar una solución viable.
  • El poder de implementar y hacer cumplir esta solución.

 

Resulta que la comunidad web carece de ambos. No es el caso que nadie tenga la experiencia, pero los medios están dispersos y los esfuerzos no están coordinados. Más importante aún, nadie en la comunidad web tiene el poder de hacer cumplir las reglas en una gran cantidad de los sitios.

Excepto Google.

Una solución autoritaria

Google se dio cuenta de que el enfoque “democrático” no era capaz de alterar el rumbo rápidamente. Así que Google intentó un enfoque “autoritario”. En mi opinión, AMP refleja las estructuras de poder de la web, especialmente el predominio político y económico de Google.

En un movimiento audaz que los capitalistas de Silicon Valley seguramente elogiarían como “perturbador”, Google decidió eliminar todo el código JavaScript desordenado que está ralentizando la web. Nacen las Páginas Móviles Aceleradas (AMP).

Crear una solución viable es sólo la mitad del trabajo. Forzar a ser utilizado en la red es la gran otra mitad. Así que Google favorece las páginas AMP en la búsqueda de Google para móviles. Las páginas AMP aparecen en el “carrusel de noticias” en la parte superior y están marcadas con un símbolo de relámpago. Se cargan “en línea”, por lo que la navegación entre la lista de resultados de la búsqueda y el resultado de la búsqueda individual es inexistente.

Un JavaScript para gobernarlos a todos

AMP es una tecnología compleja con numerosos requisitos y piezas. Pero en el fondo está la idea de escribir un JavaScript para gobernarlos a todos. AMP obtiene una gran cantidad de sus mejoras de velocidad al prohibir casi todo el código JavaScript existente. Google aplica el freno de emergencia para las secuencias de comandos del lado del cliente con el fin de empezar desde cero.

Con AMP, sólo necesitamos un JavaScript, el llamado AMP runtime. Este es un JavaScript de código abierto desarrollado por Google. No es una librería que puedas usar en tu propio JavaScript. De hecho, ya no deberías escribir JavaScript. En su lugar, declaramos elementos personalizados en nuestro HTML y el JavaScript de AMP los convierte en componentes interactivos.

Es posible cargar código JavaScript de terceros para publicidad, contenido de vídeo y widgets de medios sociales, pero el JavaScript de AMP lo controla y lo hace inofensivo. El código de terceros ya no interfiere con la carga del contenido principal.

El JavaScript de AMP no es particularmente pequeño ni está escrito de una manera nueva y revolucionaria. La infraestructura de script y sus componentes simplemente se adhieren a un conjunto de principios que finalmente conducen a un alto rendimiento. En este sentido, el JavaScript de AMP es una gran pieza de ingeniería que establece un nuevo estándar para la interactividad web.

Existen otras soluciones que intentaban “reiniciar” el mundo JavaScript. Pero sólo Google tiene el poder de imponer su solución a los autores web. También se podría argumentar que era inevitable que Google adoptara un enfoque autoritario, dado su monopolio de la búsqueda móvil.

La comunidad Open Web debe conceder la derrota

Un año y medio después de que Google lanzara AMP, varios medios de comunicación notables se subieron al carro. Inicialmente, Google concibió el AMP como un formato para artículos de noticias de lectura móvil. Pero de acuerdo con la hoja de ruta de AMP, Google planea “ampliar el apoyo hacia una variedad de formatos de contenido, incluyendo artículos de noticias, recetas, listados locales, listados de productos, y más”.

En mi opinión, AMP es una derrota para la comunidad de Open Web contra la privatización, monopolización y centralización. Esta pérdida es de alguna manera autoinfligida. La comunidad Open Web no pudo proporcionar frameworks de rendimiento claros y fáciles, conjuntos de reglas y herramientas de validación como lo hace AMP. Frente a la revolución móvil, la comunidad no logró hacer accesible la web a los dispositivos móviles.

En especial, la comunidad JavaScript no ha podido abordar el uso indebido y desenfrenado de JavaScript y los efectos adversos de JavaScript en el rendimiento de la Web. El sitio promedio hoy en día carga 23 scripts con una cantidad total de 426 kB de código JavaScript comprimido. Hoy en día es fácil configurar un proyecto con React, Angular o incluso jQuery, añadir algunos scripts comunes de terceros y terminar con megabytes que bloquean la carga de código del servidor.

La comunidad JavaScript innovó rápidamente en los últimos años. Lamentablemente, el establecimiento de indicadores y normas de rendimiento, la lucha contra la fragmentación y la conciliación de enfoques similares no era un objetivo. La situación empeoró tanto que una poderosa empresa que construye su negocio en la web intenta pulsar el botón de reinicio de JavaScript.

Democratizar el rendimiento web

No es de extrañar que una solución unilateral y autoritaria sea más efectiva que los esfuerzos dispersos de los expertos en JavaScript y en rendimiento web. Pero no es deseable ni sostenible construir una “segunda web” principalmente para la búsqueda móvil en Google. Prohibir todo el JavaScript existente y reescribirlo desde cero no es una solución viable. Por lo tanto, el impacto de AMP en toda la web todavía no está claro.

Lo que está claro para mí es que la comunidad JavaScript necesita barrer delante de su propia puerta. Necesita criticar a AMP pero también aprender de AMP. La comunidad  web necesita adaptar los principios técnicos que mejoran el rendimiento. Pero en lugar de seguir un enfoque centralizado y autoritario, necesitamos arreglar la red en un esfuerzo comunitario concentrado.

¿Será posible?

 

Entradas relacionadas

Download Premium WordPress Themes Free
Download WordPress Themes Free
Download WordPress Themes
Download Nulled WordPress Themes
free download udemy paid course