Tutorial de ASP.NET MVC para principiantes: ¿Qué es? Architectura
¿Qué es ASP.NET MVC?
ASP.NET MVC es un marco de desarrollo web de código abierto de Microsoft que proporciona una arquitectura de modelo vista controlador. ASP.net MVC ofrece una alternativa a los formularios web de ASP.net para crear aplicaciones web. Es parte de la plataforma .Net para crear, implementar y ejecutar aplicaciones web. Puede desarrollar aplicaciones web y sitios web con la ayuda de HTML, CSS, jQuery, Javascript, etc.
Aprenda MVC con este tutorial de ASP.NET MVC que cubre todos los conceptos básicos de MVC para principiantes:
¿Por qué ASP.net MVC?
Aunque los formularios web tuvieron mucho éxito, Microsoft Pensé en desarrollar ASP.net MVC. El principal problema con ASP.net webForms es el rendimiento.
En un aplicación web, hay cuatro aspectos principales que definen el rendimiento: -
- Problemas de tiempo de respuesta
- Problema de las pruebas unitarias
- Personalización HTML
- Reutilizabilidad de la clase de código subyacente
ASP.net MVC sobresale en los parámetros anteriores.
Historial de versiones de MVC
ASP.NETMVC1
- Publicado el 13 de marzo de 2009
- Se ejecuta en .NET 3.5
- Visual Studio 2008
- Arquitectura de patrones MVC con WebForm Engine
- Las características principales incluyen HTML y Examen de la unidad, Ayudantes de Ajax, Enrutamiento, etc.
ASP.NETMVC2
- Esta versión se publicó el 10 de marzo de 2010.
- Se ejecuta en .NET 3.5,4.0 y con Microsoft Visual Studio 2008
- Incluya funciones como ayudantes con plantillas, ayudantes de Ul con andamiaje automático y plantillas personalizables
- Admite que los atributos de anotaciones de datos apliquen la validación del modelo en el lado del cliente y del servidor.
ASP.NETMVC3
- Fue lanzado el 13 de enero de 2011.
- Se ejecuta en .NET 4.0 y con Microsoft Visual Studio 2010
- uso de norteuGet para entregar software y le permite administrar dependencias en toda la plataforma
- Superior JavaCompatibilidad con scripts, validación jQuery y enlace JSON
- Ofrece características como el motor de visualización Razor; Atributos de anotaciones de datos mejorados para la validación del modelo tanto en el lado del cliente como en el del servidor.
ASP.NETMVC4
- Esta versión fue lanzada en agosto de 2012.
- Funciona en .NET 4.0, 4.5 y con Visual Studio 2010 y Visual Studio 2012
- Mejoras a las plantillas de proyecto predeterminadas
- Ofrece características como plantilla de proyecto móvil usando jQuery Mobile, soporte de tareas para controladores asincrónicos, agrupación, minimización, etc.
ASP.NETMVC5
- Publicado el 17 de octubre de 2013
- Se ejecuta en .NET 4.5, 4.5.1 y con Visual Studio 2012 y Visual OneASP.NET
- Admite enrutamiento de atributos en MVC
Características de MVC
- Comprobabilidad sencilla y sin fricciones
- Control total sobre su HTML, JavaScript y URL
- Aprovechar lo existente ASP.Net Caracteristicas
- Una nueva opción de presentación para ASP.Net
- Una forma más sencilla de programar Asp.Net
- Clara separación de lógica: modelo, vista, controlador
- Desarrollo basado en pruebas
- Apoyo al desarrollo paralelo
Cosas para recordar al crear una aplicación MVC
Aquí hay algunas cosas útiles en este tutorial de ASP.NET MVC que debe recordar para crear una aplicación MVC:
- Debe recordar que ASP .net MVC NO reemplaza las aplicaciones basadas en formularios web ASP.Net.
- El enfoque del desarrollo de aplicaciones MVC debe decidirse en función de los requisitos de la aplicación y las características proporcionadas por ASP .net MVC para satisfacer las necesidades de desarrollo específicas.
- El proceso de desarrollo de aplicaciones con ASP .NET MVC es más complejo en comparación con las aplicaciones basadas en formularios web.
- La mantenibilidad de la aplicación siempre será mayor con la separación de las tareas de la aplicación.
MVC es un patrón de arquitectura de software que sigue el método de separación de intereses. En este modelo, las aplicaciones .Net se dividen en tres partes interconectadas que se denominan Modelo, Vista y Controlador.
El objetivo del patrón MVC es que cada una de estas partes pueda desarrollarse, probarse de forma relativamente aislada y también combinarse para crear una aplicación muy sólida.
Veamos todos ellos en detalle:
Modelos
Los objetos modelo son partes de la aplicación que implementan la lógica para la aplicación. dominio de datos. Recupera y almacena el estado del modelo en una base de datos. Por ejemplo, el objeto de producto podría recuperar información de un base de datos, opere en él. Luego escriba la información en la tabla de productos en el servidor SQL.
Vistas
Las vistas son los componentes que se utilizan para mostrar la interfaz de usuario (UI) de la aplicación, también llamada modelo de vista en MVC. Muestra la aplicación .Net MVC que se crea a partir de los datos del modelo.
El ejemplo más común sería una vista de edición de una tabla de artículos. Muestra cuadros de texto, ventanas emergentes y casillas de verificación según el estado actual de los productos y objetos.
Control
Los controladores manejan la interacción del usuario, trabajan con el modelo y seleccionan una vista para representar esa visualización Ul. En una aplicación .Net MVC, la vista solo muestra información, el controlador administra y responde a la entrada e interacción del usuario utilizando filtros de acción en MVC.
Por ejemplo, el controlador gestiona los valores de las cadenas de consulta y los pasa al modelo.
Formularios web frente a MVC
parámetros | WebFroms | MVC |
---|---|---|
Modelo | Asp.Net Web Forms sigue un modelo de desarrollo basado en eventos. | Asp.Net MVC utiliza un modelo de desarrollo basado en patrones MVC. |
Usado desde | Existe desde 2002 | Fue lanzado por primera vez en 2009. |
Soporte para Ver estado | Asp.Net Web Form admite la vista del estado para la gestión del estado en el lado del cliente. | .Net MVC no admite el estado de visualización. |
Tipo de URL | Asp.Net Web Form tiene URL basadas en archivos. Significa que el nombre del archivo existe en las URL y debe existir físicamente. | Asp.Net MVC tiene URL basadas en rutas, es decir, URL que se redirigen a controladores y acciones. |
Sintaxis | Asp.Net MVC sigue la sintaxis de formularios web. | Asp.Net MVC sigue la sintaxis personalizable. |
Tipo de vista | En el formulario web, las vistas están estrechamente acopladas al código subyacente (ASPX-CS), es decir, la lógica. | MVC, vistas y lógica siempre se mantienen por separado. |
Aspecto y sensación consistentes | Tiene páginas maestras para una apariencia consistente. | Asp.Net MVC tiene diseños para una apariencia consistente. |
Reutilización de código | Web Form ofrece controles de usuario para la reutilización del código. | Asp.Net MVC ha ofrecido vistas parciales para la reutilización del código. |
Controlar para HTML | Less control sobre HTML renderizado. | Control total sobre HTML |
Administración del Estado | Gestión automática del estado de los controles. | Gestión manual del estado. |
soporte TDD | Se requiere TDD débil o personalizado. | ¡Fomenta e incluye TDD! |
Ventajas de ASP.NET MVC
- Aplicaciones altamente mantenibles por defecto
- Le permite reemplazar cualquier componente de la aplicación.
- Mejor soporte para el desarrollo basado en pruebas
- Las aplicaciones complejas son fáciles de administrar debido a las divisiones de Modelo, Vista y Controladores.
- Ofreciendo un mecanismo de enrutamiento robusto con patrón de controlador frontal
- Ofrece un mejor control sobre el comportamiento de las aplicaciones con la eliminación del estado de vista y los formularios basados en el servidor.
- Las aplicaciones .Net MVC cuentan con el respaldo de grandes equipos de desarrolladores y diseñadores web.
- Ofrece más control sobre los comportamientos de la aplicación. También utiliza un ancho de banda optimizado para las solicitudes realizadas al servidor.
Desventajas de ASP.NET MVC
- No puede ver la vista previa de la página de diseño como la página .aspx.
- Debe ejecutar el programa cada vez para ver su diseño real.
- Comprender el flujo de la aplicación puede ser un desafío
- Es bastante complicado de implementar, por lo que no es una opción ideal para aplicaciones de pequeño nivel.
- Es difícil aprender MVC para ASP.NET, ya que requiere una gran comprensión del patrón MVC.
Mejores prácticas al utilizar ASP.Net MVC
- Cree un ensamblaje separado para MODELO en caso de código grande y complejo para evitar cualquier situación no deseada.
- El modelo debe incluir lógica de negocios, mantenimiento de sesiones, parte de validación y parte de lógica de datos.
- VIEW no debe contener ninguna lógica de negocios ni mantenimiento de sesión; use ViewData para acceder a los datos en View
- La lógica empresarial y el acceso a los datos nunca deberían ocurrir en ControllerViewData
- El controlador solo debe ser responsable de preparar y devolver una vista, llamar al modelo, redirigir a la acción, etc.
- Elimine el código de demostración de la aplicación cuando la cree. Eliminar AccountController
- Utilice sólo un motor de visualización específico para crear marcado HTML desde su vista, ya que es la combinación de HTML y el código de programación.
Resum
- ASP.NET MVC es un marco de desarrollo web de código abierto de Microsoft eso proporciona un Arquitectura del modelo vista controlador.
- ASP.net MVC ofrece una alternativa a los formularios web ASP.net para crear aplicaciones web.
- El principal problema con ASP.net webForms es el rendimiento.
- ASP.net MVC ofrece una capacidad de prueba sencilla y sin fricciones con control total sobre su HTML y URL.
- Debe recordar que ASP .net MVC NO reemplaza las aplicaciones basadas en formularios web ASP.Net.
- El enfoque del desarrollo de aplicaciones MVC o el ciclo de vida de ASP.NET MVC debe decidirse en función de los requisitos de la aplicación y las características proporcionadas por ASP .net MVC para satisfacer las necesidades de desarrollo específicas.
- ASP.NET MVC ofrece aplicaciones altamente mantenibles de forma predeterminada.
- Con ASP.net no puedes ver la vista previa de la página de diseño como la página .aspx.
- Como práctica recomendada, el modelo debe incluir lógica empresarial, mantenimiento de sesiones, parte de validación y parte de lógica de datos.