model view controller - from - cliente-MVC vs servidor-MVC
mvc submit button action (5)
Estoy buscando obtener información de otros usuarios sobre los beneficios de MVC del lado del servidor. Con el poder de muchas librerías javascript. ¿Qué buen propósito tiene el servidor MVC del lado del servidor?
Puede usar fácilmente MVC del lado del cliente con plantillas y una API REST para hacer una aplicación mucho más receptiva con menos sobrecarga de recargar una página completa para cambios menores.
A mi modo de ver, el MVC del lado del servidor sigue siendo relevante si considera la V como el MVC del lado del cliente envuelto en una caja negra. La cosa es que esto es todo acerca de la colaboración y la escalabilidad. El MVC del lado del servidor continúa alimentando las API REST (por ejemplo) con la idea de que técnicamente está externalizando la tecnología de visualización a un marco separado que se ejecuta en su navegador.
Dado que el navegador se ve cada vez más como una plataforma de desarrollo de aplicaciones, puede exportar enormes cantidades de datos desde su "plataforma backend" al cliente (navegador) y luego tratar los datos como una "base de datos" local en su navegador, lo que permite un rápido tiempo de respuesta.
La combinación de estos 2 marcos MVC permite:
- Tráfico disperso entre el servidor y el cliente, disminuyendo así la latencia
- Aumentar la capacidad de respuesta de sus aplicaciones web al localizar el acceso a un conjunto de datos más relevante
- Distribuyendo la carga desde un único controlador del lado del servidor a cientos de navegadores
La arquitectura en funcionamiento aquí es muy similar a las CDN: ¡redes de distribución de contenido! Realmente se trata de localizar datos y acercarlos a los centros de procesamiento.
Dicho esto, puede continuar haciendo uso exclusivo de uno sobre otro, si comprende las necesidades arquitectónicas de su producto. Herramienta adecuada para el trabajo correcto.
Beneficios del servidor MVC:
- Maduro.
- Ampliamente adoptado.
- La mayoría del código está dentro del servidor, por lo que debería ser más seguro.
Pero definitivamente, la tendencia es volver a la computación cliente / servidor, pero en lugar de clientes pesados escritos en C u otro idioma, ahora tiene una plataforma muy agradable: el navegador.
Tengo una política simple sobre cuándo uso el lado del servidor MVC y el lado del cliente MVC:
- Usuarios ocasionales con pocas interacciones: Servidor + Ajax.
- Aplicación de LOB (Contabilidad, ERP, CRM, etc.): Cliente.
Por cierto, uso Java Server Faces para # 1 y ExtJS respaldados por los servicios de JAX-RS para # 2.
Saludos.
Bueno, todavía va a necesitar una página inicial, que podría ser servida por un motor MVC del lado del servidor.
Aparte de eso, client-MVC + REST podría funcionar, pero creo que en las aplicaciones grandes todavía tiene secciones diferentes y necesita unir estas secciones. Esto sería posible hacerlo del lado del cliente, pero creo que es más fácil hacerlo del lado del servidor.
Por el momento puedo ver a ambos coexistiendo alegremente. Aún podría hacer todo lo posible en el lado del cliente y mediante REST, pero si algo no es posible del lado del cliente, todavía se beneficia de las ventajas del lado del servidor de MVC
Creo que MVC es un gran patrón para aplicaciones web simples. Sin embargo, en realidad no ayuda a la hora de crear aplicaciones web modernas y ricas como Facebook o Gmail. Echa un vistazo a esta publicación por más razones por las que no debes usar MVC:
http://dennis-nerush.blogspot.co.il/2016/04/should-we-use-mvc-for-modern-web.html
La comparación de solo MVC de un punto extremo con el otro no es muy constructiva. MVC es la estructura de cómo organizar su código. Es una familia de patrones de diseño que le ayuda a desacoplar su código y hacerlo más fácil de mantener. Queremos eso siempre.
Todos estarán de acuerdo en que, tanto si construye en el servidor como en el cliente, debe tener una buena arquitectura con una separación de preocupaciones. No hay concurso allí.
La pregunta real y más importante es: ¿Lado del cliente frente al servidor? ¿Dónde desea generar sus vistas HTML, en el servidor o en el cliente? Esta es una pregunta diferente que está más preocupada por la velocidad de la página y la capacidad de respuesta de la IU. Además, se ha respondido varias veces en múltiples lugares. Búsqueda ex: https://.com/search?q=client+rendering+vs+server+rendering