3. SignalR
Conexiones en tiempo Real
Los usuarios requieren información actualizada..
AHORA!
Notificaciones en Tiempo Real
Aplicaciones Colaborativas
Twitter – live searches/updates
Nuevo Correo
Juegos Interactivos
Chats
4. SignalR
HTTP es un Viejo amigo…
No fue ideado para comunicaciones en tiempo real
La Web se basa en request-response
La Web no mantiene estados
Tenemos 3 opciones para el tiempo real(entre otras)
Polling periodicos
Long Polling
HTML5 WebSockets, HTML5 al rescate!
5. SignalR
Polling Periódico
CLIENTE CHAT
#1 SERVER
GET/Mensajes
(vacío)
Intervalo
del polling
GET/Mensajes
(vacío)
GET/Mensajes
“Hola que tal!”
GET/Mensajes
(vacío)
6. SignalR
Long Polling
CLIENTE CHAT
#1 SERVER
GET/Mensajes
“Hola que tal!”
GET/Mensajes
“como te va?”
8. Puede comunicar Puede comunicar 1..N
1..N clientes clientes
Es un IHttpHandler Abstraccion sobre
Requiere un ruta a conexiones persistentes
ser definida Mapeo automático de
Limitado al envío ruta (/signalr/hubs)
de mensajes Puede enviar mensajes y
Nosotros llamar métodos
defenimos el SignalR define el
protocolo protocolo
9. WebSockets
Server Sent
Events
Forever
Frames
Long
Pollings
10.
11.
12. Bundling combina los request CSS y
Javascript
Minificacion comprime los archivo
antes de enviarlos.
13. Web Tools 2012
Instalación Online/Offline
Disponible para versiones Express
Novedades:
Editor
Color de sintaxis para CoffeScript, Mustache, HandleBars y Jrender
Soporte para intellinsense y validación para LESS
Intellinsense para binding de Knoukout.js
CSS Auto Sync – Live updates en Page Inspector
Pegar JSON como clase
22. El Patrón MVVM
Conceptos Importantes
Bindings Declarativos – Inicialmente para
xaml
2 way UI binding, Cambios en el ModeloVista producen
cambios en la Vista
Cambios en la Vista producen cambios en el ModeloVista
ModeloVista solo para la vista ¿? Ej: Clase
Persona..
Vas a utilizar todos los miembros de la clase para una vista
específica?
Evita llenarse de Objetos Genéricos
Implementa patron ObservableCollection
23. • Biblioteca 100% Javascript Open Source
• 40k Minimizado(*)
• Reducido a 14kb cuando se usa compresión http
• Cross-browser
• Sin dependencias
• Web con tutoriales y ejemplos
• Aporte de la comunidad
http://knockoutjs.com
24. Ayuda a implementar este modelo MVVM.
Permite:
• Realizar Binding Declarativos
• Refresco automático de los elementos del UI, cuando se actualiza el modelovista,
nuestra UI se actualiza automáticamente
• Tracking de Dependencias: detecta los cambios realizados en la vista o en el modelo
y es capaz de propagarlos .
• Plantillas: permite generar rápidamente plantillas en función de los datos del
modelovista.
Compatibilidad con browsers y versiones:
6+ 2+
27. No hay cambios de URL, solo #
Template Disponible
Uso de HTML5,CSS3
Uso de Knouckout.js para
binding
Gran experencia de usuario
Corren en cualquier device
Pueden trabajar offline
Skill en Javascript
Dificultad para los SEO
Mas complejos para desarrollar