¿Conoces algún buen consejo para que un diseñador / desarrollador front-end relativamente no técnico se familiarice mejor con MVC?

Le sugiero que se concentre en comprender el patrón:

M odel V iew C ontroller

El concepto es realmente simple:

  • El controlador es la lógica que decide qué hacer con su solicitud.
  • La vista es cómo interactúa con el consumidor. En el caso de las aplicaciones web, la vista está basada en HTML y aquí es donde se encuentra en la pila de cosas (como desarrollador front-end).
  • Puede pensar en el modelo como un “recipiente” que transporta datos de un lado a otro entre el controlador y la vista.

La otra cosa importante a entender es el “enrutamiento”. Las solicitudes realizadas en una aplicación MVC se enrutan. Lo que esto significa es que se analiza la URL y luego se determina la “acción” de destino. Aquí hay un ejemplo simple de mi sitio web:

madestro.com/Home/WebDesign

Esto se enrutará a un controlador llamado ” Home Controller” que contiene una acción llamada ” WebDesign “.

En C #, uno podría equiparar esta operación a HomeControllerInstance.WebDesign ();

En segundo plano, la llamada a este método devolvería un “Resultado de acción”, que puede ser una serie de cosas, como una “Vista” o JSON. En el caso de mi sitio web, es una Vista que codifiqué que contiene el HTML que da como resultado lo que ves cuando visitas la dirección. Podría pasar una lista de características de diseño web junto con sus descripciones en un modelo y luego recorrer esa colección en la vista y producir el HTML deseado también.

Por otro lado, el formulario Contáctenos nos recopila información en los campos HTML que la implementación MVC asigna a los campos en el modelo utilizado por el controlador (esto se conoce como enlace de modelo). El controlador luego recibe este modelo y hace lo que tiene que hacer (como enviarme un correo electrónico). Como puede imaginar ahora, el HomeController tendrá un método ContactUs () que aceptará una solicitud de publicación (ya que es un formulario) y devolverá un resultado de acción después de realizar el procesamiento, que en este caso será un “gracias” ver.

Por lo tanto, un desarrollador de back-end trabajaría en el lado C ontroller / M odel mientras que un desarrollador front-end se enfocaría en el lado V iew / M odel. Observe cómo el modelo es el “pegamento” que los une.

Ugh, sí: no lo hagas.

Supongo que estás hablando de .Net, no del concepto MVC en general. Mira, los desarrolladores pueden saltar aquí y llamarme todo lo que quieran. Lo que sé por años de observación es que IDEs como .Net en general, y MVC en particular, no solo han incumplido la promesa de hacer que el desarrollo sea más rápido y flexible, sino que lo han hecho más lento y menos flexible.

.Net es un coloso pesado y difícil de manejar con o sin MVC.

Más concretamente, los desarrolladores que usan .Net con MVC siempre me dicen que no podemos controlar nuestro propio código front-end porque gran parte se genera para ellos. ¿Es posible que MVC no tenga la culpa, que en realidad puede generar exactamente el código de front-end que desea con él, pero los desarrolladores son flojos? Es posible, pero si ese es el caso, ¿por qué es difícil y requiere más tiempo generar un código frontal limpio en lugar del dreck que Microsoft quiere imponernos? Es un caso de la cola que mueve al perro.

Asi que. tl; dr: Los amigos no dejan que los amigos se mezclen con MVC.