Informe 5 MVC
Informe 5 MVC
Informe 5 MVC
1 Introducción´ 2
2 Objetivos 3
2.1 Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4 MVC 6
4.1 Modelo ................................................ 7
4.1.1 Entity Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.2 Controladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2.1 Mapeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2.2 ViewBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3 Vistas ................................................. 9
4.3.1 Razor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3.2 Características de Razor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3.3 Bucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3.4 Bucle While . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3.5 Bucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3.6 Bucle ForEach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5 Terceros 12
5.1 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2 JQuery ................................................. 13
5.2.1 Caractericias mas importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6 Conclusiones 15
Bibliografía 15
ÍNDICE DE FIGURAS
Objetivo general
Objetivos específicos
Los objetivos específicos que contribuirán a desarrollar el objetivo general del trabajo
son los siguientes:
Se trata de una revisión del curso sobre ASP.NET Core MVC, que tan buena acogida
y críticas ha tenido hasta el momento, actualizando conceptos y reflejando las
novedades en APIs, funcionalidades y herramientas con las que esta segunda versión
del framework promete revolucionar nuestra forma de desarrollar aplicaciones y
servicios para la web.
objetivos de diseño de la plataforma
Instalación de marco y tolos
Crear aplicaciones desde plantillas
Configuración de inicio
Conceptos básicos del middleware
Ayuda de inyección de dependencia
ASP.NET core MVC
Web API y páginas Razor
Fundamentos
ASP.NET:
Core es un marco multiplataforma de código abierto y de alto rendimiento que tiene
como finalidad compilar modernas aplicaciones conectadas a Internet y basadas en la
nube. Con ASP.NET Core puede hacer lo siguiente:
Compilar servicios y aplicaciones web, aplicaciones de IoT y back-ends móviles.
Usar sus herramientas de desarrollo favoritas en Windows, macOS y Linux.
Efectuar implementaciones locales y en la nube.
Ejecutarlo en .NET Core o en .NET Framework.
.NET:
es un framework de Microsoft que hace un énfasis en la transparencia de redes, con
independencia de plataforma de hardware y que permita un rápido desarrollo de
aplicaciones.
.NET Framework?
Traducido como marco de trabajo
Es la plataforma de desarrollo de código administrado de Microsoft
Está formado por una serie de herramientas y librerías en la que se puede crear todo
tipo de aplicaciones desde las tradicionales aplicaciones de escritorio Windows
presentation faundeichon o Windows Ford, hasta aplicaciones para x box pasando por
desarrollo web, desarrollo para dispositivos móviles o aplicaciones de servidor.
Está compuesto por un conjunto de tecnologías que forman parte importante de la
plataforma .NET
Constituye una infra estructura de programación para contribuir y ejecutar aplicaciones
y servicios para la plataforma .NET
Soporta la programación orientada a objetos
Minimiza conflictos de versiones de DLLs ( DLL Hell)
Basado en estándares.
NET Framework consta de dos componentes principales:
Common Language Runtime y la biblioteca de clases de .NET Framework. Common Language
Runtime es el fundamento de .NET Framework.
Ventajas
ASP.NET Core tiene una serie de cambios arquitectónicos´ que resultan en un marco
mucho más´ ligera y modular.
ASP.NET Core ya no se basa en System.Web.dll. Se basa en un conjunto de paquetes
granular y NuGet bien por coeficientes.
Esto lo permite optimizar su aplicación´ para incluir solo´ los paquetes NuGet que
necesita.
Los beneficios de una superficie más´ pequeña˜ aplicación´ incluyen mayor seguridad,
reducción´ de mantenimiento, mejora del rendimiento y disminución´ de los costos
MVC
El modelo MVC (dev) propuesto por ASP NET Core para el desarrollo de aplicaciones
web, tiene por objeto separar una aplicación´ en tres componentes principales: el
modelo, la vista y el controlador. El marco de ASP.NET MVC proporciona una
alternativa al modelo de formularios Web Forms de ASP.NET para crear aplicaciones
web. El marco de ASP.NET MVC es un marco de presentación´ de poca complejidad y
fácil´ de comprobar que (como las aplicaciones basadas en formularios Web Forms) se
integra con las características de ASP.NET existentes, tales como paginas´ maestras y
la autenticación´ basada en pertenencia.
Visual Studio, que es el IDE desarrollado por el mismo Microsoft, tiene todo un
esqueleto funcional del MVC que se importa desde System.Web. Mvc. El Model MVC
usado por el IDE lo trae desde el MVC del código principal.
Core del framework, y trae consigo unas facilidades para el desarrollo de las
aplicaciones con su funcionalidad de” mapeo”.
Modelo
Los objetos de modelo son las partes de la aplicación´ que implementan la lógica´ del
dominio de datos de la aplicación´. A menudo, los objetos de modelo recuperan y
almacenan el estado del modelo en una base de datos. Por ejemplo, un objeto
Producto podría recuperar información´ de una base de datos, trabajar con ella y, a
continuación, ´ escribir la información´ actualizada en una tabla Productos de una base
de datos de SQL Server.
using System;
namespace M v c A p p l i c a t i o n 1 . Models
f
public class Client
f
p u b l i c Guid I d f g e t ; set; g
public string FirstName fget; set; g
p u b l i c s t r i n g SurName f g e t ; s e t ; g
g
g
Hay que recalcar que la clase siempre debe ser publica para poder ser accedida desde
los otros lugares del proyecto y es recomendable que estas se definan en un
namespace Models, puesto que este es el estándar que se maneja y es una buena
práctica´ para entenderse entre desarrolladores.
Entity Framework
Los controladores son los componentes que controlan la interacción´ del usuario,
trabajan con el modelo y por ultimo seleccionan una vista para representar la interfaz de
usuario. En una aplicación MVC, la vista solo muestra información; el controlador
administra y responde a los datos proporcionados por el usuario y su interacción, Por
ejemplo, el controlador administra los valores de la cadena de consulta y pasa estos
valores al modelo, que a su vez podría usarlos para consultar la base de datos.
Mapeo
routes.MapSpaFallbackRoute(
name : ” s p a f a l l b a c k ” ,
defaults: new f c o n t r o l l e r = ”Home” , action = ”Index”
g);
g);
Por otro lado, el controlador que es el encargado de tener las funciones que se
mencionaron anteriormente, normal-mente contienen la lógica que debe procesarse
antes de mostrar la vista y retornan un valor de tipo IActionResult y retorna la función
View() y renderiza una vista o archivo cshtml del cual se habla en la siguiente sección´.
namespace W e b A p p l i c a t i o n B a s i c . C o n t r o l
lersf
publicclassHomeController:Contr
ollerf
p u b l i cI A c t i o n R e s u l t Index()
f
r e t u r n View ( ) ;
g
p u b l i cI A c t i o n R e s u l t Error()
f
r e t u r n View ( ) ;
g
g
g
ViewBag
El atributo ViewBag es una forma de pasarle información a los archivos cshtml puesto
que le podemos pasar cualquier tipo de dato y este puede ser mostrado en el cshtml de
cualquier forma con la sintaxis de Razor que se explicara en la siguiente sección, es
importante recalcar hay otras formas, pero esta es la más práctica y eficiente puesto
que las ViewBag soportan cualquier tipo de dato y pueden usarse incluso en bucles
para renderizar datos de una base de datos, por ejemplo.
p u b l i cI A c t i o n R e s u l t Index()
f
ViewBag . a r g u m e n t o = ” Algo de I n f o r m a c i o
n ” ; r e t u r n View ( ) ;
Vistas
Las vistas son los componentes que muestra la interfaz de usuario de la aplicación´.
Normalmente, esta interfaz de usuario se crea a partir de los datos de modelo. Un
ejemplo sería una vista de edición de una tabla Productos que muestra cuadros de
texto, listas desplegables y casillas basándose´ en el estado actual de un objeto
Producto.
Razor
Razor es una sintaxis de marcado que le permite incrustar código basado en servidor
(Visual Basic y C) en las páginas web.
Servidor-basado código puede crear contenido web dinámico sobre la marcha, mientras
que una página web se escribe en el navegador. Cuando se llama a una página web, el
servidor ejecuta el código basado en servidor dentro de la página antes de que
devuelve la página al navegador. Ejecutando en el servidor, el código puede realizar
tareas complejas, como acceso a bases de datos.
Razor se basa en ASP.NET y diseñado para crear aplicaciones web. Tiene el poder de
la tradicional marca de ASP.NET, pero es más fácil de usar y más fácil aprender.
Características de Razor
Como se puede observar en la figura, Razor es solo una parte del proyecto, y como va
en la punta de la pirámide, es una de las características que, aunque es muy poderosa
también, solo tiene como objetivo permitir la interacción del usuario final con todas las
características de la aplicación.
Como es común y necesario los lenguajes de programación tienes bucles para recorrer
arrays y/o hacer algo en específico mientras se cumple una condición. Dentro de Razor
encontramos bucles como:
Bucle While
@f
v a r countNum = 0 ;
w h i l e ( countNum < 5 0 )
f
countNum += 1 ;
<p>L i n e #@countNum : </p>
g
g
Bucle for
Recorre el array hasta que i sea menor que 21 segun el ejemplo a continuación´.
Siempre lleva un índice para indicar en que parte del arreglo se encuentra.
Bucle ForEach
Su uso es precisamente para recorrer todo un array sin índice, lo que lo hace mucho
más eficiente a la hora de ejecución´ porque no lleva un índice .
@ f o r e a c h ( v a r myItem in Request.ServerVariables)
f
< l i >@myItem</ l i >
g
</ul>
Bootstrap
Bootstrap (boo) es un framework desarrollado y liberado por Twitter que tiene como
objetivo facilitar el diseño web. Permite crear de forma sencilla webs de diseño
adaptable, es decir, que se ajusten a cualquier dispositivo y tamaño˜ de pantalla y
siempre se vean igual de bien. Es Open Source o código abierto, por lo que lo podemos
usar de forma gratuita y sin restricciones.
Ventajas
Sea lo que sea que creemos, el diseño será adaptable, no importa el dispositivo,
la escala o resolución
El grid system: maquetar por columnas nunca fue tan fácil, Además, son muy
configurables.
Se integra muy bien con las principales librerías Javascript.
El haber sido creado por Twitter nos da ciertas garantías: esta´ muy pensado y hay
mucho trabajo ya hecho.
Por lo tanto, hay una comunidad muy activa creando, arreglando cosas, ofreciendo
plugins y mucho más.
Nos permite usar Less, para enriquecer aun´ mas´ los estilos de la web.
JQuery
Para el desarrollo de esta sección vale la pena cita a (?) que nos dice que es una
biblioteca multiplataforma de
JavaScript, creada inicialmente por John Resig, que permite simplificar la manera de
interactuar con los documentos
ASP.NET Core ahora es open source, lo cual permite utilizar su código fuente y
hacer aportes, modificarlo o integrarlo con otras herramientas open source.
La integración de librerías de terceros como Bootstrap y JQuery, hacen de un
proyecto ASP.NET Core algo realmente maravilloso para trabajar usando con
proyectos escalables muy amigable para desarrolladores y proveerle interfaces
muy cómodas al usuario final.
El patrón MVC propuesto para trabajar con proyectos ASP.NET Core, es muy
fácil de entender y manejar. Además, está muy bien pensado para trabajar
rápidamente en proyectos pequeños y muy robusto para hacer proyectos
evolutivos y escalables.
El hecho de que ahora sea de código abierto, no ha dejado de ser maravilloso,
puesto que igual podemos seguir trabajando con framwors como
entityFrameworkCore para interactuar con las bases de datos de forma
transversal.
Trabajar con EntityFramework, hace que la migración, creación y variación de
base de datos sea muy fácil, y ASP.NET core trae consigo todas estas
funcionalidades, para que el desarrollo sea eficiente y eficaz.
Visual Studio, usa todo el poder de .NET Core y a la hora de crear proyectos,
nos ayuda con tareas tan sencillas a la hora de desarrollar como importar las
librerías que necesitemos o cosas muy complejas como crear todo el login para
nuestra página web con solo dos clics.
Visual Studio no es la única opción para desarrollar nuestras aplicaciones en
ASP.NET Core, pues también podemos utilizar herramientas como visual studio
code o IDE de Jetbrain Rider (Acr) que están también disponibles para Linux y
IOS.
Razor es una herramienta que trae por defecto ASP.NET Core que facilita
demasiado el trabajo de renderiza-cion de grandes volúmenes de información´
traídos desde una base de datos por ejemplo, y esto gracias a que permite
integrar código C mezclado con HTML.
BIBLIOGRAFIA
[Acr] A cross-platform .net ide based on the intellij platform and resharper.
https://www.jetbrains.com/ rider/. (Accessed on 05/23/2017). 15