Hola, antes de comenzar con terminos muy avanzados necesitamos un poco de historia.
¿Que es ASP?
Microsoft introdujo esta tecnología llamada Active Server Pages en diciembre de 1996, por lo que no es nada nueva. Es parte del Internet Information Server (IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente, traduciendo la definición de Microsoft: “Las Active Server Pages son un ambiente de aplicación abierto y gratuito en el que se puede combinar código HTML, scripts y componentes ActiveX del servidor para crear soluciones dinámicas y poderosas para el web”.
¿Qué es .NET?
Microsoft .NET es una plataforma de desarrollo y ejecución de aplicaciones. Esto quiere decir que no sólo nos brinda todas las herramientas y servicios que se necesitan para desarrollar modernas aplicaciones empresariales y de misión crítica, sino que también nos provee de mecanismos robustos, seguros y eficientes para asegurar que la ejecución de las mismas sea óptima. Los componentes principales de la plataforma .NET son:
• Un entorno de ejecución de aplicaciones, también llamado “Runtime”, que es un componente de software cuya función es la de ejecutar las aplicaciones .NET e interactuar con el sistema operativo ofreciendo sus servicios y recursos.
• Un conjunto de bibliotecas de funcionalidades y controles reutilizables, con una enorme cantidad de componentes ya programados listos para ser consumidos por otras aplicaciones.
• Un conjunto de lenguajes de programación de alto nivel, junto con sus compiladores y linkers, que permitirán el desarrollo de aplicaciones sobre la plataforma .NET.
• Un conjunto de utilitarios y herramientas de desarrollo para simplificar las tareas más comunes del proceso de desarrollo de aplicaciones
• Documentación y guías de arquitectura, que describen las mejores prácticas de diseño, organización, desarrollo, prueba e instalación de aplicaciones .NET
¿Qué es MVC?
MVC (Model-View-Controller o Modelo-Vista-Controlador) es un patrón de diseño que separa los datos, la lógica de negocios y las interfaces de usuario. Como su nombre lo dice, está separado en tres componentes: modelo , controlador y vista. Está basado en la ideología de separación de conceptos y cumple perfectamente con los objetivos de los patrones de diseño.
Modelo
Es la capa encargada de los datos, es decir, tiene mecanismos para acceder a la información y también para actualizar su estado. Comúnmente se encarga de comunicarse con la base de datos mediante funciones que accederán a las tablas y realizarán las funciones habituales de datos.
Vista
Se trata del código que nos permitirá presentar los datos que el modelo nos proporciona, como ejemplo podríamos decir que en una aplicación web es el código HTML que nos permite mostrar la salida de los datos procesados.
Controlador
Es la capa que sirve de enlace entre la vista y el modelo. Envía comandos al modelo para actualizar su estado , y a la vista correspondiente para cambiar su presentación, pero no es el encargado de manipular los datos ni de generar una salida.
Entonces, ¿Qué es ASP.NET MVC?
ASP.NET MVC es un marco poderoso y efectivo para construir aplicaciones web escalables y mantenibles. En resumen ASP.NET MVC es el conjunto de varias tecnológicas y componentes que nos permite desarrollar aplicaciones web, enfocadas principalmente a procesos con un grado de complejidad elevado.
Debemos tomar en cuenta que ASP.NET MVC esta enfocado a trabajar solamente del lado del servidor.