Esto fue más una discusión de lo que piensan los pueblos en estos días sobre cómo dividir una aplicación web.
Estoy acostumbrado a crear una aplicación MVC con todas sus vistas y controladores. Normalmente crearía una vista completa y la devolvería al navegador en una solicitud de página completa, a menos que hubiera áreas específicas que no quisiera rellenar de inmediato y luego utilizaría los eventos de carga de la página DOM para llamar al servidor y cargar otras áreas utilizando AJAX.
Además, cuando se trataba de una actualización parcial de la página, llamaría a un método de acción MVC que devolvería el fragmento HTML que luego podría usar para completar partes de la página. Esto sería para áreas en las que no quise ralentizar la carga de la página inicial, o áreas que se ajustaron mejor con las llamadas AJAX. Un ejemplo sería para la paginación de tablas. Si desea pasar a la página siguiente, preferiría que una llamada AJAX obtuviera esa información en lugar de usar una actualización completa de la página. Pero la llamada AJAX todavía devolvería un fragmento HTML.
Mi pregunta es. ¿Mi opinión es arcaica porque provengo de un fondo .net en lugar de un fondo de front-end puro?
Un desarrollador de front-end inteligente con el que trabajo, prefiere hacer más o menos nada en las vistas de MVC y prefiere hacer todo en el front-end. Hasta las llamadas a la API web que pueblan la página. Así que en lugar de llamar a un método de acción MVC, que devuelve HTML, preferiría devolver un objeto estándar y usar javascript para crear todos los elementos de la página.
La forma de desarrollador de front-end significa que cualquier beneficio que normalmente obtengo con la validación del modelo MVC, incluida la validación del lado del cliente, desaparecerá. También significa que cualquier beneficio que obtenga con la creación de las vistas, con plantillas html fuertemente escritas, etc. se habrá ido.
Creo que esto significaría que tendría que escribir la misma validación para la validación de front-end y back-end. El javascript también debería tener muchos métodos para crear todas las diferentes partes del DOM. Por ejemplo, al agregar una nueva fila a una tabla, normalmente usaría la vista parcial MVC para crear la fila y luego la devolvería como parte de la llamada AJAX, que luego se inyecta en la tabla. Al usar una forma de extremo frontal puro, el javascript tomaría un objeto (para, por ejemplo, un producto) para la fila desde la llamada de la API, y luego crearía una fila a partir de ese objeto. Creando cada parte individual de la fila de la tabla.
El sitio web en cuestión tendrá muchas áreas diferentes, desde administración, formularios, búsqueda de productos, etc. Un sitio web que, en mi opinión, no requiere arquitectura en una sola página de solicitud.
¿Qué piensan todos sobre esto?
Estoy interesado en escuchar de los desarrolladores front-end y back-end devs.