Date post: | 17-Dec-2014 |
Category: |
Education |
Upload: | roberto-luis-bisbe |
View: | 1,697 times |
Download: | 0 times |
Agenda
- Qué es MVC (orientado a web)- Ruby on Rails• Introducción a Ruby• Scaffolding con Rails • Rails avanzado
- ASP.net MVC3• Un vistazo rápido a Razor• Introducción al manejo de vistas• Scaffolding con MVC3• ASP.net avanzado
¿Vale, pero qué vamos a hacer?
• Crear un sistema de gestión de eventos
Evento:• Título• Fecha• Descripción• Capacidad• Asistentes (Personas)
Persona:• Nombre• E-mail
1. Introducción
¿Qué es MVC?
• ¿Qué es MVC?
• Según Wikipedia: patrón de arquitectura de software
que separa los datos de una aplicación, la interfaz de
usuario, y la lógica de control en tres componentes
distintos: Modelo-Vista-Controlador
• Para todo tipo de sistemas…
• … y de tecnologías (Java, Ruby, Python, Perl, Flex,
SmallTalk, .Net…)
MModelo
• Representación de los datos del dominio• Lógica de negocio• Mecanismos de persistencia
VVista
• Interfaz de usuario• Elementos de interacción
CControlador
• Intermediario entre Modelo y Vista• Mapea acciones de usuario acciones del Modelo• Selecciona las vistas y les suministra información
Definiendo los roles
Ok
CControlador
MModelo
VVista
CrearEvento(evt)
Crear evento (datos) evt= new Evento()// cargar propiedades
ListarEventos()
Ejecutar vista(«Eventos», Evento[])
Evento[]
HTML
Ejemplo de uso
2. Ruby on Rails
Os presento a RubyEncantado!
• Interpretado
irb(main):001:0> puts «Hola Mundo»Hola Mundo=> nil
irb(main):001:0> a = 16=> 16irb(main):001:0> puts a16=> nil
• Orientado a Objetos
class anfitriondef initialize(nombre = "Mundo")
@nombre = nombreenddef decir_hola
puts "Hola #{@nombre}"end
end
• Dinámico
Una clase con detalles
class anfitriondef initialize(nombres = "Mundo")
@nombres = nombresenddef decir_hola
if @nombres.nil?puts "..."
elsif @nombres.respond_to?("each")@nombres.each do |nombre|
puts "Hola #{nombre}"else
puts "Hola #{@nombres}"end
endend
Cómo crear una web en 4 pasos
1.Inicializar el sitio2.Definir el modelo y generar las
vistas y el controlador3.Generar la base de datos4.Play!
Hemos creado una web en 4 pasos
1.rails new demo2.rails generate scaffold
- evento titulo:string fecha:date descripcion:text capacidad:integer
- persona evento_id:int nombre:string email:string
3.rake db:migrate4.rails server
Vamos a agregar más cosas
1. Relaciones• Relacionar evento con asistentes
2. Validación• Capacidad de las aulas• Presencia del nombre, del e-mail y que no
haya mails repetidos por evento
Resumen
1.Ruby mola!2.Hemos definido un sitio básico de
manera sencilla usando scaffolding3.Hemos agregado relaciones y
validación
3. ASP.net MVC3
• Open Source• Sobre ASP.net• Backend: Visual Basic o C#• Frontend: Razor
Acerca de ASP.net MVC
¿Razor?
Motor de visualización poco intrusivo<ul> @for (var i = 0; i < 5; i++) { <li>@i</li> }</ul>
@{ var name = “Gilberto Salazar”; <div> Nombre: @name </div>}
<html> <head> <title>Simple Layout</title> </head> <body> @RenderBody() </body></html>
@{ Layout = "/Shared/_Layout.cshtml";}
<p> Aquí ponemos el contenido</p>
Ejemplo básico
• Controlador• Definir datos
• Vista• Consumir datos
Sitio web sencillo usando scaffolding*
1.Inicializar el sitio2.Definir el modelo y las relaciones3.Generar las vistas y el controlador4.Generar la base de datos5.Play!
Vamos a agregar más cosas (II)
1. Relaciones• Relacionar evento con asistentes• Mostrar los asistentes de un evento
2. Validación• Validar la presencia del nombre y del e-mail
3. Helpers• Formato a las direcciones de e-mail• Facebook• Twitter
Resumen
• Creado dos modelos• Agregado relaciones• Agregado validación• Enlazado vistas• Agregada interacción a nuestra web mediante
helpers
Recursos
• Ruby-lang.org• Rubyonrails.org• Railsforzombies.org• Live.visitmix.com• Asp.net/mvc
• @rlbisbe• Robertoluis.wordpress.com
• ¿Preguntas?
GRACIAS A TODOS!
(que es viernes, y estar aquí tiene mérito!)