¿Está mal usar angular para todo en un sitio?

No estás necesariamente equivocado o correcto. Depende de la función prevista de su sitio y las necesidades de sus usuarios.

El beneficio de un marco como Angular es que todas las páginas y activos se sirven a la vez. Esto significa que:

  1. El cliente puede navegar a diferentes páginas sin tener que esperar solicitudes adicionales del servidor solo para obtener plantillas de página, y
  2. El servidor principalmente tiene que preocuparse por servir información en solicitudes de API en lugar de servir páginas enteras

A partir de esto, surgió la Aplicación de una sola página (SPA), en la que se construye toda la aplicación y las páginas se enrutan a través de JavaScript.

Como dije, el beneficio es que quita el trabajo del servidor y se lo entrega al cliente.

La desventaja es que elimina el trabajo del servidor y se lo entrega al cliente.

Esto tiene implicaciones en:

  • Rendimiento : a menudo es más fácil para el servidor simplemente inyectar información en una plantilla de página y servirla que el JavaScript de su navegador realiza constantemente solicitudes y vuelve a representar la página. El impacto en el rendimiento de la página puede variar según el sistema y la aplicación, pero es especialmente preocupante cuando se trata de navegadores móviles. Los dispositivos móviles tienen relativamente menos recursos disponibles para el navegador, por lo que las páginas pesadas en JavaScript pueden ser un gasto significativo de recursos y batería.
  • Seguridad : si carga todo su sitio a través de Angular, eso significa que está enviando las plantillas de página y los activos para todo, incluidas sus áreas seguras, como sus páginas de administrador. Si bien es posible que no tengan acceso a datos seguros a través de la API, podrían robar información y agujeros de seguridad en su aplicación revisando los datos del sitio que han descargado y leyendo la lógica de la página. Si deja que el servidor maneje la representación de la página, no debería tener acceso a esas páginas seguras en primer lugar.

Esa es principalmente la razón por la cual muchas personas abogan en contra de que todo el sitio sea una aplicación de una sola página. Sin embargo, todo depende de la situación. Si tiene una aplicación a la que los usuarios acceden principalmente a través de un navegador de PC, los usuarios esperan una carga de página muy rápida, su servidor tiene mucho tráfico y usted sabe cómo proteger adecuadamente sus páginas contra la intromisión, entonces podría ser mejor para usted construir su sitio como SPA. Evalúa tu situación y toma decisiones basadas en eso.

No hay claro bien o mal aquí. Confiar en el renderizado frontend presenta un conjunto de problemas que los sitios web tradicionales ya son una excelente solución.


Legibilidad de la máquina

La legibilidad automática de sus URL disminuye. El almacenamiento en caché inteligente y la representación previa pueden eludirlo, pero Angular-Apps no es tan fácil de leer para las máquinas. Los robots inteligentes también pueden analizar contenidos renderizados dinámicamente.

Accesibilidad

No se debe directamente a la representación de la interfaz, pero las aplicaciones enriquecidas a menudo no proporcionan: un nivel básico de accesibilidad (el lector de pantalla puede leer su sitio web, los controles del teclado, el flujo claro de información).

Actuación

Ejecutar Javascript incurre en un costo de rendimiento. Los dispositivos especialmente lentos necesitan más tiempo para analizar y ejecutar Javascript.


Sin embargo, los 3 problemas pueden resolverse y su decisión particular debe verse influenciada por condiciones preexistentes (es decir, su base de código) y la experiencia de sus equipos con accesibilidad y rendimiento.

Por ejemplo, las aplicaciones de representación isomorfas (o universales) en el servidor / cliente ayudan con el rendimiento y la legibilidad de la máquina. Tener pautas y usuarios con problemas para probar su aplicación de manera temprana ayuda con la accesibilidad, incluso para las aplicaciones de Internet más ricas.

Pero asegúrese de verificar sus objetivos comerciales: un sitio web con secuencias de comandos bien escritas ya puede proporcionar lo que su empresa / clientes necesitan a un costo mucho menor en tiempo y cordura.