La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Aplicaciones Smart Client con .NET

Presentaciones similares


Presentación del tema: "Aplicaciones Smart Client con .NET"— Transcripción de la presentación:

1 Aplicaciones Smart Client con .NET
<Ponente> < > <Cargo> <Empresa> © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

2 Agenda ¿Qué es un SmartClient? Introducción a Windows Forms
Gráficos avanzados con GDI+ Programación asíncrona Despliegue de aplicaciones Patrones de diseño Application Blocks Desarrollo en dispositivos móviles © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3 ¿Qué es un Smart Client? © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4 ¿Qué es un Smart Client? La industria habla
“The problems with browser-based approaches … have become all too well-known” “Web-based solutions just can’t provide the rich users interface and performance which users like our traders need.” “…It sounds a bit like heresy, but the web-based portal does not really make a very effective interface to functionality that resides in many systems" “The current enthusiasm for a browser-based enterprise is shortsighted. As firms trade in their desktop clients for browsers they’ll find: primitive functionality… bandwidth gluttony… terrible usability.” “The Client is Back” Jonathan Schwartz, Sun’s president and COO Opening remarks at JavaOne 2004 “As proof of their disillusionment, a staggering one-third of IT decision makers report having plans for migrating some applications back to richer client environments.” IBM Puts New Spin On Client Computing (May 2004) © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

5 ¿Qué es un Smart Client? A medida del dispositivo
Servicios Web & soporte conectado/desconectado Difícil de desplegar Huella pesada Infierno de las DLLs Dependencia de la red Experiencia pobre de usuario IU rica compleja de desarrollar Poco interactivo Experiencia rica de usuario Facilidad de gestión de cambios Productividad para el desarrollador Facilidad de despliegue Interactivo © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6 ¿Qué es un Smart Client? Atributos
Utiliza la potencia del procesador local Experiencia de usuario rica, interactiva Consume servicios por HTTP Servicios Web y SOA Puede funcionar de forma desconectada Se despliega y actualiza de forma centralizada © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

7 ¿Qué es un Smart Client? Ejemplos
¿Experiencia rica? ¿Funciona en Internet? ¿Soporta modo desconectado? ¿Despliegue centralizado? ¿Smart Client? Hotmail No No No Notepad Discutible… No No Outlook XP No No No No Outlook 2003 No No © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

8 Introducción a Windows Forms
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

9 Introducción a Windows Forms ¿Qué es?
Tecnología incluida en el Framework .NET Aprovecha lo mejor de Windows Alta usabilidad para los clientes Aprovecha hardware local Layout preciso al pixel Y soluciona sus problemas típicos Instalación, mantenimiento Seguridad © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

10 Introducción a Windows Forms Desarrollo
Windows Forms es una librería de clases Accesibles desde el .NET Framework Encapsula con OOP la API Windows Controles identificados con HWND Propiedades accesibles con SendMessage Eventos capturados en WndProc Visual Studio .NET como diseñador Aumenta la productividad del desarrollo Diseñadores, asistentes, plantillas © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

11 Introducción a Windows Forms Clase Control
Una clase base común: Control Representa un elemento del interfaz Resto de elementos derivan de Control Formulario Windows (Form) Básicos (TextBox) y extendidos (DataGrid) Funcionalidad encapsulada en propiedades y eventos Eventos accesibles por delegates © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

12 “Hola Mundo” en Windows Forms
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

13 Introducción a Windows Forms Diseño con Visual Studio .NET
Visual Studio .NET permite diseñar gráficamente los formularios Arrastrar controles desde la paleta Modificar sus propiedades Procesar los eventos Todo está en código Visual Studio sincroniza el código en los dos sentidos © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

14 “Hola Mundo” con Visual Studio
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

15 Introducción a Windows Forms Organización de controles
Nueva aproximación al AutoScale Todas las coordenadas en píxeles Autoescaladas según AutoScaleBaseSize Layout manual con Visual Studio Layout automático Docking Anchor Orden de tabulador configurable Botones Default y Cancel © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

16 Organización de controles
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

17 Introducción a Windows Forms Aplicaciones MDI vs SDI
SDI: Un solo documento a la vez Ej. WordPad MDI: Varios documentos simultáneamente Ej. Excel Propiedad Form.IsMDIContainer © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

18 Introducción a Windows Forms Diálogos
Modales: Paran la ejecución Método Form.ShowDialog No modales: Permiten ejecución paralela Método Form.Show Diálogos comunes OpenFIleDialog, SaveFileDialog FontDialog, ColorDialog PrintDialog, PageSetupDialog © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

19 Introducción a Windows Forms Controles
ButtonBase ListControls Button ComboBox CheckBox ListBox RadioButton ListView TextBoxBase TreeView TextBox DataGrid RichTextBox TrackBar Splitter ProgressBar MonthCalendar PictureBox DateTimePicker StatusBar ToolBar ScrollableControl ScrollBar Panel © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

20 Introducción a Windows Forms Desarrollo de controles
Controles de usuario Composición de otros controles Desarrollo visual con Visual Studio .NET Controles personalizados Derivan de clase Control o de otro control Añaden funcionalidad Evento OnPaint, nuevas propiedades / eventos, etc. Integración con Visual Studio Personalización de pintado Redefinir el pintado de los elementos © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

21 Desarrollo de controles
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

22 Introducción a Windows Forms Herencia
Reutilización de componentes o formularios Métodos tradicionales Sobrescribir WNDPROC en C++ Controles de usuario en VB6 Nuevo método disponible OOP Derivar controles y formularios Mucho más encapsulado y personalizable Soportado gráficamente por VS.NET © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

23 Herencia de formularios
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

24 Introducción a Windows Forms Enlace a datos
Enlace Simple Cualquier propiedad de un control puede ser enlazada a un dato Colección DataBindings Enlace complejo Los controles lista pueden ser enlazados a un conjunto de datos Propiedades DataSource, DataMember Personalización del formato Eventos Format, Parse © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

25 Enlace a datos © 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

26 Gráficos avanzados con GDI+
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

27 Gráficos avanzados con GDI+ ¿Qué es GDI+?
Librería incluida en Windows XP / 2003 Gráficos vectoriales Procesamiento de imágenes Tipografía System.Drawing encapsula GDI+ GDIPLUS.DLL instalada junto a runtime .NET Namespaces: System.Drawing.Drawing2D System.Drawing.Imaging System.Drawing.Text © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

28 Gráficos avanzados con GDI+ Gráficos vectoriales
Definición del gráfico Primitivas vectoriales Líneas, polígonos, arcos, splines, beziers… Estilos de línea Color, trazado, nodos finales, tipos de intersección… Estilos de relleno Sólido, patrón, textura, gradientes… © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

29 Gráficos avanzados con GDI+ Gráficos vectoriales (II)
Renderizado Transparencia canal alfa Estilo de anti-aliasing Transformaciones Filtrado Coordenadas en punto flotante © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

30 Gráficos vectoriales © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

31 Gráficos avanzados con GDI+ Tratamiento de imágenes
Codificación / decodificación BMP, JPEG, PNG, GIF, TIFF, EXIF… Procesamiento Transformaciones, brillo, contraste, coloreado… Escalado bicúbico Gestión del color ICM Relación con gráficos Mostrar imagen en lienzo Crear lienzo desde imagen (útil para doble búfer) © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

32 Tratamiento de imágenes
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

33 Gráficos avanzados con GDI+ Tipografía
Soporte ClearType Soporte OpenType Alto nivel de internacionalización Árabe, hebreo, thai, vertical… Relación con gráficos Relleno con brocha Path no lineal Convertible a curva © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

34 Tipografía © 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

35 Programación asíncrona
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

36 Programación asíncrona Hilo principal de aplicación
Windows Forms corre en un solo hilo Hilo donde se llama a Application.Run() Hay que evitar sobrecargar ese hilo Provoca interfaces que no responden Soluciones: Usar otros hilos para tareas costosas Usar las versiones asíncronas de las funciones BeginXXX, EndXXX © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

37 Programación asíncrona Acceso al IU desde otro hilo
Los hilos secundarios NUNCA deben acceder a las propiedades de los controles Windows Forms no es thread-safe Solución: Usar Control.Invoke o Control.BeginInvoke para la actualización © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

38 Multihilo en Windows Forms
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

39 Despliegue de aplicaciones
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

40 Despliegue de aplicaciones Opciones
XCOPY Copiar todas las librerías en un directorio La más sencilla Windows Installer Crear un paquete de instalación Permite acciones personalizadas Permite instalar componentes compartidos No Touch Deployment Despliegue por HTTP © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

41 Despliegue de aplicaciones No Touch Deployment
La aplicación se inicia desde Internet Explorer Aunque puede lanzar una ventana nueva Descarga las librerías conforme las necesite Caché automático Inconvenientes Necesita conexión Por defecto corre con permisos restringidos © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

42 Despliegue de aplicaciones Seguridad
.NET define 5 grupos de código Permisos asociados a cada uno My Computer: sin restricción Local Intranet: restringido (ej. sin disco) Internet, Trusted: muy restringido (ej. sin DNS) Restricted: sin permiso de ejecución Determinado según la URL de inicio © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

43 Despliegue de aplicaciones Seguridad (II)
Recomendaciones Desarrollar para el conjunto mínimo de permisos No acceder al disco No interactuar con el sistema Escribir código safe Configurar sólo en casos estrictamente necesarios Herramienta .NET Configuration Crear nuevos grupos en lugar de cambiar los permisos © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

44 Despliegue de aplicaciones
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

45 Patrones de diseño © 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

46 Patrones de diseño Definición
Formas recomendadas para resolver problemas comunes en el software Aportan consistencia y facilidad de mantenimiento Varios patrones aplican especialmente a Smart Clients Observador Modelo Vista - Controlador Command © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

47 Patrones de diseño Observador
En las aplicaciones ricas es común tener distintas vistas de los mismos datos Problema de sincronización Action © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

48 Patrones de diseño Observador (II)
El patrón observador relega las acciones a los datos Son los datos los que notifican a las vistas Data Action © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

49 Patrones de diseño Modelo Vista - Controlador
El modelo Vista – Controlador independiza y estructura el IU ¿Por qué independizar IU del resto? El interfaz gráfico cambia con frecuencia Los datos se muestran de distinta forma Las pruebas son complicadas Los desarrolladores pueden estar especializados © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

50 Patrones de diseño Modelo Vista – Controlador (II)
Contiene los datos, su comportamiento y el estado Vista Gestiona la presentación de los datos Controlador Interpreta las acciones del usuario, informando al modelo y a la vista Controlador Modelo Vista © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

51 Patrones de diseño Modelo Vista – Controlador (III)
Posibilidad unir Controlador y Vista Modelo Documento – Vista Normalmente unido a patrón Observador Evita una referencia circular Vistas actualizadas con los cambios del modelo Documento Vista © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

52 Patrones de diseño Command
Una acción suele estar accesible en distintos puntos Ej. Menú, toolbar, contexto El patrón Command encapsula el estado y la acción asociados a los elementos Dos clases Command: Encapsula la acción Commander: Une commands a elementos de IU © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

53 Patrones de diseño © 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

54 Application Blocks © 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

55 Application Blocks ¿Qué son?
Bloques de código .NET que solventan problemas comunes con mejores prácticas Reusables, extensibles y modificables Acceso a datos, logging, configuración… Varios aplican especialmente a Smart Clients Updater Offline User Process Interface © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

56 Application Blocks Updater
Permite detectar, validar y descargar actualizaciones Modelo pull El cliente comprueba periódicamente No necesitamos conexión para ejecutar Descarga en segundo plano Tecnología Windows Update (BITS) © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

57 Application Blocks Offline
Permite desarrollar aplicaciones que trabajan sin conexión permanente (ej. Outlook 2003) Sin cambiar el modelo de desarrollo online / offline Incorpora Framework para realizar llamadas a servicios online / offline de forma transparente Infraestructura para funcionamiento asíncrono No incorpora Procesamiento de datos (ej. resolución conflictos) © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

58 Application Blocks Offline (II)
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

59 Application Blocks User Process Interface
Framework modelo Vista – Controlador Incluye Clases base para cada elemento Configuración declarativa del flujo de navegación Independiente del interfaz Mismo código de lógica para Web, Win o Móvil Persistencia automática del modelo Permite resumir sesiones, cambiar dispositivo o navegar atrás © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

60 Application Blocks User Process Interface (II)
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

61 Updater Application Block
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

62 Desarrollo con dispositivos móviles
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

63 Desarrollo con dispositivos .NET Compact Framework
Versión reducida del Framework .NET Diseñado para dispositivos inteligentes PocketPC y PocketPC Phone Edition SmartPhone Windows CE Mismo entorno: Visual Studio .NET Editores Diseñadores Depuración (emulador o dispositivo conectado) © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

64 Desarrollo con dispositivos Comparación con versión desktop
Optimizado para pequeños dispositivos Misma librería de clases Sin ASP.NET, configuración, XPath, Remoting… Framework Comparison Tool Muestra las diferencias entre los dos © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

65 Desarrollo con dispositivos Interfaz gráfico
Juego de controles adaptado TextBox, ListBox, DataGrid, TreeView… Nuevos controles especiales InputPanel, Spinner… Otros controles dependen del dispositivo ¡Ej. Button! Controles de usuario no soportados © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

66 Desarrollo con dispositivos Acceso a datos
SQL Server 2000 Mismas clases que .NET Framework Necesita conexión con PC SQL Server CE Versión reducida de SQL Server Permite sincronización Proveedor ADO.NET SqlServerCE Servicios web Soporte de servicios web remotos © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

67 Desarrollo con dispositivos
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

68 Sep Oct Nov Dic Ene Feb Mar Abr May Jun
.NET y Servicios Web Desarrollo web Smart Clients Visual Studio 2005 SQL Server 2005 Webcast teórico Talleres en ciudades Aplicación MSDN Video Webcast práctica 3 Febrero Código de MSDN Video Calendario Tutoriales Seminarios Artículos Foros Descuento 40% libros © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

69 © 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Descargar ppt "Aplicaciones Smart Client con .NET"

Presentaciones similares


Anuncios Google