WINDOWS PRESENTATION FOUNDATION (WPF)
Geslia Guadalupe Nápoles Quintana 39959 Eduardo Lara García 17041 Ramón Moroyoqui Montiel 16674 Diseño de Sistemas Interactivos Lic. Roberto Limón
Guaymas, Sonora. A 22 de Febrero de 2010
Índice Windows Presentation Foundation 1) Introducción a RIA’s ---------------------------------------------------------------------03 2) Historia / Origen ---------------------------------------------------------------------------03 3) CodeName-----------------------------------------------------------------------------------04 4) Licencia---------------------------------------------------------------------------------------04 5) Descripción de la Tecnología----------------------------------------------------------04 5.1) Requerimientos de Instalación------------------------------------------------04 5.2) Componentes -----------------------------------------------------------------------05 5.3) Compatibilidad----------------------------------------------------------------------05 5.4) XAML------------------------------------------------------------------------------------06 5.5) XPS--------------------------------------------------------------------------------------06 5.6) Ambiente de Desarrollo----------------------------------------------------------06 6) Ventajas---------------------------------------------------------------------------------------08 7) Posibles Desventajas--------------------------------------------------------------------08 8) Conclusión-----------------------------------------------------------------------------------09 9) Bibliografía-----------------------------------------------------------------------------------10
2
WINDOWS PRESENTATION FOUNDATION 1. - Introducción a RIA’s: Rich Internet Applications (RIAs) básicamente se trata de un nuevo paradigma de desarrollo de aplicaciones web que está emergiendo actualmente con mucha fuerza en el mundo de las Tecnologías de la Información y los negocios. La mejor manera de comprender lo que son las RIAs es poniéndolas en el contexto de otras tecnologías. Para esto debemos pensar las soluciones tecnológicas en términos de dos características: alcance y riqueza. Riqueza es la habilidad para incorporar interactividad e interfaces de usuario intuitivas en el cliente, y alcance es la habilidad de la aplicación para estar disponible para cualquier usuario en el lugar del planeta en el que éste se encuentre. El inicio del desarrollo de aplicaciones se da con los mainframes que proveen una interfase no-gráfica basada en texto y que se pueden utilizar por usuarios dentro de grandes organizaciones. Con la llegada de Windows y una mayor capacidad de procesamiento en las máquinas cliente, en los albores de la década del 90, se impone la tecnología cliente/servidor, que provee modelos visuales para la interacción del usuario. La capacidad de procesamiento en la máquina cliente hizo posible mejorar la usabilidad de las aplicaciones con la incorporación de elementos de interfase como tabuladores, menús desplegables y tablas de datos. Sin embargo esta tecnología requería que se instalase una aplicación en el cliente que resultaba difícil de administrar y mantener actualizada. El resultado fue un alcance limitado: llegaba a pocos usuarios.
2.-Historia / Origen (Breve): WPF es la interfaz de usuario para crear aplicaciones con una rica experiencia de usuario. Es parte de. NET Framework 3.0 y superiores. Combina gráficos 2D y 3D, multimedia y documentos en un único marco. Su motor utiliza aceleración de hardware de las modernas tarjetas gráficas. Esto hace que la interfaz de usuario sea más rápida, escalable y de resolución independiente. Presenta XAML, que permite a los desarrolladores utilicen un modelo basado en XML para manipular modelos de objetos. Windows Presentation Foundation (WPF) es una de las novedosas tecnologías de Microsoft y uno de los pilares de Windows Vista. Potencia las capacidades de desarrollo de interfaces de interacción integrando y ampliando las mejores características de las aplicaciones Windows y de las aplicaciones web. Windows Presentation Foundation (WPF) es un sistema de presentación de la próxima generación, para crear aplicaciones cliente de Windows que proporcionen una experiencia impactante para el usuario desde el punto de 3
vista visual. Con WPF, puede crear una amplia gama de aplicaciones independientes y hospedadas en explorador. Algunos ejemplos de ello son Yahoo! Messenger y New York Times Reader, así como la aplicación de ejemplo para atención sanitaria, Contoso Healthcare Sample Application que se muestra en la ilustración siguiente.
3.- CodeName: La clave Avalon se utiliza para la presentación de las tecnologías de WinFX, que oficialmente se llama "Windows Presentation Foundation" o "WPF“.
4. - Licencia: Licencia Freeware Es el software completamente gratuito que se distribuye con acceso a toda su funcionalidad y por tiempo ilimitado. Pero no puede ser modificado.
5. - Descripción de la Tecnología: 5.1.- Requerimientos de Instalación: Microsoft ofrece dos herramientas de desarrollo para aplicaciones de WPF. Uno de ellos es de Visual Studio, hecho para los desarrolladores y el otro es de Expression Blend hecho para los diseñadores. Aunque Visual Studio es buena en la edición de código y XAML, que tiene un apoyo poco común para todo el material gráfico como gradientes, edición de plantillas, animación, etc. Este es el punto donde entra en juego Expression Blend, Blend cubre la parte gráfica muy bien, pero tiene (todavía) el apoyo poco común para la edición de código y XAML. Microsoft Visual Studio 2008: Visual Studio es la herramienta para desarrolladores. Incluye un diseñador gráfico de WPF en la versión 2008. Si está utilizando Visual Studio 2005 se puede instalar un add-on que le permite desarrollar aplicaciones de WPF.
Microsoft Expression Blend 3 + Sketch de flujo: Expression Blend es parte de la Expression Studio, una suite nueva herramienta de Microsoft, especialmente creada para los diseñadores. Mezcla cubre todas las características que faltan del diseñador de Visual Studio como el estilo, plantillas, animaciones, gráficos 3D, los recursos y los gradientes.
4
En la última versión también incluye una herramienta de creación de prototipos potentes llamados SketchFlow. Expression Blend puede abrir archivos de solución creado por Visual Studio.
5.2.- Componentes que ofrece: Las experiencias para el usuario proporcionadas por el modelo de aplicación son controles construidos. En WPF, un "control" es un término general que se aplica a una categoría de clases de WPF hospedadas en una ventana o una página, tienen una interfaz de usuario (UI) e implementa un comportamiento determinado. A continuación se muestra la lista de controles de WPF integrados. Botones: Button y RepeatButton. Cuadros de diálogo: OpenFileDialog, PrintDialog y SaveFileDialog. Entradas manuscritas digitales: InkCanvas y InkPresenter. Documentos: DocumentViewer, FlowDocumentPageViewer, FlowDocumentReader, FlowDocumentScrollViewer y StickyNoteControl. Entrada: TextBox, RichTextBox y PasswordBox. Diseño: Border, BulletDecorator, Canvas, DockPanel, Expander, Grid, GridView, GridSplitter, GroupBox, Panel, ResizeGrip, Separator, ScrollBar, ScrollViewer, StackPanel, Thumb, Viewbox, VirtualizingStackPanel, Window y WrapPanel. Multimedia: Image, MediaElement y SoundPlayerAction. Menús: ContextMenu, Menu y ToolBar. Navegación: Frame, Hyperlink, Page, NavigationWindow y TabControl. Selección: CheckBox, ComboBox, ListBox, TreeView y RadioButton, Slider. Información para el usuario: AccessText, Label, Popup, ProgressBar, StatusBar, TextBlock y ToolTip. 5.3.- Compatibilidad: WPF se incluye con Windows 7, Windows Vista y Windows Server 2008 y también está disponible para Windows XP Service Pack 2 o posterior y Windows Server 2003. Microsoft Silverlight es un subconjunto de WPF que permite aplicaciones basadas en la web y móviles similares a Flash y con el mismo modelo de programación que las aplicaciones .NET. No se admiten funciones 3D, pero se incluyen XPS y plano basado en vectores.
5
5.4.- XAML: XAML (acrónimo pronunciado xammel del inglés eXtensible Application Markup Language, Lenguaje Extensible de Formato para Aplicaciones en español) es el lenguaje de formato para la interfaz de usuario para la Base de Presentación de Windows (WPF por sus siglas en inglés) y Silverlight(wpf/e), el cual es uno de los "pilares" de la interfaz de programación de aplicaciones .NET en su versión 3.0 (conocida con anterioridad con el nombre clave WinFX). XAML es un lenguaje declarativo basado en XML, optimizado para describir gráficamente interfaces de usuarios visuales ricas desde el punto de vista gráfico, tales como las creadas por medio de Adobe Flash. XUL y UIML son otros ejemplos de lenguajes de interfaz basados en XML. SVG es otro lenguaje de este tipo propuesto por la organización W3C, el cual soporta gráficos, animaciones, audio y video integrados, eventos y comportamiento descrito por medio de escritura y puede ser utilizado como lenguaje de interfaz basado en XML. 5.5.- XPS: El Open XML Paper Specification (OpenXPS), es una especificación para un formato de lenguaje de descripción de páginas originalmente desarrollado por Microsoft bajo el nombre de XML Paper Specification (XPS) (lanzado en noviembre de 2006). Luego fue estandarizado por la Ecma en el estándar abierto ECMA-388 el 16 de junio de 2009. Es una especificación basada en XML, más específicamente XALM. Los archivos OpenXPS llevan la extensión .oxps ó .xps. Básicamente, es un formato de documentos pensado para que sea fácil de compartir, leer e imprimir: es multiplataforma, usa compresión ZIP, además de que permite ser rápidamente leído mientras se descarga de la web. Compite con el formato PDF, dado que comparten múltiples características. 5.6.- Ambiente de Desarrollo: DISEÑO Wpf proporciona muchos paneles y controles para ayudarle a lograr el diseño que desea para sus aplicaciones. Absoluto Los elementos secundarios se organizan especificando sus ubicaciones exactas en relación con su elemento primario. Por ejemplo, los controles se organizan en un panel especificando las coordenadas izquierda y superior de los controles con relación al panel. Los elementos secundarios no se mueven cuando se cambia el tamaño del elemento primario.
6
Dinámico Los elementos secundarios se organizan especificando cómo deben organizarse y ajustarse en relación con su elemento primario. Por ejemplo, puede organizar los controles en un panel y especificar que deben ajustarse horizontalmente. Si se reduce el elemento primario, los elementos secundarios se mueven a la fila siguiente. Cuando se amplia el elemento primario, los elementos secundarios se mueven a la fila anterior. Dinámico controlado por datos Enlace un control a los datos. El control se rellena con los datos, y las filas y columnas se forman automáticamente para ajustar los datos. ESTILOS El concepto de estilos le permite eliminar todos los valores de las propiedades de los distintos elementos de interfaz de usuario y se combinan en un estilo. Un estilo consiste en una lista de los bienes de normalización. Si se aplica un estilo que define las propiedades de la interfaz de usuario con el elemento estilos valores. La idea es muy similar a la Hojas de Estilos en Cascada (CSS) en el desarrollo web. Uso de estilos le ofrece las siguientes ventajas: • Elimina la redundancia de su código • Le permiten cambiar el aspecto de un conjunto de controles de un solo punto • Le da la posibilidad de cambiar el estilo en tiempo de ejecución. PLANTILLAS Como un elemento consta de un botón múltiple compuesto partes: una frontera, un contenido de cromo y un presentador. Con estilos que sólo puede cambiar el aspecto de "fuera" mediante el establecimiento de las propiedades públicas. Con una plantilla que puede sustituir a las partes dentro de un elemento de interfaz de usuario. Uso de plantillas te da las siguientes ventajas: • Cambiar las partes dentro de un elemento de interfaz de usuario. • Reducir el número de controles personalizados.
7
6.- Ventajas Algunas ventajas de WPF son las siguientes: Estilo potente y estructurado. Facilidad para crear estilos y aspectos. Soporta Windows Forms. Es el futuro para el desarrollo de aplicaciones de Vista. Tiene capacidad de reutilización del código existente. Databinding avanzado, que permite enlazar datos con cualquier control. Programación declarativa vs procedural. Capacidades avanzadas para la Web. (WPF/E) Apuesta clara de Microsoft para su implantación.
7.- Posibles Desventajas: En muchas ocasiones vamos a necesitar el trabajo de diseñadores gráficos para beneficiarnos del potencial de WPF, lógicamente este será un coste que debemos repercutir a nuestros clientes. Modificar código en XAML es complicado. Los requerimientos de los equipos en el apartado gráfico serán mayores, deben soportar DirectX y disponer de una tarjeta gráfica con suficiente capacidad, sin embargo, estos son la mayoría de los pc´s de hoy en día, aunque todavía existen muchos equipos, sobre todo portátiles que no soportan del todo estos requerimientos. Al tratarse de la primera versión, tiene muchos aspectos en los que mejorar sobre todo en el apartado de los diseñadores de formularios y entorno gráficos. De hecho se encuentra aún en fase de desarrollo. La curva de aprendizaje es alta.
8
8.- Conclusiones:
En fin, WPF es una gran herramienta para la construcción de aplicaciones ricas de internet, ya que nos brinda gráficos y controles que nos pueden ayudar a crear aplicaciones y hacer que la interfaz de usuario sea mas rápida y de una resolución independiente, además de que trabaja con XAML, el cual hace que los desarrolladores puedan manipular modelos de objetos. Wpf se puede desarrollar en dos programas diferentes como lo son visual studio y expression blend, así los desarrolladores y los diseñadores tendrán su propio medio para poder diseñar aplicaciones con esta herramienta. Crear una aplicación con este programa es demasiado sencillo para un desarrollador y sobre todo para un usuario es también bastante facil porque permite una buena interacción del usuario y maquina, es por eso que cumple con todas las expectativas de ser un programa creador de aplicaciones enriquecidas para la web.
9
Bibliografia: http://spargouc.org/tecnologia/windows-presentation-foundation-el-final-de-windowsforms%E2%80%A6/
http://www.wpftutorial.net/wpfdevtools.html
http://msdn.microsoft.com/es-es/library/aa970268.aspx
http://es.wikipedia.org/wiki/Windows_Presentation_Foundation
http://geeks.ms/blogs/jirigoyen/archive/2009/06/17/windows-presentation-foundati-243n-el-final-de-windows-forms.aspx
http://es.wikipedia.org/wiki/XAML
http://es.wikipedia.org/wiki/XPS_%28documento%29
10