SlideShare una empresa de Scribd logo
1 de 29
Unidad 2: Diseños de Vista
2.2. Para Web
Autor(es):
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Plataformas de Desarrollo 2
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es
“No puedes derrotar a la persona que
nunca se rinde”
(Anónimo)
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Plataformas de Desarrollo 2
Resultado de Aprendizaje
• Desarrollar soluciones informáticas mediante metodologías,
herramientas y estándares que satisfagan los requerimientos
de las organizaciones sobre la base de los principios de la
sociedad de la información.
Contenidos
• Introducción
• Objetivos
• Desarrollo de Contenidos
• Conclusiones
• Bibliografía
2.2 Para Web
Objetivos
• Adquirir los conceptos básicos relacionados con el diseño de
vista
• Reconocer las características del diseño de vista
Agenda
1) Visión General de MVC.
2) Explorando una nueva aplicación
MVC.
3) EF Code First y Scaffolding.
4) Despliegue a Microsoft Azure.
Visión General de MVC
ASP .NET MVC 4 y las otras tecnologías Web del .Net
framework ayudan a crear y alojar aplicaciones Web
dinámicas, potentes y extensibles. ASP .NET MVC 4
soporta desarrollo ágil basado en pruebas y los últimos
estándares web como HTML5.
9
Con ASP.NET 4.5 podemos desarrollar sitios
web altamente funcionales, dinámicos y
escalables que utilicen el código del lado del
cliente y del lado del servidor
Características nuevas de ASP.NET MVC
• ASP.NET Web API
• Características móviles
• Modos de visualización
• Controladores asíncronos
• Soporte de los estándares Oauth y OpenID
• Agrupación y Reducción
Javascript
Es un lenguaje de programación interpretado , un lenguaje de
scripting (Un motor de scripts interpreta el código en tiempo de
ejecución) que tiene una sintaxis similar a C# y es soportado por
la mayoría de navegadores web.
http://browserdiet.com/es/ http://www.codecademy.com/es
https://www.codeschool.com/courses#all
AJAXDOM
JSON
El DOM define la manera en que objetos y elementos se
relacionan entre sí en el navegador y en el documento. A
través del DOM, los programas pueden acceder y modificar el
contenido, estructura y estilo de los documentos HTML y XML.
(Modelo de Objetos del
Documento)
(Asynchronous JavaScript And XML)
Permite a los navegadores comunicarse con servidores Web
de forma asíncrona utilizando el Objeto XMLHttpRequest. De
esta forma es posible realizar cambios sobre las páginas sin
necesidad de recargarlas, mejorando la interactividad,
velocidad y usabilidad en las aplicaciones.
(JavaScript Object
Notation)
Es un formato ligero para el intercambio de
datos. El beneficio de JSON es que
representa mejor la estructura de los datos y
requiere menos codificación y
procesamiento.
REST(Transferencia de Estado
Representacional)
Es un tipo de arquitectura de desarrollo web
que se apoya totalmente en el estándar
HTTP, nos permite crear servicios y
aplicaciones que pueden ser usadas por
cualquier dispositivo o cliente que entienda
HTTP.
HTML5
Es la última evolución del lenguaje de marcado HTML con nuevos
elementos, atributos y comportamientos. También dispone de un
conjunto más amplio de tecnologías que permite Sitios Web y
Aplicaciones más diversas y de gran alcance.
Repasando términos…
Modelos, Vistas y Controladores
Representan los datos y la lógica de negocio
asociada. Estas básicamente son Clases que
representan objetos utilizados en el Sitio Web
como por ejemplo un Usuario, un Producto,
una Ciudad, etc
Es un archivo (ASPX => .aspx o Razor => .cshtml o
.vbhtml)
El cual incluye etiquetas HTML y código del lado del
servidor. Un motor de Vista interpreta el archivo, ejecuta el
código del lado del servidor y genera el HTML que
finalmente recibe el navegador
Es una Clase que responde a las peticiones del
Navegador Web, los métodos públicos se consideran
Acciones y no existe sobrecarga de estos. Generalmente
existe un Controlador por cada Clase del Modelo y
por convención estos terminan en NombreClaseController
ASP.NET MVC
URL Routing
View
ASPX
Razor(clean, fast and fun to type)
Controller
Model
D
B
Convention over
ConfigurationEs una filosofía de diseño y una técnica que busca
aplicar valores predeterminados que se pueden
deducir de la estructura del código.
Web Browser Web Server
13
Razor
Es el motor de vistas predeterminado en ASP.NET MVC 4 e
identifica el código del lado del servidor con el carácter @.
Objetivos de diseño:
• Síntaxis compacta, expresiva y fluida => mínimiza el
número de carácteres necesarios para escribir un archivo
permitiendo un flujo de trabajo de códificación rápido y
fluido.
• Fácil de aprender => Ser productivos rápidamente con un
mínimo de conceptos (Conocimiento del lenguaje de
servidor y HTML).
• Trabajar en cualquier editor de texto => Notepad,
Notepad++, WebMatrix, Visual Studio, etc.
• Gran Intellisense => Completo soporte con Visual Studio al
no ser diseñado para una herramienta en especial.
• Soporta TDD => No tiene dependencias.
• Previene ataques XSS (Cross-Site Scripting Attacks) =>
Códifica las etiquetas script o html como <,> antes de
representar la vista.
• Menos transición al código HTML, el código es limpio.
Agrupación y Reducción
(Bundling and Minification)
Agrupación y reducción son dos técnicas que se pueden utilizar en ASP.NET 4.5 para
mejorar el tiempo de carga de las solicitudes HTTP. Estas básicamente permiten la
reducción del número de solicitudes al servidor, y reducen el tamaño de los archivos
solicitados (como CSS y JavaScript).
14
Realiza una variedad de diferentes
optimizaciones de código;
eliminación de espacios en blanco,
comentarios y acortar el nombre de
las variables.
Reducción
La mayoría de los navegadores actuales limitan el número de conexiones simultáneas por
cada nombre de host a seis, esto se puede mitigar mediante el uso de CDN. Además el
CDN también puede proporcionar el almacenamiento en caché, al igual que Bundle Config
mediante la generación de un token (si algún archivo del paquete cambia se generará un
nuevo token para garantizar que el navegador obtenga los últimos cambios).
Modos de Visualización (Display Modes)
Mediante esta característica podemos crear vistas personalizadas para móviles lo cual
permite máxima flexibilidad (puede ser optimizado para un dispositivo en particular) y
menos duplicación del esfuerzo en el desarrollo.
Básicamente podemos detectar los tipos de dispositivos que acceden a nuestro Sitio Web
y hacer uso eficiente del ancho de Banda (En el Diseño Adaptativo no siempre se cumple).
15
Entity Framework (Framework Object Relational 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.
Según nuestro flujo de trabajo, EF nos provee 3 enfoques distintos para crear el Modelo:
16
Mediante un diseñador visual (Entity Data Model) creamos nuestro modelo
conceptual y posteriormente Entity Framework se encargará de crear las Clases
y la Base de Datos.
Mediante la Base de Datos ya existente podemos obtener el Modelo el cual se
podrá visualizar en el diseñador visual (Entity Data Model). Este se puede editar
y actualizar en cualquier momento para obtener los cambios realizados en la
Base de Datos. Las Clases del Modelo se crean mediante unas plantillas de
generación de código T4.
Mediante el código definimos las Clases de dominio de nuestro Modelo
Conceptual, podemos proveer una asignación adicional y el código de
configuración para especificar el modelo, a partir de este Entity Framework
creará nuestra Base de datos. Cualquier cambio del Modelo se puede actualizar
en la Base de datos con la ayuda de las Migraciones.
Entity Framework Code First
Anotaciones de Datos (Visualización y Edición)
Mediante el uso de atributos podemos proporcionar a las propiedades de nuestras
Clases Modelo metadatos adicionales que permitan describirlas para ASP.NET MVC.
18
• Propiedad de navegación virtual? => Permitir la carga diferida.
• HashSet<T> en el constructor? => Clase genérica que implementa la Interfaz ICollection<T>.
Proporciona operaciones de conjuntos de alto rendimiento (No hay elementos duplicados).
Si los datos proporcionados por los usuarios no cumplen con los atributos de
validación definidos mediante las Anotaciones de Datos, la vista por lo tanto
mostrará un mensaje de error de manera estándar.
• ClientValidationEnabled => Habilitar validación en el lado del cliente
• UnobtrusiveJavascriptEnabled => La validación se realiza con jQuery y
atributos HTML5 en vez de utilizar Microsoft Javascript Library con JSON.
Validación de entrada de usuario
19
Clase del Modelo Vista
Demo
Veamos algunos ejemplos
Enlazadores de Modelo (Model Binders)
Un Enlazador de Modelo es un componente de una Aplicación ASP.NET
MVC que crea una instancia de una Clase Modelo basado en los datos
enviados en la petición desde el Navegador Web. Este básicamente
asegura que los datos correctos sean enviados a los parámetros
correctos de una Acción de un Controlador.
• ASP.NET MVC incluye un enlazador de modelo predeterminado:
System.Web.Mvc.DefaultModelBinder y podemos crear Enlazadores
personalizados.
21
UML para generar nuestro
Modelo
Lenguaje Unificado de Modelado es el lenguaje de modelado de sistemas de software
más conocido y utilizado en la actualidad. Los diagramas UML se utilizan para planificar y
documentar la arquitectura de la aplicación y sus componentes.
En Visual Studio para crear un diagrama UML => Nuevo Proyecto, Proyecto de Modelado
y agregamos un diagrama de clases.
22
Package => Espacio de
Nombres para las
Clases del Modelo.
Navigable =>
Propiedad que indica
que puede ser accedida
desde otra Clase
asociada.
Leaf => Propiedad que
indica si va a ser virtual
(True == No va a ser
sobrescrita en una
especialización).
Para Visual Studio Ultimate
Configuramos la ubicación en
donde las herramientas de
Modelado generaran las
Clases del Modelo Conceptual,
por ejemplo en código C#
23
Publicación de una Aplicación MVC
Básicamente
App_Start
Content
Controller
sMigration
s
Mode
l
Scripts
Views
Global.asa
x
Web.confi
g
Bin
Conten
t
Scripts
Views
Web.confi
g
El código de Servidor se
compila dentro de la .dll del
Proyecto
Web Deployment Tool
e IIS Management
Service
Web Deploy es una herramienta que simplifica el despliegue de Aplicaciones Web en Servidores Web
Microsoft IIS y Sitios Web en Microsoft Azure. Este empaqueta todo el contenido de la aplicación web
como la configuración, las bases de datos y cualquier otro artefacto que puedan ser utilizados para el
almacenamiento.
Microsoft Azure
Es una plataforma de Cómputo en la Nube alojada en los Centros de Datos de
Microsoft que permite compilar, implementar y administrar aplicaciones rápidamente.
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
operación).
Agilidad para las empresas de TI
• Las empresas pueden colocar en el mercado aplicaciones y datos en cuestión de
minutos.
• Los proveedores proporcionan a sus clientes métricas de uso de los recursos.
• El modelo de “pago por uso” y las métricas facilitan la utilización de cualquier
servicio de computo.
24
Nube
Es un término informático que se
refiere a una infraestructura de
cómputo donde se pueden
interconectar distintos dispositivos
utilizando distintos medios de
comunicación.
ASP.NET MVC y Microsoft
Azure nos dan mayor calidad
de vida
25
ASP.NET MVC
• No ViewState.
• No Postback.
• Separación de tareas o responsabilidades tanto del
Front-End como del Back-End(Model-View-
Controller).
• Completo control de la generación de código
HTML.
• Fácil de realizar pruebas unitarias.
26
Microsoft Azure
• Los desarrolladores se enfocan en la creación del código 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.
27
Descargas
https://www.facebook.com/aguaszoft/
https://www.youtube.com/user/Lfabsoft1/
Bibliografía

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Php notes
Php notesPhp notes
Php notes
 
Angular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsAngular - Chapter 3 - Components
Angular - Chapter 3 - Components
 
Android intents, notification and broadcast recievers
Android intents, notification and broadcast recieversAndroid intents, notification and broadcast recievers
Android intents, notification and broadcast recievers
 
Introduction To CodeIgniter
Introduction To CodeIgniterIntroduction To CodeIgniter
Introduction To CodeIgniter
 
SEGUNDA PARTE - Gestion de la calidad del software
SEGUNDA PARTE - Gestion de la calidad del softwareSEGUNDA PARTE - Gestion de la calidad del software
SEGUNDA PARTE - Gestion de la calidad del software
 
Bootstrap 5 basic
Bootstrap 5 basicBootstrap 5 basic
Bootstrap 5 basic
 
ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentation
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
 
Server side rendering review
Server side rendering reviewServer side rendering review
Server side rendering review
 
A project on taxi
A  project on taxi A  project on taxi
A project on taxi
 
Build web apps with react js
Build web apps with react jsBuild web apps with react js
Build web apps with react js
 
C# Types of classes
C# Types of classesC# Types of classes
C# Types of classes
 
Joomla and cms
Joomla and  cmsJoomla and  cms
Joomla and cms
 
Basics PHP
Basics PHPBasics PHP
Basics PHP
 
C# Delegates
C# DelegatesC# Delegates
C# Delegates
 
Metodologias web
Metodologias webMetodologias web
Metodologias web
 
Jdbc Ppt
Jdbc PptJdbc Ppt
Jdbc Ppt
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Cierre del proyecto - pmi
Cierre del proyecto - pmiCierre del proyecto - pmi
Cierre del proyecto - pmi
 
Web Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NETWeb Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NET
 

Similar a 5-Unidad 2: Diseños de Vista-2.2 Para Web

Asp.net conceptos
Asp.net conceptosAsp.net conceptos
Asp.net conceptosXstremsX
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corporacion de Industrias Tecnologicas S.A.
 
Framework de programacion de paginas web
Framework de programacion de paginas webFramework de programacion de paginas web
Framework de programacion de paginas webGeraldyn De Sousa
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1Gonzalo C.
 
API REST FOR THE BD2 DATABASE WITHIN THE IBM I SYSTEMS, USING THE PHP FRAMEWO...
API REST FOR THE BD2 DATABASE WITHIN THE IBM I SYSTEMS, USING THE PHP FRAMEWO...API REST FOR THE BD2 DATABASE WITHIN THE IBM I SYSTEMS, USING THE PHP FRAMEWO...
API REST FOR THE BD2 DATABASE WITHIN THE IBM I SYSTEMS, USING THE PHP FRAMEWO...Héctor Curbelo Barrios
 
2009_asp.net_capitulo_1
2009_asp.net_capitulo_12009_asp.net_capitulo_1
2009_asp.net_capitulo_1zhylz Zevallos
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptxSibilinoAndante
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptxmedina2966
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Oscar Gensollen
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos Luis Fernando Aguas Bucheli
 

Similar a 5-Unidad 2: Diseños de Vista-2.2 Para Web (20)

5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Asp.net conceptos
Asp.net conceptosAsp.net conceptos
Asp.net conceptos
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
 
Framework de programacion de paginas web
Framework de programacion de paginas webFramework de programacion de paginas web
Framework de programacion de paginas web
 
3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño
 
Introduccion aspnet
Introduccion aspnetIntroduccion aspnet
Introduccion aspnet
 
Introduccion aspnet
Introduccion aspnetIntroduccion aspnet
Introduccion aspnet
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1
 
API REST FOR THE BD2 DATABASE WITHIN THE IBM I SYSTEMS, USING THE PHP FRAMEWO...
API REST FOR THE BD2 DATABASE WITHIN THE IBM I SYSTEMS, USING THE PHP FRAMEWO...API REST FOR THE BD2 DATABASE WITHIN THE IBM I SYSTEMS, USING THE PHP FRAMEWO...
API REST FOR THE BD2 DATABASE WITHIN THE IBM I SYSTEMS, USING THE PHP FRAMEWO...
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
2009_asp.net_capitulo_1
2009_asp.net_capitulo_12009_asp.net_capitulo_1
2009_asp.net_capitulo_1
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
Asp
AspAsp
Asp
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
 
Web services
Web services Web services
Web services
 
Trabajo gru
Trabajo gruTrabajo gru
Trabajo gru
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...SuannNeyraChongShing
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTGestorManpower
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
TALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaTALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaSantiagoSanchez353883
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 

Último (20)

clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SST
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
TALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaTALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación pública
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 

5-Unidad 2: Diseños de Vista-2.2 Para Web

  • 1. Unidad 2: Diseños de Vista 2.2. Para Web Autor(es): Ciencias de la Ingeniería Carrera de Sistemas de Información Plataformas de Desarrollo 2 Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Aguaszoft@Outlook.es
  • 2. “No puedes derrotar a la persona que nunca se rinde” (Anónimo) Ciencias de la Ingeniería Carrera de Sistemas de Información Plataformas de Desarrollo 2
  • 3. Resultado de Aprendizaje • Desarrollar soluciones informáticas mediante metodologías, herramientas y estándares que satisfagan los requerimientos de las organizaciones sobre la base de los principios de la sociedad de la información.
  • 4. Contenidos • Introducción • Objetivos • Desarrollo de Contenidos • Conclusiones • Bibliografía
  • 6. Objetivos • Adquirir los conceptos básicos relacionados con el diseño de vista • Reconocer las características del diseño de vista
  • 7. Agenda 1) Visión General de MVC. 2) Explorando una nueva aplicación MVC. 3) EF Code First y Scaffolding. 4) Despliegue a Microsoft Azure.
  • 9. ASP .NET MVC 4 y las otras tecnologías Web del .Net framework ayudan a crear y alojar aplicaciones Web dinámicas, potentes y extensibles. ASP .NET MVC 4 soporta desarrollo ágil basado en pruebas y los últimos estándares web como HTML5. 9 Con ASP.NET 4.5 podemos desarrollar sitios web altamente funcionales, dinámicos y escalables que utilicen el código del lado del cliente y del lado del servidor Características nuevas de ASP.NET MVC • ASP.NET Web API • Características móviles • Modos de visualización • Controladores asíncronos • Soporte de los estándares Oauth y OpenID • Agrupación y Reducción
  • 10. Javascript Es un lenguaje de programación interpretado , un lenguaje de scripting (Un motor de scripts interpreta el código en tiempo de ejecución) que tiene una sintaxis similar a C# y es soportado por la mayoría de navegadores web. http://browserdiet.com/es/ http://www.codecademy.com/es https://www.codeschool.com/courses#all AJAXDOM JSON El DOM define la manera en que objetos y elementos se relacionan entre sí en el navegador y en el documento. A través del DOM, los programas pueden acceder y modificar el contenido, estructura y estilo de los documentos HTML y XML. (Modelo de Objetos del Documento) (Asynchronous JavaScript And XML) Permite a los navegadores comunicarse con servidores Web de forma asíncrona utilizando el Objeto XMLHttpRequest. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y usabilidad en las aplicaciones. (JavaScript Object Notation) Es un formato ligero para el intercambio de datos. El beneficio de JSON es que representa mejor la estructura de los datos y requiere menos codificación y procesamiento. REST(Transferencia de Estado Representacional) Es un tipo de arquitectura de desarrollo web que se apoya totalmente en el estándar HTTP, nos permite crear servicios y aplicaciones que pueden ser usadas por cualquier dispositivo o cliente que entienda HTTP. HTML5 Es la última evolución del lenguaje de marcado HTML con nuevos elementos, atributos y comportamientos. También dispone de un conjunto más amplio de tecnologías que permite Sitios Web y Aplicaciones más diversas y de gran alcance. Repasando términos…
  • 11. Modelos, Vistas y Controladores Representan los datos y la lógica de negocio asociada. Estas básicamente son Clases que representan objetos utilizados en el Sitio Web como por ejemplo un Usuario, un Producto, una Ciudad, etc Es un archivo (ASPX => .aspx o Razor => .cshtml o .vbhtml) El cual incluye etiquetas HTML y código del lado del servidor. Un motor de Vista interpreta el archivo, ejecuta el código del lado del servidor y genera el HTML que finalmente recibe el navegador Es una Clase que responde a las peticiones del Navegador Web, los métodos públicos se consideran Acciones y no existe sobrecarga de estos. Generalmente existe un Controlador por cada Clase del Modelo y por convención estos terminan en NombreClaseController
  • 12. ASP.NET MVC URL Routing View ASPX Razor(clean, fast and fun to type) Controller Model D B Convention over ConfigurationEs una filosofía de diseño y una técnica que busca aplicar valores predeterminados que se pueden deducir de la estructura del código. Web Browser Web Server
  • 13. 13 Razor Es el motor de vistas predeterminado en ASP.NET MVC 4 e identifica el código del lado del servidor con el carácter @. Objetivos de diseño: • Síntaxis compacta, expresiva y fluida => mínimiza el número de carácteres necesarios para escribir un archivo permitiendo un flujo de trabajo de códificación rápido y fluido. • Fácil de aprender => Ser productivos rápidamente con un mínimo de conceptos (Conocimiento del lenguaje de servidor y HTML). • Trabajar en cualquier editor de texto => Notepad, Notepad++, WebMatrix, Visual Studio, etc. • Gran Intellisense => Completo soporte con Visual Studio al no ser diseñado para una herramienta en especial. • Soporta TDD => No tiene dependencias. • Previene ataques XSS (Cross-Site Scripting Attacks) => Códifica las etiquetas script o html como <,> antes de representar la vista. • Menos transición al código HTML, el código es limpio.
  • 14. Agrupación y Reducción (Bundling and Minification) Agrupación y reducción son dos técnicas que se pueden utilizar en ASP.NET 4.5 para mejorar el tiempo de carga de las solicitudes HTTP. Estas básicamente permiten la reducción del número de solicitudes al servidor, y reducen el tamaño de los archivos solicitados (como CSS y JavaScript). 14 Realiza una variedad de diferentes optimizaciones de código; eliminación de espacios en blanco, comentarios y acortar el nombre de las variables. Reducción La mayoría de los navegadores actuales limitan el número de conexiones simultáneas por cada nombre de host a seis, esto se puede mitigar mediante el uso de CDN. Además el CDN también puede proporcionar el almacenamiento en caché, al igual que Bundle Config mediante la generación de un token (si algún archivo del paquete cambia se generará un nuevo token para garantizar que el navegador obtenga los últimos cambios).
  • 15. Modos de Visualización (Display Modes) Mediante esta característica podemos crear vistas personalizadas para móviles lo cual permite máxima flexibilidad (puede ser optimizado para un dispositivo en particular) y menos duplicación del esfuerzo en el desarrollo. Básicamente podemos detectar los tipos de dispositivos que acceden a nuestro Sitio Web y hacer uso eficiente del ancho de Banda (En el Diseño Adaptativo no siempre se cumple). 15
  • 16. Entity Framework (Framework Object Relational 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. Según nuestro flujo de trabajo, EF nos provee 3 enfoques distintos para crear el Modelo: 16 Mediante un diseñador visual (Entity Data Model) creamos nuestro modelo conceptual y posteriormente Entity Framework se encargará de crear las Clases y la Base de Datos. Mediante la Base de Datos ya existente podemos obtener el Modelo el cual se podrá visualizar en el diseñador visual (Entity Data Model). Este se puede editar y actualizar en cualquier momento para obtener los cambios realizados en la Base de Datos. Las Clases del Modelo se crean mediante unas plantillas de generación de código T4. Mediante el código definimos las Clases de dominio de nuestro Modelo Conceptual, podemos proveer una asignación adicional y el código de configuración para especificar el modelo, a partir de este Entity Framework creará nuestra Base de datos. Cualquier cambio del Modelo se puede actualizar en la Base de datos con la ayuda de las Migraciones.
  • 18. Anotaciones de Datos (Visualización y Edición) Mediante el uso de atributos podemos proporcionar a las propiedades de nuestras Clases Modelo metadatos adicionales que permitan describirlas para ASP.NET MVC. 18 • Propiedad de navegación virtual? => Permitir la carga diferida. • HashSet<T> en el constructor? => Clase genérica que implementa la Interfaz ICollection<T>. Proporciona operaciones de conjuntos de alto rendimiento (No hay elementos duplicados).
  • 19. Si los datos proporcionados por los usuarios no cumplen con los atributos de validación definidos mediante las Anotaciones de Datos, la vista por lo tanto mostrará un mensaje de error de manera estándar. • ClientValidationEnabled => Habilitar validación en el lado del cliente • UnobtrusiveJavascriptEnabled => La validación se realiza con jQuery y atributos HTML5 en vez de utilizar Microsoft Javascript Library con JSON. Validación de entrada de usuario 19 Clase del Modelo Vista
  • 21. Enlazadores de Modelo (Model Binders) Un Enlazador de Modelo es un componente de una Aplicación ASP.NET MVC que crea una instancia de una Clase Modelo basado en los datos enviados en la petición desde el Navegador Web. Este básicamente asegura que los datos correctos sean enviados a los parámetros correctos de una Acción de un Controlador. • ASP.NET MVC incluye un enlazador de modelo predeterminado: System.Web.Mvc.DefaultModelBinder y podemos crear Enlazadores personalizados. 21
  • 22. UML para generar nuestro Modelo Lenguaje Unificado de Modelado es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad. Los diagramas UML se utilizan para planificar y documentar la arquitectura de la aplicación y sus componentes. En Visual Studio para crear un diagrama UML => Nuevo Proyecto, Proyecto de Modelado y agregamos un diagrama de clases. 22 Package => Espacio de Nombres para las Clases del Modelo. Navigable => Propiedad que indica que puede ser accedida desde otra Clase asociada. Leaf => Propiedad que indica si va a ser virtual (True == No va a ser sobrescrita en una especialización). Para Visual Studio Ultimate Configuramos la ubicación en donde las herramientas de Modelado generaran las Clases del Modelo Conceptual, por ejemplo en código C#
  • 23. 23 Publicación de una Aplicación MVC Básicamente App_Start Content Controller sMigration s Mode l Scripts Views Global.asa x Web.confi g Bin Conten t Scripts Views Web.confi g El código de Servidor se compila dentro de la .dll del Proyecto Web Deployment Tool e IIS Management Service Web Deploy es una herramienta que simplifica el despliegue de Aplicaciones Web en Servidores Web Microsoft IIS y Sitios Web en Microsoft Azure. Este empaqueta todo el contenido de la aplicación web como la configuración, las bases de datos y cualquier otro artefacto que puedan ser utilizados para el almacenamiento.
  • 24. Microsoft Azure Es una plataforma de Cómputo en la Nube alojada en los Centros de Datos de Microsoft que permite compilar, implementar y administrar aplicaciones rápidamente. 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 operación). Agilidad para las empresas de TI • Las empresas pueden colocar en el mercado aplicaciones y datos en cuestión de minutos. • Los proveedores proporcionan a sus clientes métricas de uso de los recursos. • El modelo de “pago por uso” y las métricas facilitan la utilización de cualquier servicio de computo. 24 Nube Es un término informático que se refiere a una infraestructura de cómputo donde se pueden interconectar distintos dispositivos utilizando distintos medios de comunicación.
  • 25. ASP.NET MVC y Microsoft Azure nos dan mayor calidad de vida 25
  • 26. ASP.NET MVC • No ViewState. • No Postback. • Separación de tareas o responsabilidades tanto del Front-End como del Back-End(Model-View- Controller). • Completo control de la generación de código HTML. • Fácil de realizar pruebas unitarias. 26
  • 27. Microsoft Azure • Los desarrolladores se enfocan en la creación del código 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. 27

Notas del editor

  1. Students will learn more about Entity Framework and data access in Module 2. Students will learn more about the ASP.NET Routing Engine in Module 7.