54
Windows 7- Oportunidades de Desarrollo para ISV Windows 7 SuperHero Technical Readiness Michał Morciniec , [email protected] Microsoft Ibérica

Windows 7 Oportunidades De Desarrollo para ISV

Embed Size (px)

DESCRIPTION

Examinaremos nuevas características de Windows 7 que ofrecen nuevas oportunidades para ISV de actualizar sus aplicaciones para esta versión del sistema operativo.

Citation preview

Page 1: Windows 7 Oportunidades De Desarrollo para ISV

Windows 7- Oportunidades de Desarrollo para ISV Windows 7 SuperHero Technical Readiness Michał Morciniec , [email protected] Ibérica

Page 2: Windows 7 Oportunidades De Desarrollo para ISV

Hoja de Ruta para la Aplicación diseñada para Windows 7

Multitouch Windows Ribbon Sensors

Windows Taskbar Libraries Fundamentals

Version Control User Account Control Removed

Components

Compatibilidad

Optimización

Diferenciación

Page 3: Windows 7 Oportunidades De Desarrollo para ISV

Desarrollo para Windows 7

Today TomorrowMulti-touch

Libraries

Get compatible

Sensors

Taskbar

Ribbon

Fundamentals

Page 4: Windows 7 Oportunidades De Desarrollo para ISV

Windows API Code Pack for Microsoft .NET Framework

• Windows 7 API Code Pack v1.0.1 -capa de interoperabilidad

• Windows Shell namespace objects, including: – Windows 7 libraries

– Shell property system

– Windows 7 Taskbar

– Windows Vista and Windows 7 common file dialogs

• Windows 7 Explorer Browser Control

• Support for Direct3D 11.0 and DXGI 1.0/1.1 APIs

• Sensor Platform APIs

• Extended Linguistic Services APIs

• Power Management APIs

Page 5: Windows 7 Oportunidades De Desarrollo para ISV

Un Paréntesis – Evolución de Interfaz de Usuario en Windows

Page 6: Windows 7 Oportunidades De Desarrollo para ISV
Page 7: Windows 7 Oportunidades De Desarrollo para ISV
Page 8: Windows 7 Oportunidades De Desarrollo para ISV
Page 9: Windows 7 Oportunidades De Desarrollo para ISV
Page 10: Windows 7 Oportunidades De Desarrollo para ISV
Page 11: Windows 7 Oportunidades De Desarrollo para ISV

Windows 7: Nueva Interfaz de Usuario

• Barra de tareas

Jump ListsThumbnails

• Librerías de documentos• Ribbon UI

Page 12: Windows 7 Oportunidades De Desarrollo para ISV

Windows 7: Barra de tareas

Mejorada gracias a la experiencia de usuario

• Acceso más rápido y fácil a las aplicaciones• Se agrupan por aplicación• Mas facilidad para manejar las ventanas• Escritorio mas limpio

Vistas Thumbnail

Aparecen las “Jump List”

Iconos vivos:• Barra de progreso• Iconos activos (overlay icons)

Page 13: Windows 7 Oportunidades De Desarrollo para ISV

Windows 7: Barra de tareas

Aplicación Activa

Aplicación parada

Multiples ventanas

Barra de progreso“Overlay

icon”

Page 14: Windows 7 Oportunidades De Desarrollo para ISV

Windows 7: Barra de tareas - Thumbnails

“Live thumbnails”: vista previa en vivo de la aplicación

• Windows Vista: Un thumbnail por ventana• Windows 7: Thumbnails agrupados

Control remoto (Play)

• “Thumbnail toolbar” permite controlar aplicación desde la barra

Page 15: Windows 7 Oportunidades De Desarrollo para ISV

Windows 7: Barra de Tareas - APIs

Barra de progreso (API):

• API Nativo– ITaskBarList3::SetProgressState– ITaskBarLsit3::SetProgressValue

• API Manejado– Clase ProgressBar

Icon Overlay (API):

• API Nativo– ITaskbarList3::SetOverlayIcon

• API Manejado– Clase OverlayImage

Barra de progreso

Icon Overlay

Page 16: Windows 7 Oportunidades De Desarrollo para ISV

Windows 7: Barra de tareas -APIs

Live thumbnails (API):

• API Nativo– ITaskbarList3::RegisterTab– ITaskbarList3::SetTabActive– ITaskbarList3::SetTabOrder– ITaskbarList3::UnregisterTab

Thumbnail Toolbar (API):

• API Nativo– ITaskbarList3::ThumbBarAddButtons– ITaskbarList3::ThumbBarSetImageList– ITaskbarList3::ThumbBarUpdateButtons

Page 17: Windows 7 Oportunidades De Desarrollo para ISV

Peek Preview (Aero Peek)

Pre-visualización de ventanas en vivo sin tener que activarlas

Page 18: Windows 7 Oportunidades De Desarrollo para ISV

Aero Peek en IE8

Previsualización en vivo de las pestañas

Page 19: Windows 7 Oportunidades De Desarrollo para ISV

Windows 7: Jump List

Parecido a un Mini Menú de Inicio, pero relativo a la aplicación

Page 20: Windows 7 Oportunidades De Desarrollo para ISV

Windows 7: Jump Lists

Destinations(“nouns”)

Tasks(“verbs”)

Known categories

Custom categories

User Tasks

Taskbar Tasks

Pinned category

Page 21: Windows 7 Oportunidades De Desarrollo para ISV

DEMOWindows 7 – Taskbar & Jump List

• Zoobar

Page 22: Windows 7 Oportunidades De Desarrollo para ISV

Zoobar Thumbnails

Page 23: Windows 7 Oportunidades De Desarrollo para ISV

Implementación: Overlay Icon

Utilizar la función SetOverlayIcon() del TaskbarManager

Page 24: Windows 7 Oportunidades De Desarrollo para ISV

Localizador

Page 25: Windows 7 Oportunidades De Desarrollo para ISV
Page 26: Windows 7 Oportunidades De Desarrollo para ISV

Implementación: ThumbnailPreview

Crear TabbedThumbnail e inicializarlo con la ventana y elemento para mostrar en ThumbnailEnlazar código que ejecutará cuando Thumbnail se activa y cierra.Añadir TabbedThumbnail creado al listado de vistas

Page 27: Windows 7 Oportunidades De Desarrollo para ISV

Galería de fotos

Page 28: Windows 7 Oportunidades De Desarrollo para ISV
Page 29: Windows 7 Oportunidades De Desarrollo para ISV

Implementación: Creación de ThumbnailToolbar

Crear botones y enlazar con código que realiza la acción

Añadir botones a la propiedad ThumbnailToolbars 

Page 30: Windows 7 Oportunidades De Desarrollo para ISV

Video cámera

Page 31: Windows 7 Oportunidades De Desarrollo para ISV
Page 32: Windows 7 Oportunidades De Desarrollo para ISV

Implementación: ThumbnailClip

Calcular posición del elemento con Video relativo a la ventana principal

Utilizar función SetThumbailClip()

Page 33: Windows 7 Oportunidades De Desarrollo para ISV

Nuevo Explorador de Windows

Metadatos

Navegación

Vista previa de documentos

Potentes búsquedasVarias Vistas

Búsquedas Federadas

Librerias de documentos

Page 34: Windows 7 Oportunidades De Desarrollo para ISV

Librerías

Page 35: Windows 7 Oportunidades De Desarrollo para ISV

Librerías y Desarrollo

Una librería es una collección de carpetas• Carpetas se agrupan • Típicamente no comparten el mismo raíz

Útiles y amigables para usuariosConsejos para programadores:• Utilizar la versión correcta del control Common

File Dialog (CFD) , e.g.:CommonOpenFileDialog del API Code Pack

• CFD puede devolver “librería” como ubicaciónpara guardar fichero

• Libraría tiene “default save location”

• Aplicación debe ser “consciente” de librerías• Más detalle en Introducing Libraries

Page 36: Windows 7 Oportunidades De Desarrollo para ISV

Nuevo CommonOpenFileDialog y TaskDialog

Microsoft.APICodePack.Dialogs

Page 37: Windows 7 Oportunidades De Desarrollo para ISV

Dialogo de Gestión de Librerías

Permite gestionar la librería mediante un dialógo

Utilizar ShowManageLibrary()

Metadatos de librerías se ubican en ficheros XML .library-ms enC:\Users\usuario\AppData\Roaming\Microsoft\Windows\Libraries

Aplicación debería escuchar cambios mediante FileSystemWatcher

Page 38: Windows 7 Oportunidades De Desarrollo para ISV

DEMOWindows 7 - Librerías

• Library Manager

Page 39: Windows 7 Oportunidades De Desarrollo para ISV

Microsoft Ribbon Strategy

Tipos del Ribbon disponibles

WPF(Windows Presentation

Foundation)

Target: Managed

Needs .NET 3.5 SP1

Office 2007 and Windows styles

CTP CodePlex/New version 2010

MFC(Microsoft Foundation

Class:Native)

Target: MFC native

Windows 2000 or newer

Office 2007 and Windows styles

Available in Visual Studio 2008 SP1

WRF (Scenic Ribbon)

Target: Win32 Native

Windows Vista or newer

Windows visual style

Ships with Windows 7/Vista with Platform Update

Page 40: Windows 7 Oportunidades De Desarrollo para ISV

Windows Ribbon (WRF)

Windows 7 introduce una nueva API Windows RibbonFramework (WRF) en nativo para crear interfaces de usuario basadas en Ribbon

• Basada en COM => (include ScenicIntent.h)La Interfaz de Usuario se define via XAML

• Muy similar a la sintaxis del WPF RibbonFuncionalidad muy parecida al Ribbon de Office 2007

Utilizada por Windows 7 en Paint, WordPad, Live Movie Maker, etc…

Menu Aplicación

Quick Access Toolbar

Tab Contextual Tab Set

Contextual Tab

Ayuda

Grupo (aka “Chunk”) Dialog Launcher

Page 41: Windows 7 Oportunidades De Desarrollo para ISV

INSERT PRESENTATION TITLE

Windows 7 Ribbon y .Net Windows Forms

Capa de interoperabilidad .Net para Windows 7 Ribbon Nativo (WRF)

• RibbonTool – (Herramienta que permite precompilar Ribbon markup)

• Windows Ribbon for WinForms – (capa de interoperabilidad para C#)

Requiere SDK de Windows 7 para compilar

• Windows 7 SDK

Presentación sobre Ribbon Nativo del PDC 09

• Windows Ribbon Technical Deep Dive

41 |

Page 42: Windows 7 Oportunidades De Desarrollo para ISV

Controles Scenic Ribbon

Categorized Menus

Tabs & Groups

Color Pickers

Mini Toolbar &Contextual Menu

Dropdown GalleriesTooltips

Check Boxes

Spinners

Help Button

Font Control

Group Dialog Launchers

“In-Ribbon” Galleries

Combo Boxes

Buttons & Split Buttons

Page 44: Windows 7 Oportunidades De Desarrollo para ISV

Optimización Aplicación para Windows 7

• Trigger Start Services• Power Management API• Sensors & Location API• Extended Linguistic Services API• Multitouch API

Page 45: Windows 7 Oportunidades De Desarrollo para ISV

Servicios de Windows “Trigger-Start”

Servicios de Windows afectan rendimiento, seguridad, fiabilidad y consumo de energía• El objetivo es minimizar

– el número de servicios que ejecutan en cualqiuier momento– Tiempo de procesamiento– Recursos consumidos (CPU, Memoria)

Tipos de arranque de Servicios Windows• Windows XP – Auto-Start / Manual• Windows Vista – XP + Delayed Auto-Start• Windows 7 – Windows Vista + Trigger-StartTipos de triggers• Máquina adjuntada al dominio, dirección IP disponible, dispositivo insertado, cambio de política de grupo, ETW customizado (cualquier evento que aparece en Visor de Sucesos)

Page 46: Windows 7 Oportunidades De Desarrollo para ISV

DEMOWindows 7 Trigger-Start Services

• USB Copy Service

Page 47: Windows 7 Oportunidades De Desarrollo para ISV

Gestión de Consumo de Energía

Aplicación y Energía• Animaciones consumen energía del CPU y GPU

– Deshabilitar animaciones si se utiliza batería o plan de ahorro de energía es activo

• Actividad de Windows Registry = Actividad de disco– Evitar actividad cuando es sistema está desocupado (idle)

Aplicación puede recibir eventos sobre• Cambios en configuración plan de ahorro de energía,• Desconexión de fuente de alimentación• Sistema entrando/saliendo del estado de suspensión

Aplicación pude saber• Plan de ahorro de energía activo (High Perf., Power Saver,

Balanced)• Carga disponible de batería• Si el monitor está activado

Page 48: Windows 7 Oportunidades De Desarrollo para ISV

DEMOWindows 7 Aplicación y Enregía

• Power Management

Page 49: Windows 7 Oportunidades De Desarrollo para ISV

Sensor & Location API

Define un framework estandar para los sensores.Permite que la Aplicación adapte al entorno físico• mostrar información relativa a la ubicación física (restaurantes, etc)• Adaptar luminancia de la pantalla, saturación de los colores en

función de la intensidad de luz del ambiente• Utilizar accesorios de juego avanzandos (accelerometro 3D)

Page 50: Windows 7 Oportunidades De Desarrollo para ISV

INSERT PRESENTATION TITLE

Extended Linguistic Services

Un API que permite

•Detectar idioma en el que el usuario escribe el testo (+100 idiomas)

•Transliterar texto entre sistemas del escrito – facilita comunicación liguistica

Más información en

http://msdn.microsoft.com/en-us/goglobal/dd156834.aspx

50 |

Page 51: Windows 7 Oportunidades De Desarrollo para ISV

INSERT PRESENTATION TITLE

Multitouch API

Permite aprovechar nueva generación de Hardware

-Interpretación de gestos para realizar operación del aplicativo

-(WM_GESTURE /WM_TOUCH)

-Gestos

- Permite una operación por gesto

-Manipulaciónes e Inertia

Multiples operaciones (resize & translate)

Touch API

51 |

WPF4.0 incluirá:•Manipulación Multi-touch, eventos de Inertia (Pan, Zoom, Rotate) sobre UIElement• •Eventos multi-touch events (Up, Move, Down) en UIElement, UIElement3D y ContentElement

Page 52: Windows 7 Oportunidades De Desarrollo para ISV

Resumen – Optimización de Aplicación para Windows 7

Compatibilidad con Windows 7

Optimización de Application para Windows 7

• Aprovecha barra de Comandos y “Jump Lists”

• Aprovecha Librarías

– Utiliza último CFD

• Optimiza consumo de engería

– Trigger-Start Services

– Power Management API

Crea software de última generación

• Utiliza Ribbon en el interfaz de usuario

• Utiliza APIs avanzandos:

– Multitouch, Sensor & Location, Extended Linguistic Services

Page 53: Windows 7 Oportunidades De Desarrollo para ISV

Recursos y Referencias

Windows 7 Developer Guide http://code.msdn.microsoft.com/Win7DeveloperGuideWindows API code pack for Microsoft .NET Frameworkhttp://code.msdn.microsoft.com/WindowsAPICodePack Comprehensive list of Windows 7 new features http://en.wikipedia.org/wiki/Features_new_to_Windows_7Samples and help on development for Windows 7 http://windowsteamblog.com/blogs/developers/default.aspx Everything on Windows 7http://windowsteamblog.com/blogs/Excellent Videos on Windows 7 developmenthttp://www.msdev.com/Directory/SeriesDescription.aspx?CourseId=130Making Your WPF Apps Power-Awarehttp://msdn.microsoft.com/en-us/magazine/cc163386.aspx

Page 54: Windows 7 Oportunidades De Desarrollo para ISV

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentations. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Back cover and contact information:

[email protected]

Buzón de servicio para Partners de [email protected]