Frameworks Vistas

Post on 24-Dec-2015

259 views 2 download

description

Frameworks Vistas

Transcript of Frameworks Vistas

FrameworksVistas

1

Agenda

MVC

Vistas

Templating

Helpers

Otros lenguajes

2

MVC

Es un patrón arquitectónico que siguen la mayoría de losFrameworks Web

Separa la aplicación en tres partes Modelo

Vistas

Controlador

3

MVC

4

Vistas

Las vistas representan la presentación de la interfaz adevolver al cliente

Usualmente constan de HTML con código del lenguaje embebido

Se presentan variables que representan al modelo puestas porel controlador

También pueden contener lógica de control

Condicionales

Ciclos

5

Vistas

Los frameworks permiten evaluar las variables a través deetiquetas o alguna sintaxis para mezclar código

También pueden producir otros formatos: XML, JSON, etc

6

Templating

7

Templates: Ejemplo ERB (Ruby)

8

Templates: Ejemplo ERB (Ruby)

9

Templates: Ejemplo Spring

10

Templates: Ejemplo Laravel

11

Sin escape

Templates: HAML

12

Layouts

La idea es reusar las vistas cuando hay código común Usualmente es común

Encabezado

Pie de páginas

Menús

Intentan implementar el patrón composite-view

Estrategias Layout con yield

Secciones

Subvistas

13

Layout: Ejemplo ERB

14

Secciones: Ejemplo ERB

15

Secciones: Ejemplo Laravel

16

Subvistas

Algunos frameworks permiten subvistas

17

Rendering vs Redirect

Rendering Procesa la vista

Las variables que se van a usar en la subvista deben estardisponibles

Redirect Envia una respuesta al navegador de redirect

Se ejecuta otra llamada HTTP

Es un MVC completo

18

Helpers

19

Helpers

Son facilidades para hacer las vistas en función decomponentes reutilizables

Responden al patrón view-helper

La idea es tener un conjunto de operaciones para hacer vistasde una manera más fácil

20

Helpers: Ejemplos de uso (RoR)

En rails tenemos helpers para Formularios

Enlace de Javascripts

Enlace de CSS

I18n y L10n

Enlaces

Ajax

Imágenes

Otros

21

Form Helpers: Ejemplo RoR

22

Form Helpers: Ejemplo RoR

23

Otros lenguajes

24

HAML

25

CoffeScript

26

Es compilado a Javascript

Es anidado

SASS

Es compilado a CSS

Es anidado

27

SCSS

28

Uso de vistas en otros contextos

Se pueden retornar otros formatos XML

JSON

Se pueden usar para correos

Se pueden colocar para dispositivos

29

Respond_to

30

• Permite responder según un contexto