¿Qué es una aplicación de una sola página en desarrollo web?

Aquí hay una descripción realmente fácil de lo que es un SPA (aplicación de una sola página):

Las aplicaciones de una sola página (SPA) son aplicaciones web que cargan una sola página HTML y actualizan dinámicamente esa página a medida que el usuario interactúa con la aplicación.

Algunos detalles técnicos:

Los SPA usan (AJAX / WebSockets / Eventos enviados por el servidor) y HTML5 para crear aplicaciones web fluidas y receptivas, sin recargas constantes de página. Sin embargo, esto significa que gran parte del trabajo ocurre en el lado del cliente, en JavaScript. Además, los servidores suelen estar basados ​​en API.

Los marcos JavaScript del navegador web, como AngularJS, Ember.js, Meteor.js, ExtJS y React, han adoptado los principios de SPA. Estos marcos hacen que sea bastante fácil comenzar a construir SPA.

Algunos sitios web de ejemplo, aunque no son completamente SPA, pero ofrecen un buen ejemplo:

  • Gmail
  • Youtube
  • Facebook

La aplicación de una sola página es una aplicación web que proporciona al usuario solo una página para la interacción. No se recarga, ni transfiere al usuario a otra página en el sitio (aunque puede tener algunos enlaces externos).

El ejemplo más utilizado de una aplicación de una sola página es la página de destino (si cumple con los requisitos que mencioné anteriormente). Si la página de destino está bien construida, es muy eficiente y tiene una conversión de usuario muy alta. Es una buena opción para fines de marketing, donde solo necesita mostrar a las personas de qué se trata su producto y hacer que lo compren / descarguen.

Ejemplos de aplicaciones web de una sola página:

  • Día del heno
  • Pixenio: creador de sitios web sin sentido

Una aplicación de una sola página (SPA) no recupera HTML nuevo del servidor para cargar nuevas páginas. En cambio, utiliza javascript y el enrutamiento del lado del cliente para representar nuevas páginas al instante. Obtiene datos del servidor a través de solicitudes AJAX y los procesa en contenido en el cliente, utilizando un marco JS como React o Angular.

Esto es muy diferente del desarrollo web clásico, que representa datos en páginas HTML en el servidor y pasa archivos HTML completos al cliente cuando se carga una nueva página.