domingo, 26 de junio de 2016

Asp.Net Web Api vs MVC

ASP.NET MVC  es la plataforma de Microsoft para responder a peticiones de navegadores que devuelven un resultado en texto formateado a HTML, Web Api es la tecnología que Microsoft desarrollo para poder ofrecer web services a peticiones hechas desde dispositivos moviles sitios web y otros y funciona de forma similar a MVC.
Similitudes entre ambas tecnologías

Aspecto ASP.NET MVC WEB API
Routing: Se utiliza para mapear las acciones a las diferentes paginas web Utiliza la misma tecnología para acceder a los diferentes recursos
Modelos: Los modelos existen para representar una entrada de un blog un post o un comentario Las peticiones http son mapeados a los diferentes modelos manteniendo la coneccion
Filtros: Permiten manejar diferentes acciones de acuerdo al tipo de petición que se esta haciendo  De la  misma manera permite establecer filtros que manejaran las peticiones de acuerdo al tipo
Scaffolding: Permite usar la estructura de los modelos para devolver la pagina html con los mismo atributos y acciones predeterminadas Asi mismo el Web Api permite tener una respuesta basada en el modelo al que pertenece
Pruebas Unitarias:    
programacion Http   Permite abordar la programacion optmizado para dar responder a peticiones HTTP
Seleccion de respuesta http En MVC la respuesta a toda peticion HTTP sera siempre una pagina html con extencion cshtml En Web API la respuesta puede ser seleccionada por el cliente, se puede solicitar una respuesta en formato JSON o en formato XML
     


Como puede observarse en el anterior comparativo las características de una y otra tecnología dependerán de nuestras necesidades, Web API esta orientado a trabajar como web services y MVC esta orientado a hacerlo como Web Forms, quizá la principal diferencia radique en el tipo de respuesta que devuelven a las peticiones MVC devuelve HTML formateado y listo para ser desplegado en un navegador, y Web APi devuelve XML y Json para ser leído por otro programa que se encargara de desplegar los datos en un dispositivo móvil en una tablet en un programa corriendo en la interfaz metro o en una aplicaicon windows form