Professional Documents
Culture Documents
aplicaciones Web
utilizando las ltimas
tecnologas ASP.NET
Juan David Nicholls Cardona
Aerolnea de Antioquia
Email: jdnichollsc@Hotmail.com
Twitter: jdnichollsc
Agenda
1)Visin General de MVC.
2)Explorando una nueva
aplicacin MVC.
3)EF Code First y Scaffolding.
4)Despliegue a Microsoft Azure.
OpenID
Agrupacin y Reduccin
Repasando trminos
HTML5
Es la ltima evolucin del lenguaje de marcado HTML con
nuevos elementos, atributos y comportamientos. Tambin
dispone de un conjunto ms amplio de tecnologas que permite
Sitios Web y Aplicaciones ms diversas y de gran alcance.
DOM
http://browserdiet.com/es/
Javascr
ipt
AJAX
JSON
(JavaScript Object
Notation)
http://www.codecademy.com/es
5
https://www.codeschool.com/courses#all
Modelos, Vistas y
Controladores
Model
View
Controller
ASP.NET
Web
Web
MVC
Browser
Server
ASPX
View
e
s
n
o
Resp
Requ
est
URL
Routing
ngin
E
w
Vie
Model
Controll
er
Entity
Framewor
k
D
B
Razor
Es el motor de vistas predeterminado en ASP.NET
MVC 4 e identifica el cdigo del lado del servidor
con el carcter @.
Objetivos de diseo:
mnimiza el nmero
de carcteres necesarios para escribir un archivo permitiendo un flujo de trabajo de
cdificacin rpido y fluido.
Ser productivos rpidamente con un mnimo de
conceptos (Conocimiento del lenguaje de servidor y HTML).
Notepad, Notepad+
Demo
Creando una nueva aplicacin ASP.NET MVC
Agrupacin y Reduccin
(Bundling and
Minification)
Agrupacin y reduccin son dos tcnicas que se pueden utilizar en ASP.NET 4.5 para mejorar el tiempo de carga de
las solicitudes HTTP. Estas bsicamente permiten la reduccin del nmero de solicitudes al servidor, y reducen el
tamao de los archivos solicitados (como CSS y JavaScript).
Reduccin
Realiza una variedad de
diferentes optimizaciones de
cdigo; eliminacin de espacios
en blanco, comentarios y acortar
el nombre de las variables.
La mayora de los navegadoresactualeslimitan el nmero de conexiones simultneas por cada nombre de host a
seis, estose puede mitigar mediante el uso de CDN. Adems el CDN tambin puede proporcionar el
almacenamiento en cach, al igual que Bundle Config mediante la generacin de un token (si algn archivo del
paquete cambia se generar un nuevo token para garantizar que el navegador obtenga los ltimos cambios).
10
Modos de Visualizacin
(Display Modes)
Mediante esta caracterstica podemos crear vistas personalizadas para mviles lo cual permite
mxima flexibilidad (puede ser optimizado para un dispositivo en particular) y menos duplicacin del
esfuerzo en el desarrollo.
Bsicamente podemos detectar los tipos de dispositivos que acceden a nuestro Sitio Web y hacer
uso eficiente del ancho de Banda (En el Diseo Adaptativo no siempre se cumple).
11
Entity Framework
Mapping)
Un Framework ORM mapea las Tablas y las Vistas de la Base de Datos con Clases que en el caso
de ASP.NET MVC generalmente se definen en el Modelo.
Segn nuestro flujo de trabajo, EF nos provee 3 enfoques distintos para crear el Modelo:
Model First
DataBase
First
Code First
12
Anotaciones de Datos
(Visualizacin y Edicin)
Validacin de entrada de
usuario
Si los datos proporcionados por los usuarios no cumplen con los atributos de validacin definidos mediante
las Anotaciones de Datos, la vista por lo tanto mostrar un mensaje de error de manera estndar.
Vista
UnobtrusiveJavascriptEnabled => La validacin se realiza con jQuery y atributos HTML5 en vez de utilizar Microsoft Javascript Library con JSON.
15
Demo
Veamos algunos ejemplos
Enlazadores de Modelo
(Model Binders)
Un Enlazador de Modelo es un componente de una Aplicacin ASP.NET MVC que crea una instancia de
una Clase Modelo basado en los datos enviados en la peticin desde el Navegador Web. Este
bsicamente asegura que los datos correctos sean enviados a los parmetros correctos de una Accin de
un Controlador.
Cmo obtiene los parmetros?
Valores de Formulario
(Request.Form)
2.
Valores de ruta
3.
Cadenas de la consulta
(Request.QueryString)
4.
Archivos
ASP.NET MVC incluye un enlazador de modelo predeterminado: System.Web.Mvc.DefaultModelBinder y podemos crear Enlazadores personalizados.
El invocador de accin predeterminado System.Web.Mvc.ControllerActionInvoker puede ser reemplazado por un invocador de accin personalizado.
17
Lenguaje Unificado de Modeladoes el lenguaje de modelado de sistemas de software ms conocido y utilizado en la actualidad. Los
diagramas UML se utilizan para planificar y documentar la arquitectura de la aplicacin y sus componentes.
En Visual Studio para crear un diagrama UML => Nuevo Proyecto, Proyecto de Modelado y agregamos un diagrama de clases.
18
Bsicamente
App_Start
Bin
Content
Conten
t
Script
s
Views
Controlle
rs
Migration
s
Model
Scripts
Web.confi
g
Views
Global.as
ax
Web.confi
19
Microsoft Azure
Es una plataforma de Cmputo en la Nube alojada en los Centros de Datos de Microsoft que permite
compilar, implementar y administrar aplicaciones rpidamente.
En esta Plataforma como Servicio (Paas) las aplicaciones y los datos son replicados 3 veces y se paga
por lo que se consume (Se escala bajo demanda, es decir gastos de operacin).
Nube
Es un trmino informtico que se refiere a
una infraestructura de cmputo donde se
pueden
interconectar
distintos
dispositivos utilizando distintos medios de
comunicacin.
20
Despliegue a Microsoft
Azure
Demo
Depliegue a Sitios Web Microsoft Azure
Conclusin
24
ASP.NET MVC
No ViewState.
No Postback.
Separacin de tareas o responsabilidades
tanto del Front-End como del Back-End(ModelView-Controller).
Completo control de la generacin de cdigo
HTML.
25
Fcil de realizar pruebas unitarias.
Microsoft Azure
Los desarrolladores se enfocan en la creacin del cdigo para
resolver las necesidades de la empresa.
Los Sitios Web se encuentran en los Servidores de Microsoft con la
mejor conectividad y confiabilidad.
Microsoft Garantiza el 99% de disponibilidad.
https://www.windowsazure.com/es-es/support/legal/sla/
No es necesario instalar y mantener Servidores propios tanto de
Aplicaciones como de Bases de datos.
Los Sitios Web y las Bases de Datos se pueden escalar con mucha
facilidad.
Se paga por lo que se consume.
26
2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or
other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to
changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the
date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.