¿Son las aplicaciones de una sola página el futuro de la web?

Sí. Tardará un rato. Incluso puede llevar tanto tiempo que otra tecnología haga que las páginas web tradicionales sean irrelevantes. Pero sí … y he aquí por qué:

  1. Fuerte separación del contenido dinámico del diseño y el diseño. Esto hace que el desarrollo y el mantenimiento sean más rápidos y fáciles.
  2. Esto mejora su rendimiento en la mayoría de los escenarios. Por ejemplo, todos sus andamios y diseños se pueden almacenar en caché en una red de entrega de contenido (CDN) como AWS Cloudfront. Esto significa que su servidor web solo sirve contenido dinámico y persiste la entrada del usuario.
  3. Esto también facilita el mantenimiento de su código y hace que su estructura de código sea más limpia para desarrollar y probar.
  4. Puede desarrollar diferentes front-end para diferentes consumidores a bajo costo: una API, un cliente de escritorio, un cliente de realidad virtual, un cliente móvil, todo desde los mismos servicios de back-end.
  5. La experiencia del usuario (si se hace correctamente) es mejor ya que la aplicación responde mejor y es más fácil habilitar el trabajo sin conexión.
  6. El ancho de banda consumido se reduce, lo que significa un mejor rendimiento y una respuesta más rápida para el usuario. Además de reducir el consumo de datos y los cargos.

Todavía puede componer un sitio de unos pocos sitios más pequeños de una página, además puede cargar dinámicamente algunos elementos de diseño adicionales según lo requieran partes del sitio. También puede llevar un tiempo que las buenas prácticas de diseño de IU se pongan al día. Veremos algunos sitios terribles de una página, pero la evolución los seleccionará naturalmente, ¡y el pésimo diseño del sitio web no es algo nuevo! Sin embargo, hay relativamente pocas desventajas cuando se hace bien.

No estoy convencido. ¿Por qué?

  1. El rendimiento de los SPA en dispositivos móviles deja mucho que desear
  2. Hay una increíble cantidad de abandono en el marco de SPA / espacio de conjunto de herramientas en este momento. Demasiado para que alguien pueda reclamar esta pregunta está cerca de ser resuelta.
  3. A pesar de lo que algunas personas dicen, los marcos / herramientas de SPA agregan una carga de complejidad que es simplemente innecesaria para escenarios de contenido estático que siguen siendo bastante comunes. No todos necesitan un sitio dinámico y muchas personas que los tienen probablemente estarían mejor sin ellos …
  4. A pesar de lo que algunas personas dicen, los marcos / herramientas de SPA no son lo mismo que el diseño de aplicaciones de varios niveles, el diseño receptivo y la separación MVC. Todo esto es posible sin comprar el paradigma SPA.

No me malinterpreten, me gusta la idea de los SPA. Inicialmente estaba muy interesado en ellos. Pero me he dado cuenta de que por cada problema que resuelven, introducen un problema diferente. Con suerte, esto cambiará en el futuro.

También creo que un problema clave que muchos de los marcos / herramientas de SPA actuales han olvidado / ignorado al introducir métodos “geniales” de manejo de diseño, interfaz de usuario, etc. es que, a pesar de todas sus fallas, HTML + CSS es mucho más agradable de usar que un Muchos de los kits de herramientas de UI que encuentras en idiomas que no son web. A veces parece que esto se ha olvidado y, por alguna razón, la gente quiere desesperadamente reinventar esta rueda …

Las aplicaciones de una sola página ciertamente ganarán popularidad, pero hay ciertos límites. La cuestión es que los SPA no están adaptados para admitir una amplia funcionalidad. Están desarrollados para productos con un propósito definido y un número limitado de funciones.

Veamos los ejemplos de SPA

Gmail, probablemente el ejemplo más popular de una aplicación de una sola página. Tiene un propósito definido: administrar cartas y realizar procedimientos simples como ingresar el mensaje, enviarlo, guardar borradores, etc.

Twitter es casi un SPA (sí, algunas acciones requieren la actualización de la página, pero la mayoría no). Nuevamente, la funcionalidad es bastante limitada: escribir un tweet, publicarlo, retweet, etc.

Ahora pensemos en las tiendas de comercio electrónico. Tiene muchos productos, una página con su información, un carrito de compras, la página de configuración y procesamiento de pagos. Si intenta encajarlo en la estructura de SPA (lo que significa que las páginas no se actualizarán, JavaScript reescribirá el contenido), corre el riesgo de obtener un sitio web lento que también es difícil de optimizar para los motores de búsqueda.

Si desea hacer un proyecto más complejo, mejor vaya a una aplicación de varias páginas (MPA) donde las páginas se actualizarán. Aumentará la velocidad y mejorará la experiencia del usuario, sin mencionar la simplificación significativa del proceso de desarrollo.

Hay algunos desafíos

Los SPA son súper populares en este momento y por una buena razón. Son rápidos, utilizables, compatibles y económicos. Pero si piensa en desarrollar SPA, mejor consulte primero con el equipo de desarrollo profesional y lea más sobre los detalles. Puede comenzar con este artículo, es breve pero cubre el tema: El ABC de las aplicaciones de una sola página

Sí, lo son, pero tampoco lo harán. Hay un área gris entre un SPA y sitios web tradicionales. Un SPA significa que toda la representación HTML ocurre en el navegador. Esto significa que todas las lógicas, como la representación de plantillas, ocurren en JavaScript en el navegador. Esto significa empujar más bytes en la solicitud inicial cuando un usuario solicita una página visitando una url.

En muchos casos, los usuarios solo visitan una pequeña porción del sitio web y no necesitan todas las otras lógicas. Esta es probablemente la razón por la cual Google tiene solo una página de búsqueda altamente optimizada. Todos los enlaces en esa página conducen a páginas separadas. Si Google combinara todas las lógicas en esta aplicación, la página de búsqueda principal sería mucho más grande y, por lo tanto, mucho más lenta.

Los marcos modernos como meteor js representan todas las plantillas html en el lado del cliente mostrando una página en blanco hasta que se cargue todo el javascript. Pero cuando se carga, el sitio web se ejecuta mucho mejor. La aplicación ahora solo tiene que recuperar datos sin procesar del servidor, ahorrando un valioso ancho de banda. Sin embargo, esa solicitud inicial sigue siendo importante.

La mejor opción se encuentra en algún punto intermedio según el caso de uso. Los sistemas grandes son mejores que tener páginas separadas. Las aplicaciones más pequeñas podrían ser mejores que ser un SPA.

Las aplicaciones de una sola página son el presente. Si observa la mayoría de los principales sitios web que visita, serán aplicaciones de una sola página. La única pieza que los frenaba era SEO y rastreadores. Google puede rastrearlos, pero Bing se está quedando atrás. Si le importa Bing, es posible que deba esperar o implementar una solución de representación del lado del servidor. En LaunchKey estamos en el proceso de migrar todas las aplicaciones web que no son para fines de marketing o HTML estático a aplicaciones de una sola página. La mejora en la experiencia del usuario es demasiado grande como para ignorarla. Los usuarios pronto comenzarán a esperar la experiencia de SPA y saldrán de un sitio que no responde instantáneamente a un clic.

Gmail, probablemente el ejemplo más popular de una aplicación de una sola página. Tiene un propósito definido: administrar cartas y realizar procedimientos simples como ingresar el mensaje, enviarlo, guardar borradores, etc.

Twitter es casi un SPA (sí, algunas acciones requieren la actualización de la página, pero la mayoría no). Una vez más, la funcionalidad es bastante limitada: escribir un tweet, publicarlo, retweet, etc. https: //www.besanttechnologies.c

La gente lo ha estado diciendo durante años y muchos sitios han ido por ese camino.

Pero espero que no. Hay una gran cantidad de problemas molestos que encuentro con frecuencia con aplicaciones de una sola página.

No estoy particularmente seguro del futuro, pero hoy no encuentro muchos sitios destacados que sean de una sola página. Además, las aplicaciones web de una sola página ponen más énfasis en las tecnologías frontales para el desarrollo. No soy un gran admirador.