Asumiré por el bien de la pregunta que el front-end es realmente un MVC, aunque actualmente los paradigmas de front-end más populares son MV * (como en algo).
Esto se debe a que estos dos MVC no cumplen el mismo rol, y el hecho de que ambos extremos están usando el mismo paradigma se debe simplemente a la efectividad del mismo.
El modelo:
- ¿Cuál es la mejor empresa de diseño web en Hyderabad?
- Cómo vincular mi Ecwid a mi sitio web Weebly
- ¿Cuáles son algunos proyectos "bootstrap" o "kickstart" de aplicaciones web Java?
- En el enlace de datos de JavaScript, ¿por qué usar el atributo de datos en lugar de no solo extender los objetos DOM?
- ¿Cuál es el mejor alojamiento web para bloguear y cargar imágenes publicitarias más rápido?
- Del lado del servidor: conexión a la base de datos para recuperar / almacenar información: obtenga una lista de nombres de estudiantes.
- Lado del cliente: estructuración de datos AJAX: obtenga una representación JSON de los nombres de los estudiantes, almacénelos para una fácil manipulación en un objeto con métodos convenientes como eliminar (que, por ejemplo, desencadena una solicitud DELETE al servidor).
El controlador:
- Del lado del servidor: el coordinador entre datos y vistas: el cliente solicitó una página que necesita la lista de nombres de estudiantes; obténgalo del modelo e insértelo en una vista determinada, luego envíelo.
- Lado del cliente: lo mismo aquí. En algunos casos, también se encarga del enrutamiento, es decir, cambiar la URL sin actualizar la página (simplemente solicite otro JSON para llenar la página).
La vista:
- Del lado del servidor: muy probablemente una página html de plantilla, que el controlador toma como una cadena grande e inserta datos donde sea necesario: recorra los nombres de los estudiantes y genere una línea de ‘
- studentName [i]
- Lado del cliente: manipula la interfaz de usuario, agrega interactividad: haz que los estudiantes cuyo apellido comience con ‘A’ parpadeen en rojo y, cuando se cierne, muestren más información.
‘ cada vez . Al final, obtienes una cadena html válida.
La gran razón por la que hay dos MVC es porque el front-end no puede comunicarse directamente con una base de datos del servidor, y el back-end no puede actualizar dinámicamente la IU y responder a la interactividad. Los dos MVC hacen diferentes trabajos.
Dicho esto, hace un tiempo, y si realmente estira la definición de ‘aplicación web‘, servir páginas simples y estáticas sin JavaScript era viable. En ese caso, no hay necesidad de un paradigma del lado del cliente. Al hacer clic en una página, se activa una solicitud al servidor, que utiliza MVC para enviarle otra página, enjuagar y repetir. Algunos podrían recordar esos juegos de hacer clic, actualizar y hacer clic en PHP en ese entonces.
Pero las aplicaciones web modernas necesitan interactividad; no puede crear una buena experiencia actualizando la pantalla cada vez que realiza una acción. ¿Te imaginas que Facebook se actualiza cada vez que le envías un mensaje a tu amigo?
Notas al margen:
1. Meteor intenta cambiar esto, al menos en apariencia, “fusionando” el lado del cliente y el lado del servidor a través de Node.js (JavaScript en el servidor). Esto puede aliviar algo de dolor.
2. Teóricamente, si existe un sistema de vista del lado del cliente tan poderoso que solo puede tomar los datos y alimentarlos a una interfaz de usuario sin preocuparse demasiado por organizar los datos y coordinarlos con los controladores, entonces también podría eliminar una gran parte de La necesidad de un MVC front-end.