Your SlideShare is downloading. ×
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

398
views

Published on

(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
398
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Conociendo Silverlight desde las trincheras Marcela A. Castagno Leonardo Sailer mixplay.tv Global Crossing mcastagno@claxson.com Leo_sailer@hotmail.com Pablo A. Menegol Juan Ladetto mixplay.tv Microsoft Argentina pmenegol@claxson.com juanl@microsoft.com 25 de Marzo 2009, Paseo La Plaza, Buenos Aires
  • 2. Experiencias Sin importar ricas en el dispositivo internet
  • 3. Ofrecer experiencias de alta calidad
  • 4. Tecnología robusta
  • 5. Resultados más rápidos
  • 6. Marcela A. Castagno Pablo A. Menegol www.mixplay.tv www.mixplay.tv mcastagno@claxson.com pmenegol@claxson.com
  • 7. Mixplay.tv ayer
  • 8. Mixplay.tv ayer
  • 9. Mixplay.tv ayer
  • 10. Mixplay.tv ayer Más problemas con las tecnologías tradicionales • Extensas jornadas de trabajo . • Inconvenientes en desarrollos multiplaforma (browser y SO) • Limitaciones o Condicionamientos en la creatividad del Producto. • La “customización” de las aplicaciones siempre debían pasar por el equipo de Desarrollo.
  • 11. Mixplay.tv hoy Model View Controller
  • 12. Mixplay.tv hoy Tecnologías que posibilitaron el cambio: • Model View Controller • REST • Silverlight
  • 13. Mixplay.tv hoy Beneficios de Silverlight • Interacción entre Desarrollo/Diseño. • Workflow más eficiente • Controles con diferentes interfaces. • Rápida adopción de nuevas herramientas. • Reutilización de las capacidades en C#. • Interfaces más dinámicas y flexibles. • eXtreme Programming (XP) interdisciplinario. • Funcionalidades multiplataforma (browser y SO) sin recodificar.
  • 14. Mixplay.tv hoy Interacción entre Desarrollo y Diseño
  • 15. Mixplay.tv hoy Interfaces Dinámicas y Flexibles
  • 16. Mixplay.tv hoy eXtreme Programming: ¿Con un diseñador?
  • 17. Mixplay.tv hoy Multiplataforma (Browser y SO)
  • 18. Mixplay.tv hoy Algunas “piedras en el camino” • No maneja recursos dinámicos ni en cascadas. • MS Blend no se integra a MS Visual Sourcesafe. • Faltan funcionalidades relevante en la versión release 2 de Silverlight. • Implementación de Triggers • Datasource en XML • Cantidad limitada de layouts y controles • Incompatibilidades de XAML entre Visual Studio y Blend. • Problemas de herencia de Objetos en Blend. • No puede utilizarse Motion path o importar swf o psd en Blend
  • 19. Mixplay.tv hoy El resultado de nuestro desafío
  • 20. mcastagno@claxson.com | pmenegol@claxson.com www.mixplay.tv
  • 21. Ing. Leonardo Sailer Application Architect IT - Latin American & Caribbean Nuestra Experiencia Leo_sailer@hotmail.com
  • 22. 2007: Comienzos Necesidad: Visualización y Monitoreo de las redes de comunicaciones. Desafío: Como implementar una Solución efectiva y eficaz sin incorporar nuevos recursos, procurando que los clientes “vean lo mismo que nosotros”. Objetivos: Visualización de la documentación de la red en forma esquemática. (tipo Visio ). Monitoreo de eventos, no solo de caídas de red sino también de performance. Único repositorio de datos (evitar inconsistencias en Service Assurance). Minimizar equipos de desarrollo, mantenimiento y helpdesk. Aprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX) Solución: Nace Dokulight en base al Silverlight 1.0 beta
  • 23. DokuLight = LOB Silverlight Ventajas Repositorio Único, Clientes e Ingenieros ven lo mismo. Updates y Nuevos Releases simplificados. Interface de Usuario web enriquecida. Team de desarrollo y Help Desk Unificado. Mínima inversión monetaria. Integración total con el OSS Interno. (Operation Support Services). Managed Code - .Net Improvements, WPF = Rich interface, Multiplataforma. Menor “peso” de Instalación comparada a un ActiveX. (6Mb a 15Mb). Desventajas No existían controles comerciales disponibles ( hubo que implementar cosas básicas, toolbars, move, resize, shapes, lines, etc) Escasa Documentación. Versiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap.) y pobre integración con Blend.
  • 24. 2008 Dokulight v:2.1.3365 con Silverlight 2.0.31005.0 100% del Código sin Componentes Externos, en VB.NET. 90% de GUI Implementada. Navegación básica implementada. Integrado al OSS con visualización de eventos, usando State Management. GeoCoding para las Ubicaciones de Clientes, usando MultiScaleImage, Deep Zoom y LiveMaps Imaginery. Web Services Async para la obtención de los datos. MultiThreading para el rendering de los objetos de pantallas. Implementación de Isolated Storage para persistencia de datos. Serialization para trabajo offline. Testeado con Internet Explorer, Safari, FireFox y Opera.
  • 25. Isolated Storage Resguardo Persistencia de datos Dim IOSTREAM As IsolatedStorageFileStream Dim store As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication() If Not store.DirectoryExists(subDirName) Then store.CreateDirectory(subDirName) If Not store.FileExists(sfilename)Then IOSTREAM = store.CreateFile(sFile) Else IOSTREAM = store.OpenFile(sFile, IO.FileMode.Truncate) End If IOSTREAM.Write( . . . . . IOSTREAM.Close() Recuperación IOSTREAM = store.OpenFile(sFile, IO.FileMode.Open) IOSTREAM.Read( . . . . .
  • 26. Asynchronous Web Services Llamada al WS Recepción de Datos Dim wsNMS As SrvNMSDK.NMSDKLSrvSoapClient = GetWsMNGTClass.GetWS Dim Request As New SrvNMSDK.GetScreenReq AddHandler wsNMS.GetScreenCompleted, AddressOf GetScreenCompleted wsNMS.GetScreenAsync(Request, Screen) Recepción WS Private Sub GetScreenCompleted(ByVal sender As Object, ByVal e As SrvNMSDK.GetScreenCompletedEventArgs) If e Is Nothing OrElse e.Result Is Nothing Then . . . . If e.Result.ErrorResp IsNot Nothing Then . . . . If e.Result.DkvData Is Nothing Then . . . . Dim ScreenData() As SrvNMSDK.DvData = e.Result.DkvData If ScreenData.Length > 0 Then . . . .
  • 27. Multithreading Llamada Worker Procesando en Background Dim MyThre As New System.ComponentModel.BackgroundWorker AddHandler MyThre.DoWork, AddressOf ProcRRGetScreenDoWork AddHandler MyThre.ProgressChanged, AddressOf ProcRRGetScreenChanged AddHandler MyThre.RunWorkerCompleted, AddressOf ProcRRGetScreenCompleted MyThre.WorkerReportsProgress = True MyThre.RunWorkerAsync(e.Result.DkvData) Ejecución Worker Private Sub ProcRRGetScreenDoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Dim bck As System.ComponentModel.BackgroundWorker = CType(sender, System.ComponentModel.BackgroundWorker) Dim ScreenData() As SrvNMSDK.DvData = CType(e.Argument, SrvNMSDK.DvData()) ThisPage.Dispatcher.BeginInvoke(PrgBarInitialDispatcher, MyNodes.Count - 1, 0, 0)
  • 28. Geocoding Manejo de los Mapas DeepZoom, LiveMaps http://www.codeplex.com/deepearth/ msi.Source = New VETileSource(MapStyle.Aerial, String.Format("{0}/VE_files", InputParam.Path).ToString) Public Sub New(ByVal mapStyleval As MapStyle, ByVal Path As String) MyBase.New(134217728, 134217728, 256, 256, 0) myActiveMapStyle = mapStyleval mPath = Path End Sub Private Const Protocol As String = http:// Private Const Suffix As String = ".jpeg?g=159“ Private Const TilePath As String = ".ortho.tiles.virtualearth.net/tiles/“ Private mPath As String = http://{Path}/VE_files Dim p As Point = clsMapHelper.LatLongToPoint(latLong, myMSI) opin.SetValue(Canvas.TopProperty, p.Y) opin.SetValue(Canvas.LeftProperty, p.X)
  • 29. VisualState Manager Definición Visualización de Eventos <vsm:VisualStateManager.VisualStateGroups> <vsm:VisualStateGroup x:Name="NMS_States"> <vsm:VisualStateGroup.Transitions> <vsm:VisualTransition GeneratedDuration="00:00:00.2500000" To="State1R" /> <vsm:VisualState x:Name="State1R"> Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(Gradien tStop.Color)"> <SplineColorKeyFrame KeyTime="00:00:00" Value="#FF00FF00"/> <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="LayoutRoot" Ejecución VisualStateManager.GoToState(oIcon, "State1R" , True)
  • 30. 2009+ Próximos Pasos Migración a Silverlight 3. Mejoras visuales, integrar a un Diseñador al equipo. Implementación de Temas. Gráficos básicos de performance y de eventos. Análisis / implementación de Componentes Externos (AddFlow Lasalle, Dundas Charts, WebAqua Toolbars y Controls ).
  • 31. http://silverlight.net/Community/ http://silverlight.net/Learn/ Leo_sailer@hotmail.com http://silverlight.net/forums/ http://www.codeplex.com/deepearth •Joe Stegman's Blog http://blogs.msdn.com/jstegman/ •Scott Guthrie Blog http://weblogs.asp.net/scottgu/ • Tim Heuer’s Blog http://timheuer.com/blog/ •Mike Harsh's Blog http://blogs.msdn.com/mharsh/ •Somasegar's BLog http://blogs.msdn.com/somasegar/ •Laurence Moroney's Blog http://blogs.msdn.com/webnext/ •Tim Sneath's Blog http://blogs.msdn.com/tims/ •Dave L. Campbell's Blog http://www.wynapse.com/
  • 32. Resumen Isolated Storage Asynchronous .net Web Services Calls Custom Controls Asynchronous Web request Calls DLR DeepZoom DRM WMS Visual Basic Visual Studio 2008 Expression Blend C# Linq Y mucho más XAML MultiThreading Modelo de Integración paralela
  • 33. Cómo empezar http://silverlight.net/getstarted  Instalar Silverlight 2 runtime  Bajar Visual Studio 2008 SP 1  Microsoft Silverlight Tools for Visual Studio 2008 SP1  Silverlight 2 application project template  Silverlight 2 control library project template  Expression Blend 2.0 SP 1  Experiencias ricas  Opciones de sync con Visual Studio  Silverlight 2 SDK  www.silverlight.net/learn
  • 34. Silverlight 3 http://silverlight.net/getstarted/silverlight3  Reproducción de video en formatos mpeg4 /H 264. Audio en formato AAC  Soporte para:  temas,  cascade styles,  nuevas animaciones 60+ controles con código fuente Funciona fuera del browser  detección de estado de conexión  Sin necesidad de instalación Deep linking Multitouch Expression blend 3 con posibilidad de control de código
  • 35. ¿Sorteos? Recuerde completar los formularios de evaluación
  • 36. Marcela A. Castagno Leonardo Sailer mixplay.tv Global Crossing mcastagno@claxson.com leonardo.sailer@globalcrossing.com Pablo A. Menegol Juan Ladetto mixplay.tv Microsoft Argentina pmenegol@claxson.com juanl@microsoft.com