Professional Documents
Culture Documents
+ SharePoint
Quin soy?
Rodrigo Daz Concha
Blog: rdiazconcha.com E-mail: rodrigo@rdiazconcha.com Twitter: @rdiazconcha Microsoft Silverlight MVP, MCSD, MCTS, MCPD, MCT, Orador de INETA Latam Master Trainer de Silverlight (Silverlight Tour) silverlight-tour.com Fundador de La Liga Silverlight Primer Comunidad MSDN en Espaol acerca de Silverlight blogs.LigaSilverlight.com Orador frecuente en eventos en Guatemala, El Salvador, Costa Rica, Venezuela, Colombia, Per, Chile y Mxico
Agenda
Silverlight? Arquitectura de Aplicaciones Silverlight Aplicaciones de Escritorio Acceso a Datos Enlace de Datos El Patrn de Diseo Model-ViewViewModel (MVVM)
Silverlight?
Silverlight?
La realidad:
Silverlight 5 ser liberado muy pronto 1 milln de desarrolladores Adopcin creciente Plataforma de desarrollo para Windows Phone 7.x Hay un equipo entero para XAML en Windows 8 No compite con HTML 5
Qu usar?
WebParts de Silverlight
Aplicaciones de Escritorio
Se configuran en las Propiedades del Proyecto de Silverlight Se crea el archivo OutOfBrowserSettings.x ml
Al compilar, se mezcla <OutOfBrowserSettings con el Manifiesto ShortName="Ejemplo"
EnableGPUAcceleration="False" ShowInstallMenuItem="True"> <OutOfBrowserSettings.Blurb>Esto es un ejemplo</OutOfBrowserSettings.Blurb> <OutOfBrowserSettings.WindowSettings> <WindowSettings Title="Ejemplo" Height="480" Width="640" Top="10" Left="10" WindowStartupLocation="Manual" /> </OutOfBrowserSettings.WindowSettings> <OutOfBrowserSettings.Icons /> </OutOfBrowserSettings>
Aplicaciones de Escritorio
El usuario debe permitir explcitamente la instalacin y definir el lugar para los accesos directos Por seguridad: el botn de OK tarda 3 segundos en habilitarse
Aplicaciones de Escritorio
Pueden ejecutar como cualquier otra aplicacin de escritorio
Confianza Parcial (por defecto) Confianza Elevada (opcional)
Acceso a Datos
SharePoint
Modelo de Objetos de SharePoint (a partir de 2010) Servicios Web de SharePoint
No SharePoint
Servicios SOAP Servicios REST WCF WCF Data Services WCF RIA Services etc. !
Acceso a Datos
Modelo de Objetos de SharePoint para Silverlight
Microsoft.SharePoint.Client.dll http://msdn.microsoft.com/enus/library/ee537855.aspx
ClientContext clientContext = ClientContext.Current; oWebsite = clientContext.Web; ListCollection collList = oWebsite.Lists; //Usa los datos obtenidos
Acceso a Datos
Proxies cliente
Agregando la referencia a un Servicio Web autodescriptivo (WSDL)
Manejo de Datos
XML
LINQ para XML XmlReader XmlSerializer
JSON
DataContractJsonSerializer JSON.NET
POCO
Enlace de Datos
Modelo sencillo y poderos Permite una separacin de preocupaciones entre las diferentes capas No modificas directamente los controles
Control Destino
Objeto Fuente
Qu es MVVM?
Patrn de Diseo natural para plataformas de XAML
{Binding}
Ventajas
Separacin de preocupaciones Pruebas Unitarias Mantenimiento de cdigo Consistencia Desacoplamiento Flujo de trabajo entre diseadores y desarrolladores
Model-View-ViewModel
View
ViewModel
Model
Model-View-ViewModel
Vista View
Interface de Usuario Estilos, Recursos UserControl, Page, ChildWindow, DataTemplate El Contexto de Datos es el ViewModel Poco o nada de codebehind Actualizada a travs de Bindings Comportamientos
ViewModel
Model
Model-View-ViewModel
Modelo de la Vista
View
ViewModel
Model
Abstraccin de la Vista Adapta el Modelo a la Vista Mantiene el estado Expone propiedades a las que se enlaza la Vista (datos y Comandos) Expone mtodos que los Comportamientos de una Vista pueden invocar Desacoplamiento y Testability es el objetivo principal
Model-View-ViewModel
Modelo View
Tu dominio Objetos de datos
DTO, POCO Modelo de datos generado Modelo de proxy generado
ViewModel
Model
DEMO: MVVM
Patrocinadores Platino
Oro
Plata
Gracias!
@rdiazconcha