¿Angular solo es bueno para los SPA? ¿Hay mejores alternativas para los no SPA como Vue y React o se puede usar Angular?

Sí, puede usar Angular para no SPA. Puede usar Angular en cualquier lugar donde use Vue o React. Esa es la forma de pensarlo. Vue y React son bibliotecas para desarrollar componentes de vista y, por lo tanto, vistas. Angular es un marco que INCLUYE una biblioteca para desarrollar componentes de vista, así como para manejar las otras partes, comunicándose con el back-end (haciendo llamadas AJAX) y el enrutamiento de componentes (intercambiando vistas), especialmente. Sin embargo, no hay nada que diga que no puede simplemente construir componentes de vista con Angular e implementar algún otro enrutador para intercambiar los componentes o la biblioteca para hacer llamadas AJAX (aunque realmente no debería / no necesita hacer esto último como Angular La biblioteca Httpclient es bastante robusta y pequeña). Esto significa que puede construir un MPA con Angular e ignorar totalmente el enrutador del lado del cliente.

Sin embargo, también estoy de acuerdo con el segundo párrafo de James. Si está creando un MPA, ¿por qué usar una biblioteca de vista frontal? Simplemente hágalo con JavaScript y tal vez jQuery o incluso jq-Lite para la manipulación DOM si desea simplificar eso, y use un marco CSS para facilitar el diseño de la página y la alternancia de elementos del lado del cliente si lo desea. En general, es más rápido, tiene menos gastos generales que cualquier biblioteca de vistas que usaría y es fácil de aprender.

Puedes usar Angular para una aplicación que no sea de spa, pero obtienes muy pocas ventajas de usar Angular, pero mantienes todas las desventajas. Reaccionar es una opción razonable para esto porque es más liviano y “solo para ver”. Como no está creando un SPA, no tendrá que incluir todos los componentes de estado y enrutamiento.

Pero, realmente, para un no-spa, miraría solo usar un buen marco css como bootstrap o material-ui o algo similar. No es necesario cargar un marco frontend completo cada vez que el usuario navega por su aplicación.

Si está buscando un marco para los SPA, le recomiendo crear una aplicación de reacción. Es súper útil y configura casi todo lo que necesitará, ya sea un sitio dinámico o estático.