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
Referencias
http://spring.io/
http://rubyonrails.org
http://laravel.com
http://haml.info
http://lesscss.org
http://sass-lang.com
http://www.oracle.com/technetwork/java/viewhelper-139885.html
http://www.oracle.com/technetwork/java/compositeview-137722.html
http://brewhouse.io/blog/2013/12/17/whats-new-in-rails-4-1.html?brewPubStart=1
31
Top Related