Aplicaciones Smart Client con 'NET - PowerPoint PPT Presentation

1 / 69
About This Presentation
Title:

Aplicaciones Smart Client con 'NET

Description:

'The current enthusiasm for a browser-based enterprise is shortsighted. As firms trade in their desktop clients for browsers they'll find: primitive functionality... – PowerPoint PPT presentation

Number of Views:295
Avg rating:3.0/5.0
Slides: 70
Provided by: downloadM
Category:

less

Transcript and Presenter's Notes

Title: Aplicaciones Smart Client con 'NET


1
Aplicaciones Smart Client con .NET
  • ltPonentegt
  • ltEmailgt
  • ltCargogt
  • ltEmpresagt

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

3
  • Qué es un Smart Client?

4
Qué es un Smart Client?La industria habla
5
Qué es un Smart Client?
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

7
Qué es un Smart Client?Ejemplos
Experiencia rica?
Funciona en Internet?
Despliegue centralizado?
Smart Client?
Soporta modo desconectado?
Hotmail
No


No
No
No
No


Discutible
Notepad
No
No
No
No

Outlook XP
No
No



Outlook 2003
8
  • Introducción a Windows Forms

9
Introducción a Windows FormsQué 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

10
Introducción a Windows FormsDesarrollo
  • 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

11
Introducción a Windows FormsClase 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

12
Hola Mundo en Windows Forms
13
Introducción a Windows FormsDiseñ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

14
Hola Mundo con Visual Studio
15
Introducción a Windows FormsOrganizació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

16
Organización de controles
17
Introducción a Windows FormsAplicaciones MDI vs
SDI
  • SDI Un solo documento a la vezEj. WordPad
  • MDI Varios documentos simultáneamenteEj. Excel
  • Propiedad Form.IsMDIContainer

18
Introducción a Windows FormsDiá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

19
Introducción a Windows FormsControles
Control
ListControls
ButtonBase
ComboBox
Button
ListBox
CheckBox
RadioButton
ListView
TreeView
TextBoxBase
DataGrid
TextBox
TrackBar
RichTextBox
Splitter
ProgressBar
MonthCalendar
PictureBox
DateTimePicker
StatusBar
ScrollableControl
ToolBar
ScrollBar
Panel
20
Introducción a Windows FormsDesarrollo 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

21
Desarrollo de controles
22
Introducción a Windows FormsHerencia
  • 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

23
Herencia de formularios
24
Introducción a Windows FormsEnlace 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

25
Enlace a datos
26
  • Gráficos avanzados con GDI

27
Gráficos avanzados con GDIQué 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

28
Gráficos avanzados con GDIGrá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

29
Gráficos avanzados con GDIGráficos vectoriales
(II)
  • Renderizado
  • Transparencia canal alfa
  • Estilo de anti-aliasing
  • Transformaciones
  • Filtrado
  • Coordenadas en punto flotante

30
Gráficos vectoriales
31
Gráficos avanzados con GDITratamiento 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)

32
Tratamiento de imágenes
33
Gráficos avanzados con GDITipografí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

34
Tipografía
35
  • Programación asíncrona

36
Programación asíncronaHilo 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

37
Programación asíncronaAcceso 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

38
Multihilo en Windows Forms
39
  • Despliegue de aplicaciones

40
Despliegue de aplicacionesOpciones
  • 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

41
Despliegue de aplicacionesNo 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

42
Despliegue de aplicacionesSeguridad
  • .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

43
Despliegue de aplicacionesSeguridad (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

44
Despliegue de aplicaciones
45
  • Patrones de diseño

46
Patrones de diseñoDefinición
  • Formas recomendadas para resolver problemas
    comunes en el software
  • Aportan consistencia y facilidad de mantenimiento
  • http//www.microsoft.com/resources/practices/
  • Varios patrones aplican especialmente a Smart
    Clients
  • Observador
  • Modelo Vista - Controlador
  • Command

47
Patrones de diseñoObservador
  • En las aplicaciones ricas es común tener
    distintas vistas de los mismos datos
  • Problema de sincronización

48
Patrones de diseñoObservador (II)
  • El patrón observador relega las acciones a los
    datos
  • Son los datos los que notifican a las vistas

Data
49
Patrones de diseñoModelo 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

50
Patrones de diseñoModelo Vista Controlador (II)
  • Modelo
  • 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
51
Patrones de diseñoModelo 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

Vista
Documento
52
Patrones de diseñoCommand
  • 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

53
Patrones de diseño
54
  • Application Blocks

55
Application BlocksQué 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

56
Application BlocksUpdater
  • 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)

57
Application BlocksOffline
  • 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)

58
Application BlocksOffline (II)
59
Application BlocksUser 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

60
Application BlocksUser Process Interface (II)
61
Updater Application Block
62
  • Desarrollo con dispositivos móviles

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)

64
Desarrollo con dispositivosComparació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

65
Desarrollo con dispositivosInterfaz 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

66
Desarrollo con dispositivosAcceso 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

67
Desarrollo con dispositivos
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
  • www.DesarrollaConMSDN.com
  • Código de MSDN Video
  • Calendario
  • Tutoriales
  • Seminarios
  • Artículos
  • Foros
  • Descuento 40 libros

69
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com