Compartir a través de


Novedades de Windows 10 para desarrolladores, compilación 10240

La compilación 10240 de Windows 10 y el SDK actualizado proporcionan las herramientas, características y experiencias para crear aplicaciones extraordinarias para la Plataforma universal de Windows. Después de instalar las herramientas y el SDK en Windows 10, ya está listo para crear una nueva aplicación Universal Windows o explorar cómo puede usar su código de aplicación existente en Windows.

Aquí tienes un análisis detallado de las novedades en la versión 10240 de Windows 10 (también conocida como Windows 10 versión 1507).

Diseños adaptables

Característica Descripción
Varias vistas para contenido personalizado XAML proporciona nueva compatibilidad para definir vistas adaptadas (archivos .xaml) que comparten el mismo archivo de código. Esto facilita la creación y mantenimiento de diferentes vistas adaptadas a una familia de dispositivos o escenarios específicos. Si la aplicación tiene distintos modelos de contenido, diseño o navegación de la interfaz de usuario que son drásticamente diferentes para diferentes escenarios, cree varias vistas. Por ejemplo, puede usar una dinámica de con navegación optimizada para un uso de una mano en la aplicación móvil, pero usar un SplitView con un menú de navegación optimizado para el mouse en la aplicación de escritorio.
StateTriggers Con la nueva característica VisualState.StateTriggers , puede establecer condicionalmente propiedades basadas en el alto y ancho de la ventana o en función de un desencadenador personalizado. Anteriormente, tenía que controlar eventos de Window SizeChanged en el código y llamar a VisualStateManager.GotoState.
Configuradores Con la nueva sintaxis de VisualState.Setters, puede utilizar un marcado simplificado para definir los cambios de propiedad en VisualStateManager. Anteriormente, tenías que usar un Guión gráfico y crear animaciones para aplicar cambios de propiedad, como cambiar la orientación de un StackPanel de Horizontal a Vertical. En las aplicaciones universales de Windows, puedes usar esta sintaxis de Setter más sencilla: <Setter target="stackPanel1.Orientation" value="Vertical" />

Características XAML

Característica Descripción
Enlaces de datos compilados (x:Bind) En las aplicaciones universales de Windows, puede usar el nuevo mecanismo de enlace basado en el compilador habilitado por la propiedad x:Bind. Las vinculaciones basadas en compiladores están fuertemente tipadas y se procesan en tiempo de compilación, lo cual es más rápido y detecta errores en tiempo de compilación cuando los tipos de vinculación no coinciden. Y dado que los enlaces se traducen al código de aplicación compilado, ahora puede depurar enlaces mediante la ejecución paso a paso del código en Visual Studio para diagnosticar problemas de enlace específicos. También puede usar x:Bind para enlazar a un método, como el siguiente: <textblock text="{x:Bind Customer.Address.ToString()}" /> Para escenarios de enlace típicos, puede usar x:Bind en lugar de Binding y obtener un mejor rendimiento y capacidad de mantenimiento.
Representación incremental declarativa de listas (x:Phase) En las aplicaciones universales de Windows, el nuevo atributo x:Phase te permite realizar una representación incremental o por fases de listas con XAML en lugar de código. Al desplazar listas largas con elementos complejos, es posible que la aplicación no pueda representar elementos lo suficientemente rápido como para mantenerse al ritmo del desplazamiento, lo que produce una experiencia deficiente para los usuarios. La representación por fases permite especificar la prioridad de representación de elementos individuales en un elemento de lista, por lo que solo las partes más importantes del elemento de lista se representan en escenarios de movimiento panorámico rápido. Esto produce una experiencia de movimiento panorámico más fluida para el usuario.

En Windows 8.1, puedes controlar el evento ContainerContentChanging y escribir código para representar elementos de lista en fases. En las aplicaciones para UWP, puedes realizar la representación por fases mediante declaración mediante el atributo x:Phase. Se usa junto con enlaces compilados x:Bind, x:Phase permite especificar fácilmente una prioridad de representación para cada elemento enlazado de una plantilla de datos. Cuando se realiza el movimiento panorámico, el trabajo para representar elementos se segmenta por tiempo en función de la fase, lo que permite la representación incremental de elementos.
Carga diferida de elementos de interfaz de usuario (x:deferLoadstrategy) En las aplicaciones universales de Windows, la nueva directiva x:deferLoadstrategy permite especificar partes de la interfaz de usuario que se van a cargar con retraso, lo que mejora el rendimiento de inicio y reduce el uso de memoria de la aplicación. Por ejemplo, si la interfaz de usuario de la aplicación tiene un elemento para la validación de datos que solo se muestra cuando se escriben datos incorrectos, puede retrasar la carga de ese elemento hasta que sea necesario. A continuación, los objetos de elemento no se crean cuando se carga la página; en su lugar, solo se crean cuando se produce un error de datos y se necesitan agregar al árbol visual de la página.
SplitView El nuevo control SplitView le ofrece una manera de mostrar y ocultar fácilmente el contenido transitorio. Normalmente se usa para escenarios de navegación de nivel superior, como el "menú hamburguesa", donde el contenido de navegación está oculto y se desliza cuando es necesario como resultado de una acción del usuario.
RelativePanel RelativePanel es un nuevo panel de diseño que permite colocar y alinear objetos secundarios entre sí o con el panel primario. Por ejemplo, puede especificar que algún texto siempre debe colocarse en el lado izquierdo del panel y un botón siempre debe alinearse debajo del texto. Use ReleativePanel al crear interfaces de usuario que no tengan un patrón lineal claro que llamaría para usar un stackPanel de o Grid.
Vista del Calendario El control CalendarView facilita la visualización y selección de fechas y intervalos de fechas mediante una vista personalizada basada en meses. CalendarView admite características como las fechas mínimas, máximas y negras para limitar las fechas que se pueden seleccionar. También puede establecer barras de densidad personalizadas que se pueden usar para mostrar la "totalidad" general de la programación en un día determinado.
Selector de Fecha del Calendario CalendarDatePicker es un control desplegable que está optimizado para seleccionar una sola fecha de calendarView, donde la información contextual como el día de la semana o la totalidad del calendario es importante. Es similar al control DatePicker , pero DatePicker está optimizado para elegir una fecha conocida, como una fecha de nacimiento.
MediaTransportControls La nueva clase MediaTransportControls facilita la personalización de los controles de transporte de un elemento multimedia . En Windows 8.1, puedes habilitar los controles de transporte integrados de MediaElement o crear tus propios controles de transporte que denominan métodos MediaElement. Ahora puedes usar la funcionalidad integrada de MediaTransportControls y personalizar fácilmente la apariencia para adaptarte a tu aplicación.
Notificaciones de cambio de propiedad En las aplicaciones universales de Windows, puedes monitorizar los cambios en las propiedades de los Objetos de Dependencia, incluso para las propiedades que no tienen eventos de cambio correspondientes. La notificación funciona como un evento, pero realmente se expone como un callback. La callback recibe un argumento del remitente, como un controlador de eventos, pero no recibe un argumento de evento. En su lugar, solo se pasa el identificador de propiedad para indicar qué propiedad. Con esta información, la aplicación puede definir un único controlador para varias notificaciones de propiedades. Para obtener más información, consulta RegisterPropertyChangedCallback y UnregisterPropertyChangedCallback.
Mapas La clase MapControl se ha actualizado para proporcionar imágenes 3D aéreas y vistas de nivel de calle. Estas nuevas características y la funcionalidad de mapeo anterior ahora están disponibles para las aplicaciones Universales de Windows. Agregue la asignación a la aplicación con las SIGUIENTES API: Windows.UI.Xaml.Controls.Maps y Windows.Services.Maps. Para empezar a usar estas API en una aplicación universal de Windows hoy mismo, solicite una clave desde el Centro para desarrolladores de Mapas de Bing. Para obtener más información, consulta Autenticación de una aplicación de Maps. También es nuevo para Windows 10, los usuarios de PC y teléfono pueden descargar mapas sin conexión desde la aplicación de Configuración. Cuando está disponible, mapControl usa mapas sin conexión para mostrar mapas cuando no hay acceso a Internet disponible.
Asignación de botones de entrada La clase Windows.UI.Xaml.Input.KeyEventArgs tiene una nueva propiedad OriginalKey que, junto con una actualización correspondiente de Windows.System.VirtualKey, permite obtener el botón de entrada original no mapeado asociado al evento de entrada del teclado.
Entintar Ahora es más sencillo utilizar la robusta funcionalidad de inking en aplicaciones de Windows Runtime con C++, C# o Visual Basic, gracias al control InkCanvas y a las clases subyacentes InkPresenter. El control InkCanvas define un área de superposición para dibujar y representar trazos de lápiz. La funcionalidad de este control (entrada, procesamiento y representación) procede de las clases InkPresenter, InkStroke, InkRecognizersy InkSynchronizer. Importante: Estas clases no se admiten en aplicaciones de Windows mediante JavaScript.

Características XAML actualizadas

Característica Descripción
Actualizaciones de CommandBar y AppBar Los controles CommandBar y AppBar se han actualizado para tener una API, un comportamiento y una experiencia de usuario coherente en aplicaciones UWP en todas las familias de dispositivos.

El control CommandBar para aplicaciones universales de Windows se ha mejorado para proporcionar un superconjunto de funcionalidad de AppBar y una mayor flexibilidad en cómo se puede usar en la aplicación. Debes usar CommandBar para todas las nuevas aplicaciones universales de Windows en Windows 10. En una CommandBar en Windows 8.1, solo se podían usar controles que implementan ICommandBarElement, como AppBarButton. En las aplicaciones universales de Windows, ahora puedes colocar contenido personalizado en commandBar además de AppBarButtons.

El control AppBar se ha actualizado para permitirle mover más fácilmente las aplicaciones de Windows 8.1 que usan AppBar a la Plataforma universal de Windows. AppBar se diseñó para usarse con aplicaciones de pantalla completa y para invocarse mediante gestos perimetrales. Actualizaciones de la cuenta de control para problemas como aplicaciones en ventana y la falta de gestos de borde en Windows 10.

El appBar.ClosedDisplayMode oculto, anteriormente solo en Windows Phone, ahora se admite en todas las familias de dispositivos, lo que le permite elegir entre distintos niveles de sugerencias para los comandos. AppBar muestra una sugerencia mínima de forma predeterminada para proporcionar coherencia al actualizar las aplicaciones de Windows 8.1 a aplicaciones universales de Windows, donde ya no se puede confiar en la compatibilidad con gestos perimetrales en la plataforma.
Actualizaciones de GridView Antes de Windows 10, la orientación de diseño de GridView predeterminada era horizontal en Windows y vertical en Windows Phone. En las aplicaciones para UWP, GridView usa un diseño vertical de forma predeterminada para todas las familias de dispositivos para asegurarte de que tienes una experiencia predeterminada coherente.
Propiedad AreStickyGroupHeadersEnabled Cuando se muestran datos agrupados en un ListView o GridView, los encabezados de grupo permanecen visibles cuando se desplaza la lista hacia abajo. Esto es importante en grandes conjuntos de datos en los que el encabezado proporciona contexto para los datos que está viendo el usuario. Sin embargo, cuando solo hay algunos elementos en cada grupo, es posible que desee que los encabezados se desplacen fuera de la pantalla junto con los elementos. Puede establecer la propiedad AreStickyGroupHeadersEnabled en ItemsStackPanel y ItemsWrapGrid para controlar este comportamiento.
Método GroupHeaderContainerFromItemContainer Cuando se muestran datos agrupados en un ItemsControl, puede llamar al método GroupHeaderContainerFromItemContainer para obtener una referencia al encabezado padre del grupo. Por ejemplo, si un usuario elimina el último elemento de un grupo, puede obtener una referencia al encabezado del grupo y quitar tanto el elemento como el encabezado del grupo juntos.
Evento ChoosingGroupHeaderContainer El nuevo evento ChoosingGroupHeaderContainer en ListViewBase le permite establecer el estado en los encabezados de grupo de un control ListView o GridView. Por ejemplo, puede gestionar este evento para establecer la propiedad AutomationProperties.Nameproperty en el encabezado de grupo para representar al grupo en tecnologías asistivas.
Evento ChoosingItemContainer El nuevo evento ChoosingItemContainer en ListViewBase proporciona un mayor control sobre la virtualización de la interfaz de usuario en un ListView o GridView. Utilice este evento junto con el evento ContainerContentChanging para mantener su propia cola de contenedores reciclados de los cuales hacer uso según sea necesario. Por ejemplo, si el origen de datos se ha restablecido debido al filtrado, puede emparejar rápidamente un conjunto ya creado de objetos visuales (ItemContainers) con los datos para lograr el mejor rendimiento.
Enumerar la virtualización de desplazamiento Los controles ListView y GridView tienen un nuevo evento ListViewBase.ChoosingItemContainer que mejora el rendimiento del control cuando se produce un cambio en la colección de datos. En lugar de realizar un restablecimiento completo de la lista, que reproduce la animación de entrada, el sistema ahora mantiene los elementos actualmente en la vista, junto con el estado de foco y selección; los elementos nuevos y eliminados en la ventana de visualización se animan con fluidez al entrar y salir. Después de un cambio en la recopilación de datos en la que los contenedores no se destruyen, una aplicación puede asociar rápidamente cualquier elemento "viejo" con su contenedor anterior y omitir el procesamiento posterior de los métodos de sobrescritura del ciclo de vida del contenedor. Solo se procesan los elementos "nuevos" y se asocian a contenedores reciclados o nuevos.
Método SelectRange y propiedad SelectedRanges En las aplicaciones universales de Windows, los controles ListView y GridView ahora permiten seleccionar elementos en términos de intervalos de índices de elementos en lugar de referencias a objetos de elemento. Se trata de una manera más eficaz de describir la selección de elementos porque no es necesario crear objetos de elemento para cada elemento seleccionado. Para obtener más información, consulta ListViewBase.SelectedRanges, ListViewBase.SelectRange y ListViewBase.DeselectRange.
Nuevas API de ListViewItemPresenter ListView y GridView usan presentadores de elementos para proporcionar los objetos visuales predeterminados para la selección y el enfoque. En las aplicaciones para UWP, ListViewItemPresenter y GridViewItemPresenter tienen nuevas propiedades que te permiten personalizar aún más los objetos visuales de los elementos de lista. Las nuevas propiedades son CheckBoxBrush, CheckMode, FocusSecondaryBorderBrush, PointerOverForeground, PressedBackground y SelectedPressedBackground.
Actualizaciones de SemanticZoom El control SemanticZoom ahora tiene un comportamiento coherente para las aplicaciones para UWP en todas las familias de dispositivos. La acción predeterminada para cambiar entre la vista ampliada y la vista alejada es pulsar en un encabezado de grupo en la vista ampliada. Esto es lo mismo que el comportamiento en Windows Phone 8.1, pero es un cambio con respecto a Windows 8.1, que usaba el gesto de pellizcar para hacer zoom. Para cambiar las vistas mediante pellizcar para hacer zoom, establezca ScrollViewer.ZoomMode="Enabled" en el ScrollViewer interno de SemanticZoom.

En el caso de las aplicaciones universales de Windows, la vista alejada reemplaza la vista ampliada y tiene el mismo tamaño que la vista que reemplazó. Esto es lo mismo que el comportamiento en Windows 8.1, pero es un cambio de Windows Phone 8.1, donde la vista alejada tomó el tamaño completo de la pantalla y se presentó encima del resto de contenido.
Actualizaciones de DatePicker y TimePicker Los controles DatePicker y TimePicker ahora tienen una implementación coherente para las aplicaciones universales de Windows en todas las familias de dispositivos. También tienen un nuevo aspecto para Windows 10. La sección emergente del control ahora utiliza los controles DatePickerFlyout y TimePickerFlyout en todos los dispositivos. Esto es lo mismo que el comportamiento en Windows Phone 8.1, pero es un cambio de Windows 8.1, que usó controles comboBox. El uso de los controles flotantes permite crear fácilmente selectores de fecha y hora personalizados.
Nuevas APIs ScrollViewer ScrollViewer tiene nuevos eventos DirectManipulationStarted y DirectManipulationCompleted para notificar a tu aplicación cuándo se inicia y se detiene el movimiento panorámico táctil. Puede controlar estos eventos para coordinar la interfaz de usuario con estas acciones de usuario.
Actualizaciones de MenuFlyout En las aplicaciones universales de Windows, hay nuevas API que permiten crear mejores menús contextuales más fácilmente. El nuevo método MenuFlyout.ShowAt le permite especificar dónde desea que aparezca el control flotante en relación con otro elemento. (Y menuFlyout puede incluso superponerse a los límites de la ventana de la aplicación). Use la nueva clase MenuFlyoutSubItem para crear menús en cascada.
Nuevas propiedades de borde para ContentPresenter, Grid y StackPanel Los controles de contenedor comunes tienen nuevas propiedades de borde que te permiten dibujar un borde alrededor de ellos sin agregar un elemento Border adicional a tu XAML. ContentPresenter, Grid y StackPanel tienen estas nuevas propiedades: BorderBrush, BorderThickness, CornerRadius y Padding.
Nuevas API de texto en ContentPresenter ContentPresenter tiene nuevas API que proporcionan más control sobre la visualización de texto: LineHeight, LineStackingStrategy, MaxLines y TextWrapping.
Visuales de enfoque del sistema Los objetos visuales de foco para los controles XAML ahora se crean mediante el sistema, en lugar de declararse como elementos XAML en la plantilla de control. Los objetos visuales de foco no suelen ser necesarios en dispositivos móviles y permiten que el sistema los cree y administre según sea necesario mejora el rendimiento de la aplicación. Si necesita un mayor control sobre los objetos visuales de foco, puede invalidar el comportamiento del sistema y proporcionar una plantilla de control personalizada que defina los objetos visuales de foco. Consulta UseSystemFocusVisuals e IsTemplateFocusTarget para obtener más información.
ModoDeRevelaciónDeContraseña.PasswordBox En las aplicaciones universales de Windows, la propiedad PasswordRevealMode reemplaza la propiedad IsPasswordRevealButtonEnabled para proporcionar un comportamiento coherente entre las familias de dispositivos. Precaución: Antes de Windows 10, el botón mostrar contraseña no se muestra de forma predeterminada; en las aplicaciones universales de Windows se muestra de forma predeterminada. Si la seguridad de la aplicación requiere que la contraseña esté siempre oculta, asegúrese de establecer PasswordRevealMode en Hidden.
Control.IsTextScaleFactorEnabled La propiedad IsTextScaleFactorEnabled que estaba disponible en Windows Phone 8.1 ahora está disponible para aplicaciones universales de Windows en todas las familias de dispositivos.
Caja de Sugerencias Automáticas El control AutoSuggestBox de de Windows Phone 8.1 ahora está disponible para las aplicaciones universales de Windows en todas las familias de dispositivos, y debe usarla en lugar de SearchBox. AutoSuggestBox proporciona sugerencias a medida que el usuario escribe y funciona bien con varios tipos de entrada, como los editores táctiles, teclado y métodos de entrada. También cuenta con algunos nuevos elementos que le permiten funcionar mejor como un cuadro de búsqueda: la propiedad QueryIcon y el evento QuerySubmitted.
ContentDialog El control ContentDialog de Windows Phone 8.1 ahora está disponible para aplicaciones universales de Windows en todos los tipos de dispositivos. ContentDialog permite mostrar un cuadro de diálogo modal personalizable que funciona perfectamente en todo el espectro de dispositivos.
Pivote El control Pivot de Windows Phone 8.1 ahora está disponible para Aplicaciones Universales de Windows en todas las familias de dispositivos. Ahora puede usar el mismo control Pivot en su aplicación para dispositivos móviles y de escritorio. Pivot proporciona un comportamiento adaptable basado en el tamaño de pantalla y el tipo de entrada. Puede estilizar un control de pivote para proporcionar un comportamiento similar al de las pestañas, con diferentes vistas de información en cada elemento de pivote.

Mensaje de texto

Característica Descripción
API de texto básico de Windows El nuevo espacio de nombres Windows.UI.Text.Core incluye un sistema cliente-servidor que centraliza el procesamiento de la entrada de teclado en un solo servidor. Puede usarlo para manipular el búfer de edición del control de entrada de texto personalizado. El servidor de entrada de texto garantiza que el contenido del control de entrada de texto y el contenido de su propio búfer de edición estén siempre sincronizados, a través de un canal de comunicación asincrónico entre la aplicación y el servidor.
Iconos vectoriales El elemento Glyphs tiene las nuevas propiedades IsColorFontEnabled y ColorFontPalleteIndex para admitir fuentes de color; ahora puede usar un archivo de fuente para representar iconos basados en fuentes. Cuando se usa ColorFontPalleteIndex para cambiar la paleta de colores, se puede representar un solo icono con diferentes conjuntos de colores; por ejemplo, para mostrar una versión habilitada y deshabilitada del icono.
Eventos de ventana del Editor de métodos de entrada A veces, los usuarios escriben texto a través de un Editor de métodos de entrada que se muestra en una ventana justo debajo de un cuadro de entrada de texto (normalmente para idiomas asiáticos orientales). Puedes usar el evento CandidateWindowBoundsChanged y la propiedad DesiredCandidateWindowAlignment en TextBox y RichEditBox para que la interfaz de usuario de la aplicación funcione mejor con la ventana IME.
Eventos de composición de texto TextBox y RichEditBox tienen nuevos eventos para informar a la aplicación cuando el texto se compone mediante un Editor de métodos de entrada: TextCompositionStarted, TextCompositionEnded y TextCompositionChanged. Puedes controlar estos eventos para coordinar el código de la aplicación con el proceso de composición de texto IME. Por ejemplo, podría implementar la funcionalidad de autocompletado en línea para los idiomas del este asiático.
Control mejorado del texto bidireccional Los controles de texto XAML tienen una nueva API para mejorar el control del texto bidireccional, lo que da lugar a una mejor alineación de texto y direccionalidad de párrafo en una variedad de idiomas de entrada. El valor predeterminado de la propiedad TextReadingOrder se ha cambiado a DetectFromContent, por lo que la compatibilidad con la detección del orden de lectura está habilitada de forma predeterminada. La propiedad TextReadingOrder también se ha agregado a PasswordBox, RichEditBox y TextBox. Puede establecer la propiedad TextAlignment en los controles de texto en el nuevo valor DetectFromContent para optar por tener la alineación detectada automáticamente desde el contenido.
Representación de texto En Windows 10, el texto de las aplicaciones XAML ahora se representa, en la mayoría de las situaciones, a casi dos veces la velocidad de Windows 8.1. En la mayoría de los casos, las aplicaciones se beneficiarán de esta mejora sin cambios. Además de una representación más rápida, estas mejoras también reducen el consumo típico de memoria de las aplicaciones XAML en 5%.

Modelo de aplicación

Característica Descripción
Cortana Amplíe la funcionalidad básica de Cortana con comandos de voz que inician y ejecutan una sola acción en una aplicación externa. Al integrar la funcionalidad básica de la aplicación y proporcionar un punto de entrada central para que el usuario realice la mayoría de las tareas sin abrir la aplicación directamente, Cortana puede actuar como un enlace entre la aplicación y el usuario. En muchos casos, esto puede ahorrar mucho tiempo y esfuerzo al usuario. Aprenda a integrar su aplicación en el lienzo de Cortana. Si necesita ideas, puede consultar las recomendaciones de diseño y las directrices de experiencia de usuario específicas de Cortana en Conceptos básicos de diseño para aplicaciones universales de Windows.
Explorador de archivos Los nuevos métodos Windows.System.Launcher.LaunchFolderAsync permiten iniciar el Explorador de archivos y muestra el contenido de una carpeta que especifique.
Almacenamiento compartido La nueva clase Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager y sus métodos permiten compartir un archivo con otra aplicación pasando un token de uso compartido al iniciar la otra aplicación mediante la activación de URI. La aplicación de destino canjea el token para obtener el archivo compartido por la aplicación de origen.
Configuración Muestra páginas de configuración integradas mediante el protocolo ms-settings con el método LaunchUriAsync . Por ejemplo, el código siguiente muestra la página de configuración de Wi-Fi: bool result = await Launcher.LaunchUriAsync(new Uri("ms-settings://network/wifi"));

Para obtener una lista de las páginas de configuración que puede mostrar, consulte Cómo mostrar páginas de configuración integradas mediante el protocolo ms-settings.
Comunicación de la aplicación a la aplicación Las nuevas API de comunicación de aplicaciones a aplicaciones en Windows 10 permiten que las aplicaciones de Windows (así como las aplicaciones web de Windows) se inicien entre sí e intercambien datos y archivos. Con estas nuevas API, las tareas complejas que habrían requerido al usuario usar varias aplicaciones ahora se pueden controlar sin problemas. Por ejemplo, tu aplicación podría iniciar una aplicación de redes sociales para elegir un contacto o iniciar una aplicación de pago para completar un proceso de pago.
Servicios de aplicaciones Un servicio de aplicaciones es una manera de que una aplicación proporcione servicios a otras aplicaciones de Windows 10. Un servicio de aplicaciones adopta la forma de una tarea en segundo plano. Las aplicaciones en primer plano pueden llamar a un servicio de aplicaciones en otra aplicación para realizar tareas en segundo plano. Para obtener información de referencia sobre la API de App Service, consulte Windows.ApplicationModel.AppService.
Manifiesto del paquete de aplicación Las actualizaciones del esquema de manifiesto del paquete referencia para Windows 10 incluyen elementos que se han agregado, quitado y cambiado. Consulte Jerarquía de elementos para obtener información de referencia sobre todos los elementos, atributos y tipos del esquema.

Dispositivos

Característica Descripción
Microsoft Surface Hub Microsoft Surface Hub es un potente dispositivo de colaboración en equipo y una plataforma de pantalla grande para aplicaciones universales de Windows que se ejecutan de forma nativa desde Surface Hub o desde el dispositivo conectado. Cree sus propias aplicaciones, diseñadas específicamente para su negocio, que aprovechen la gran pantalla, la entrada táctil y de entrada de lápiz, y un amplio hardware incorporado, como cámaras y sensores.

Echa un vistazo a las recomendaciones de diseño y las directrices de experiencia del usuario específicas de Surface Hub en Conceptos básicos de diseño para aplicaciones universales de Windows. Estos documentos explican técnicas de diseño dinámico para aplicaciones universales de Windows.

Para obtener más información sobre cómo admitir aplicaciones compartidas comunes, consulte SharedModeSettings. Para obtener información detallada sobre la entrada de tinta y la compatibilidad con la entrada manuscrita de varios puntos en el nuevo control InkCanvas, consulta Windows.UI.Input.Inking y Windows.UI.Input.Inking.Core. Para controlar la entrada del sensor, consulte Integración de dispositivos, impresoras y sensores.
Ubicación Windows 10 presenta un nuevo método para solicitar al usuario permiso para acceder a su ubicación , RequestAccessAsync. El usuario establece la privacidad de sus datos de ubicación con los ajustes de privacidad de ubicación en la aplicación Configuración . La aplicación solo puede acceder a la ubicación del usuario cuando: Ubicación para este dispositivo está activada (no se aplica a Windows 10 para teléfonos), la configuración de servicios de ubicación "Ubicación" está activada, y en Elige aplicaciones que pueden usar tu ubicación, la configuración de tu aplicación está en activado.

Es importante llamar a RequestAccessAsync antes de acceder a la ubicación del usuario. En ese momento, su aplicación debe estar en primer plano y se debe llamar a RequestAccessAsync desde el subproceso de la interfaz de usuario. Hasta que el usuario conceda permiso a la aplicación a su ubicación, la aplicación no puede acceder a los datos de ubicación.
AllJoyn El espacio de nombres Windows.Devices.AllJoyn de Windows Runtime presenta la implementación de Microsoft del marco de software y los servicios de AllJoyn de código abierto. Estas API permiten que la aplicación de dispositivo universal de Windows participe con otros dispositivos en escenarios de Internet de las cosas (IoT) controlados por AllJoyn. Para obtener más información sobre las API de C de AllJoyn, descargue la documentación de The AllSeen Alliance. Use la herramienta AllJoynCodeGen incluida en esta versión para generar un componente de Windows que pueda usar para habilitar escenarios AllJoyn en la aplicación de dispositivo.

Nota: Windows 10 IoT Core ya está disponible para una nueva clase de dispositivos pequeños, lo que le permite crear dispositivos "Internet de las cosas" (IoT) con Windows y Visual Studio. Obtenga más información sobre Windows IoT en el Centro de desarrollo de Windows.
APIs de impresión en móviles (XAML) Hay un único conjunto unificado de API que te permiten imprimir desde tus aplicaciones para UWP basadas en XAML en familias de dispositivos, incluidos los dispositivos móviles. Ahora puede agregar impresión a su app móvil mediante API conocidas relacionadas con la impresión desde las áreas de nombres Windows.Graphics.Printing y Windows.UI.Xaml.Printing.
Batería Las API de batería del espacio de nombres Windows.Devices.Power permiten a la aplicación obtener más información sobre las baterías conectadas al dispositivo que ejecuta la aplicación. Cree un objeto Battery para representar un controlador de batería individual o un agregado de todos los controladores de batería (cuando se crean mediante FromIdAsync o AggregateBattery, respectivamente). Utilice el método GetReport para devolver un objeto BatteryReport que indica la carga, la capacidad y el estado de las baterías correspondientes.
Dispositivos MIDI El nuevo espacio de nombres Windows.Devices.Midi permite crear aplicaciones A=que pueden comunicarse con dispositivos MIDI externos, aplicaciones y dispositivos externos que se comunican directamente con el sintetizador de software MIDI de Microsoft GS y escenarios en los que varios clientes acceden simultáneamente a un único puerto MIDI.
Compatibilidad con sensores personalizados El espacio de nombres Windows.Devices.Sensors.Custom permite a los desarrolladores de hardware definir nuevos tipos de sensor personalizados, como un sensor CO2.
Emulación de tarjeta basada en host (HCE) La emulación de tarjetas host le permite implementar servicios de emulación de tarjetas NFC hospedados en el sistema operativo y seguir pudiendo comunicarse con el terminal de lector externo a través de la radio NFC. Para desencadenar una tarea en segundo plano para emular una tarjeta inteligente a través de NFC, use la clase SmartCardTrigger . El valor EmulatorHostApplicationActivated en la enumeración SmartCardTriggerType permite a tu aplicación saber que se ha producido un evento HCE.

Gráficos

Característica Descripción
DirectX DirectX 12 en Windows 10 presenta la próxima versión de Microsoft Direct3D, la API de gráficos 3D en el corazón de DirectX. Los gráficos de Direct3D 12 permiten la eficacia y el rendimiento de una API de bajo nivel, similar a la consola. Direct3D 12 es más rápido y eficaz que nunca. Permite escenas más enriquecidas, más objetos, efectos más complejos y un mejor uso del hardware gráfico moderno.
SoftwareBitmapSource En las aplicaciones universales de Windows, puedes usar el nuevo tipo SoftwareBitmapSource como origen de imagen XAML. Esto te permite pasar imágenes sin procesamiento de codificación al marco XAML para que se muestren inmediatamente en la pantalla, evitando la descodificación de imágenes por el marco XAML. Puedes lograr una representación de imágenes mucho más rápida, como la representación de fotos con retraso bajo directamente desde la cámara, usando descodificadores de imágenes personalizados, capturando fotogramas de superficies de DirectX o incluso creando imágenes en memoria desde cero y representarlas todas directamente en XAML con baja latencia y sobrecarga de memoria baja.
Cámara de perspectiva En las aplicaciones universales de Windows, XAML cuenta con una nueva API Transform3D que te permite aplicar transformaciones de perspectiva a un árbol (o escena) XAML, transformando así todos los elementos secundarios XAML conforme a esa única transformación de escena (o cámara). Puede hacerlo anteriormente con MatrixTransform y matemáticas complejas, pero Transform3D simplifica considerablemente este efecto y también permite animar el efecto. Para obtener más información, consulte la propiedad UIElement.Transform3D, Transform3D, CompositeTransform3Dy PerspectiveTransform3D.

Medios de comunicación

Característica Descripción
HTTP Live Streaming Puede usar la nueva clase AdaptiveMediaSource para agregar funcionalidades de streaming de vídeo adaptables a las aplicaciones. El objeto se inicializa apuntando a un archivo de manifiesto para streaming. Los formatos de manifiesto admitidos incluyen Http Live Streaming (HLS) y Streaming adaptable dinámico a través de HTTP (DASH). Una vez enlazado el objeto a un elemento multimedia XAML, comienza la reproducción adaptable. Las propiedades de la secuencia, como las velocidades de bits disponibles, mínimas y máximas, se pueden consultar y establecer cuando corresponda.
Compatibilidad del procesador de transcodificación de vídeo (XVP) de Media Foundation para Transformaciones de Media Foundation (MFT) Las aplicaciones de Windows que usan transformaciones de Media Foundation (MFT) ahora pueden usar el procesador de vídeo transcodificador de Media Foundation (XVP) para convertir, escalar y transformar datos de vídeo sin procesar: el nuevo atributo MF_XVP_CALLER_ALLOCATES_OUTPUT permite que la salida se convierta en texturas asignadas por el autor de la llamada incluso en el modo aceleración de vídeo de Microsoft DirectX (DXVA). La nueva interfaz IMFVideoProcessorControl2 permite a la aplicación habilitar efectos de hardware, consultar los efectos de hardware admitidos e invalidar la operación de rotación realizada por el procesador de vídeo.
Transcodificación La nueva API MediaProcessingTrigger permite a la aplicación realizar la transcodificación multimedia en una tarea en segundo plano, por lo que las operaciones de transcodificación pueden continuar incluso cuando se ha terminado la aplicación en primer plano.
Eventos de fallo de multimedia de MediaElement En las aplicaciones universales de Windows, MediaElement reproducirá contenido que contenga varias secuencias, incluso si hay un error de descodificación de una de las secuencias, siempre y cuando el contenido multimedia contenga al menos una secuencia válida. Por ejemplo, si se produce un error en la secuencia de vídeo de un contenido que contiene un audio y una secuencia de vídeo, MediaElement seguirá reproduciendo la secuencia de audio. El PartialMediaFailureDetected le notifica que no se pudo descodificar una de las secuencias dentro de una secuencia. También le permite saber qué tipo de secuencia ha fallado para que pueda reflejar esa información en la interfaz de usuario. Si se produce un error en todas las secuencias dentro de una secuencia multimedia, se genera el evento MediaFailed.
Compatibilidad con streaming de vídeo adaptable con MediaElement MediaElement tiene el nuevo método SetPlaybackSource para admitir el streaming de vídeo adaptable. Utilice este método para establecer el origen multimedia en el AdaptiveMediaSource.
Transmisión con MediaElement e Imagen Los controles MediaElement e Image tienen el nuevo método GetAsCastingSource . Puede usar este método para enviar contenido mediante programación desde cualquier elemento multimedia o de imagen a una gama más amplia de dispositivos remotos, como Miracast, Bluetooth y DLNA. Esta funcionalidad se habilita automáticamente al establecer AreTransportControlsEnabled en true en un MediaElement.
Controles de transporte multimedia para aplicaciones de escritorio La interfaz ISystemMediaTransportControls y las API relacionadas permiten a las aplicaciones de escritorio interactuar con los controles de transporte multimedia del sistema integrados. Esto incluye responder a las interacciones del usuario con los botones de control de transporte y actualizar la presentación de los controles de transporte para mostrar metadatos sobre la reproducción de contenido multimedia actualmente.
Codificación y descodificación JPEG de acceso aleatorio Nuevos métodos WIC IWICJpegFrameEncode e IWICJpegFrameDecode permiten la codificación y descodificación de imágenes JPEG. Ahora también puede habilitar la indexación de los datos de imagen, lo que proporciona acceso aleatorio eficaz a imágenes grandes a costa de una superficie de memoria mayor.
Superposiciones para composiciones multimedia Las nuevas API MediaOverlay y MediaOverlayLayer facilitan la adición de varias capas de contenido multimedia estático o dinámico a una composición multimedia. La opacidad, la posición y el tiempo se pueden ajustar para cada capa, e incluso puede implementar su propio compositor personalizado para las capas de entrada.
Nuevo marco de efectos El espacio de nombres Windows.Media.Effects proporciona un marco sencillo e intuitivo para agregar efectos a secuencias de audio y vídeo. El marco incluye interfaces básicas que puede implementar para crear efectos de audio y vídeo personalizados e insertarlos en la canalización multimedia.

Redes

Característica Descripción
Enchufes Las actualizaciones de socket incluyen:

Agente de sockets: El agente de sockets puede establecer y cerrar conexiones de socket en nombre de una aplicación en cualquier estado del ciclo de vida de la aplicación. Esto hace que las aplicaciones y los servicios que proporcionan sean más reconocibles. Por ejemplo, mediante el agente de socket, un servicio Win32 todavía puede aceptar conexiones de socket entrantes incluso cuando no se está ejecutando.

Mejoras de rendimiento: El rendimiento del socket se ha optimizado para las aplicaciones que usan el espacio de nombres Windows.Networking.Sockets.
Tareas de postprocesamiento de transferencia en segundo plano Las nuevas API del espacio de nombres Windows.Networking.BackgroundTransfer permiten registrar grupos de tareas posteriores al procesamiento. Por lo tanto, la aplicación puede actuar sobre el éxito o el error de las transferencias en segundo plano inmediatamente, incluso si no está en primer plano, en lugar de esperar la próxima vez que el usuario reanude la aplicación.
Compatibilidad con Bluetooth para anuncios Con el espacio de nombres Windows.Devices.Bluetooth.Advertisement, las aplicaciones pueden enviar, recibir y filtrar anuncios de Bluetooth LE.
Actualización directa de la API Wi-Fi El agente de dispositivos se actualiza para habilitar el emparejamiento con dispositivos sin salir de la aplicación. Las adiciones al espacio de nombres Windows.Devices.WiFiDirect también permiten que un dispositivo se pueda detectar en otros dispositivos y permita que escuche las notificaciones de conexión entrantes.

Nota: En esta versión, las mejoras de características de Wi-Fi Direct no están integradas en la interfaz de usuario y solo admiten el emparejamiento mediante botón pulsador. Además, esta versión solo admite una conexión activa.
Mejoras de compatibilidad con JSON El espacio de nombres Windows.Data.Json ahora ofrece un mejor soporte para las definiciones estándar existentes y mejora la experiencia del desarrollador al convertir objetos JSON durante las sesiones de depuración.

Seguridad

Característica Descripción
Cifrado ECC Las nuevas API del espacio de nombres Windows.Security.Cryptography proporcionan compatibilidad con criptografía de curva elíptica (ECC), una implementación de criptografía de clave pública basada en curvas elípticas sobre campos finitos. ECC es matemáticamente más complejo que RSA, proporciona tamaños de clave más pequeños, reduce el consumo de memoria y mejora el rendimiento. Ofrece servicios de Microsoft y clientes una alternativa a las claves RSA y a los parámetros de curva aprobados por NIST.
Microsoft Passport Microsoft Passport es un método alternativo de autenticación que reemplaza las contraseñas por criptografía asimétrica y un gesto. Las clases del espacio de nombres Credentials, como KeyCredentialManger, facilitan a los desarrolladores la creación de aplicaciones mediante Microsoft Passport sin la complejidad de la criptografía o la biometría.
Microsoft Passport for Work Microsoft Passport for Work es un método alternativo para iniciar sesión en Windows con su cuenta de Azure Active Directory que no usa contraseñas, tarjetas inteligentes y tarjetas inteligentes virtuales. Puede elegir si desea deshabilitar o habilitar esta configuración de directiva.
Agente de tokens Token Broker es un nuevo marco de autenticación que facilita a las aplicaciones conectarse a proveedores de identidades en línea (como Facebook). Características como el nombre de usuario de la cuenta y la administración de contraseñas y una interfaz de usuario simplificada proporcionan una experiencia de autenticación mejorada para los usuarios.

Servicios del sistema

Característica Descripción
Poder La aplicación de escritorio de Windows ahora puede recibir una notificación cuando se activa o se desconecta el ahorro de batería. Al responder a las condiciones de energía cambiantes, la aplicación tiene la oportunidad de ayudar a ampliar la duración de la batería.

GUID_POWER_SAVING_STATUS: use este nuevo GUID con la función PowerSettingRegisterNotification para recibir una notificación cuando se activa o desactiva el ahorro de batería.

SYSTEM_POWER_STATUS: esta estructura se ha actualizado para admitir el ahorro de batería. El cuarto miembro, SystemStatusFlag (anteriormente denominado Reserved1, ahora indica si el ahorro de batería está activado o no. Utilice la función GetSystemPowerStatus para recuperar un puntero a esta estructura.
Versión Puede usar las funciones del Asistente de Versión de para determinar la versión del sistema operativo. Para Windows 10, estas funciones auxiliares incluyen una nueva función, IsWindows10OrGreater. Debe usar las funciones auxiliares en lugar de las funciones desusadas GetVersionEx y GetVersion cuando desee determinar la versión del sistema. Para obtener más información sobre cómo obtener la versión del sistema, consulte Obtención de la versión del sistema.

Si usa la función obsoleta GetVersionEx o GetVersion para obtener información de la versión en una estructura OSVERSIONINFOEX o OSVERSIONINFO, tenga en cuenta que el número de versión que contienen estas estructuras aumenta de 6.3 para Windows 8.1 y Windows Server 2012 R2 a 10.0 para Windows 10. Para obtener más información sobre los números de versión del sistema operativo, consulte Versión del sistema operativo.

También necesita tener como destino específicamente Windows 8.1 o Windows 10 en su aplicación para obtener la información de la versión correcta de estas versiones con las funciones GetVersionEx o GetVersion. Para obtener información sobre cómo dirigir su aplicación a estas versiones de Windows, consulte Selección del destino de su aplicación para Windows.
Información del usuario Las nuevas API del espacio de nombres Windows.System facilitan el acceso a información sobre un usuario, como su nombre de usuario y su imagen de cuenta. También proporciona la capacidad de responder a eventos de usuario, como el inicio de sesión y el cierre de sesión.
Administración y generación de perfiles de memoria La compatibilidad con la API de generación de perfiles de memoria en Windows.System se ha ampliado a todas las plataformas y su funcionalidad general se ha mejorado con nuevas clases y funciones.

Almacenamiento

Característica Descripción
API de búsqueda de archivos disponibles para Windows Phone Como publicador de aplicaciones, puede registrar la aplicación para compartir una carpeta de almacenamiento con otras aplicaciones que publique agregando extensiones al manifiesto de la aplicación. A continuación, llame al método Windows.Storage.ApplicationData.GetPublisherCacheFolder para obtener la ubicación de almacenamiento compartida. El modelo de seguridad seguro de las aplicaciones de Windows Runtime normalmente impide que las aplicaciones compartan datos entre sí. Pero puede ser útil para que las aplicaciones del mismo publicador compartan archivos y configuraciones por usuario.

herramientas

Característica Descripción
Árbol visual dinámico en Visual Studio Visual Studio tiene una nueva característica De árbol visual dinámico. Puede usarlo durante la depuración para comprender rápidamente el estado del árbol visual de la aplicación y descubrir cómo se establecieron las propiedades de los elementos. También permite cambiar los valores de propiedad mientras se ejecuta la aplicación, por lo que puede ajustar y experimentar sin tener que volver a iniciarla.
Registro de seguimiento TraceLogging es una nueva API de rastreo de eventos para aplicaciones en modo de usuario y controladores en modo kernel; se basa en Event Tracing for Windows (ETW). Esta API proporciona una manera simplificada de instrumentar código e incluir datos estructurados con eventos sin necesidad de un archivo XML de manifiesto de instrumentación independiente. Las API de seguimiento de WinRT, .NET y C/C++ están disponibles para servir a diferentes audiencias de desarrolladores.

Experiencia del usuario

Característica Descripción
Reconocimiento de voz El reconocimiento continuo de voz para escenarios de dictado de formato largo ahora es compatible con la Plataforma universal de Windows. Consulte cómo habilitar el dictado continuo en los documentos de interacción de voz.
Funcionalidades de arrastrar y colocar entre distintas plataformas de aplicaciones Los nuevos espacios de nombres Windows.ApplicationModel.DataTransfer.DragDrop llevan la funcionalidad de arrastrar y soltar a las aplicaciones universales de Windows. Anteriormente, los escenarios comunes de arrastrar y colocar para programas de escritorio, como arrastrar un documento desde una carpeta a un mensaje de correo electrónico de Outlook para adjuntarlo, no son posibles con aplicaciones universales de Windows. Con estas nuevas API, la aplicación puede permitir que los usuarios muevan fácilmente datos entre diferentes aplicaciones universales de Windows y el escritorio.

Para admitir arrastrar y soltar entre aplicaciones, estas nuevas APIs se han agregado a XAML: ListViewBase.DragItemsCompleted;
UIElement: CanDrag, DragStarting, StartDragAsync, DropCompleted;
DragOperationDeferral, DragUI, DragUIOverride;
DragEventArgs: AcceptedOperation, DataView, DragUIOverride, GetDeferral, Modificadores;
DragItemsCompletedEventArgs, DropCompletedEventArgs, DragStartingEventArgs
Barras de título de ventana personalizadas Para las aplicaciones UWP para la familia de dispositivos de escritorio, ahora puedes usar la clase ApplicationViewTitleBar con la propiedad ApplicationView.TitleBar y el método Window.SetTitleBar para reemplazar el contenido predeterminado de la barra de título de Windows por tu contenido personalizado XAML. El XAML se considera como "interfaz del sistema", por lo que Windows gestionará los eventos de entrada en lugar de tu aplicación. Esto significa que el usuario todavía puede arrastrar y cambiar el tamaño de la ventana, incluso al hacer clic en el contenido de la barra de título personalizada.

La web

Característica Descripción
Microsoft Edge Microsoft Edge es el nuevo explorador predeterminado creado para Windows 10. Para obtener más información y información general sobre las características y estándares para desarrolladores incluidos en Microsoft Edge, incluidas las características más recientes de JavaScript, consulte La Guía para desarrolladores de Microsoft Edge.
Navegación en WebView El control WebView usa el mismo motor de representación que el nuevo explorador Microsoft Edge. Esto proporciona el modo más preciso y compatible con estándares de representación HTML.
WebView fuera del hilo Puede especificar un webView.ExecutionMode para habilitar el procesamiento y la visualización del contenido web en un subproceso de fondo independiente. Esto puede mejorar el rendimiento en determinados escenarios específicos.
El evento WebView.UnsupportedUriSchemeIdentified El nuevo evento WebView.UnsupportedUriSchemeIdentified te permite decidir cómo tu aplicación debe gestionar un esquema de URI no compatible. Puede controlar este evento para permitir que la aplicación proporcione un control personalizado de esquemas de URI no admitidos. Para el control WebView HTML, consulte el evento MSWebViewUnsupportedUriSchemeIdentified.
Evento de solicitud de nueva ventana de WebView El nuevo evento WebView.NewWindowRequested le permite responder cuando un script de una vista web solicita una nueva ventana del explorador. Para el control WebView HTML, consulte el evento MSWebViewNewWindowRequested.
Evento WebView.PermissionRequested El nuevo evento WebView.PermissionRequested permite que el contenido de WebView aproveche las nuevas API HTML5 enriquecidas que requieren permiso especial del usuario, como la geolocalización. Para el control WebView HTML, consulte el evento MSWebViewPermissionRequested.
Evento WebView.UnviewableContentIdentified El nuevo evento WebView.UnviewableContentIdentified le permite responder cuando webView se navega a contenido no web, como un archivo PDF o un documento de Office. Para los controles HTML WebView, consulte el evento MSWebViewUnviewableContentIdentified.
Método WebView.AddWebAllowedObject Puedes llamar al nuevo método WebView.AddWebAllowedObject para insertar un objeto WinRT en un WebView XAML y, a continuación, llamar a sus funciones desde JavaScript de confianza hospedado en ese WebView. Por ejemplo, el contenido web puede mostrar notificaciones del sistema solicitando que su aplicación primaria llame a la API winRT toastNotificationManager . Para el control WebView HTML, vea el método addWebAllowedObject .
Método WebView.ClearTemporaryWebDataAsync Cuando un usuario interactúa con el contenido web dentro de una vista web XAML, el control WebView almacena en caché los datos en función de la sesión de ese usuario. Puede llamar al nuevo método ClearTemporaryWebDataAsync para borrar esta caché. Por ejemplo, puede borrar la memoria caché cuando un usuario cierra la sesión de la aplicación para que otro usuario no pueda acceder a ningún dato de la sesión anterior.