AngularJS está más asociado con el paradigma de la aplicación de una sola página y, como tal, no se beneficia mucho de las tecnologías del lado del servidor que representan el marcado. No hay ninguna razón técnica que le impida usarlos juntos, pero en un sentido práctico, ¿por qué lo haría?
Un SPA recupera los activos que necesita (vistas JS, CSS y HTML) y se ejecuta por sí solo, comunicándose con los servicios para enviar o recuperar datos. Por lo tanto, una tecnología del lado del servidor sigue siendo necesaria para proporcionar esos servicios (así como otros medios como la autenticación y similares), pero las partes de representación son en gran medida irrelevantes y no particularmente útiles porque es una duplicación de esfuerzos, excepto que MVC lo hace. en el lado del servidor y Angular lo hace en el cliente. Si está utilizando Angular, lo desea en el cliente para obtener mejores resultados. Puede crear formularios HTML de publicación de Angular y recuperar vistas parciales de las acciones de MVC, pero se estaría perdiendo las mejores y más fáciles funciones de Angular y le haría la vida más difícil.
MVC es bastante flexible y puede usarlo para atender llamadas desde una aplicación SPA. Sin embargo, WebAPI está más finamente ajustado y es un poco más fácil de usar para tales servicios.
He escrito una serie de aplicaciones AngularJS, incluidas algunas que migraron desde aplicaciones WebForms y MVC preexistentes, y el aspecto ASP.NET evoluciona hacia una plataforma para entregar la aplicación AngularJS como el cliente real y para alojar la capa de la aplicación. el cliente se comunica a través de REST (usando WebAPI). MVC es un buen marco, pero generalmente se encuentra sin trabajo en este tipo de aplicaciones.
La aplicación ASP.NET se convierte en una capa más de la infraestructura, donde sus responsabilidades se limitan a:
- Aloje el contenedor de dependencia.
- Conecte las implementaciones de lógica empresarial al contenedor.
- Configure paquetes de activos para JS y CSS.
- Alojar servicios WebAPI.
- Refuerce la seguridad, realice registros y diagnósticos.
- Interfaz con cachés de aplicaciones para mejorar el rendimiento.
Otra gran ventaja de un SPA es que puede aumentar el ancho de banda de su equipo. Un grupo puede explotar los servicios mientras que el otro se encuentra en la aplicación cliente. Dado que puede copiar o simular servicios REST fácilmente, puede tener una aplicación de cliente completamente funcional en servicios simulados y cambiar por los reales cuando terminen.
Tienes que invertir por adelantado en Angular, pero vale la pena. Como ya está familiarizado con MVC, tiene una ventaja sobre algunos de los conceptos básicos.