Compartir a través de


Desarrollo de aplicaciones de Windows: procedimientos recomendados

Los procedimientos recomendados de este artículo le ayudarán a crear aplicaciones de Windows excelentes que alcancen y deleiten a unos 1.500 millones de usuarios de equipos diversos en todo el mundo. Este artículo se divide en las secciones siguientes:

  1. Experiencia del usuario: la guía de esta sección le ayuda a mejorar la apariencia y la facilidad de uso de las aplicaciones.
  2. Rendimiento y aspectos básicos: la guía de esta sección le ayuda a mejorar el rendimiento y el uso de recursos de la aplicación.
  3. Sistema operativo o optimización de hardware: la guía de esta sección le ayuda a optimizar el empaquetado y la distribución para una variedad de configuraciones de hardware.
  4. Administración y detección de aplicaciones: las instrucciones de esta sección facilitan a los usuarios detectar, instalar, actualizar y desinstalar la aplicación.
  5. Accesibilidad: la guía de esta sección le ayuda a crear experiencias accesibles e inclusivas.
  6. Seguridad y privacidad: la guía de esta sección le ayuda a mitigar los riesgos de seguridad y a satisfacer las necesidades de privacidad de los usuarios.

Experiencia del usuario (UX)

Windows 11 ofrece una evolución visual del sistema operativo Windows que mejora la apariencia y la facilidad de uso de Windows. Los estudios muestran que los usuarios tienen expectativas elevadas para las aplicaciones de Windows:

  • Esperan que las aplicaciones de Windows funcionen con una gama completa de entradas.
  • Esperan patrones de diseño e interacción que parecen nativos en dispositivos actuales y futuros.
  • Esperan compatibilidad con flujos de trabajo modernos de ventanas y puntos de integración de shell.

Cuando las aplicaciones cumplen los estilos de Windows y los comportamientos estándar de Windows, los usuarios no tienen que volver a aprender los patrones de interacción. Esta coherencia facilita mucho a los usuarios el uso de la aplicación. Una aplicación que se ve genial puede crear una gran primera impresión, pero una aplicación que también es fácil de usar y ayuda al usuario a lograr sus objetivos crea una gran impresión duradera.

Windows 11 se basa en los principios de diseño de Windows 11. Seguir estas instrucciones a medida que compila las aplicaciones le ayuda a satisfacer las expectativas de los clientes de una excelente experiencia de la aplicación. Al pensar en incorporar los patrones de interfaz de usuario y experiencia de usuario de aplicaciones de Windows más recientes y recomendados en las aplicaciones de Windows, céntrese en estas cinco áreas:

  • Diseño
  • Interacción de la interfaz de usuario
  • Estilo visual
  • Comportamiento de la ventana
  • Puntos de integración de Shell

WinUI 3 proporciona compatibilidad integrada con muchas de estas experiencias y estilos a través de sus controles comunes. Si no puede usar WinUI 3, considere la posibilidad de simular los estilos mostrados en nuestros kits de herramientas de diseño y la Galería de WinUI.

Diseño

Las aplicaciones de Windows se ejecutan en una variedad de configuraciones que coinciden con las necesidades de los usuarios. Pruebe los paneles y las páginas de la aplicación en una variedad de dimensiones, dispositivos, tamaños de ventana, ajustes de PPP y escalado. La aplicación debe funcionar según lo previsto incluso cuando se cambia el tamaño a dimensiones pequeñas.

Reconocimiento de PPP

Las aplicaciones de WinUI se escalan automáticamente para cada pantalla en la que se ejecutan. Otras tecnologías de programación de Windows (Win32, WinForms, WPF, etc.) no manejan automáticamente el escalado de DPI por monitor. Sin trabajo adicional para admitir el escalado de DPI por monitor en estas tecnologías, es posible que las aplicaciones aparezcan borrosas o con un tamaño incorrecto. Para obtener más información, consulte Desarrollo de aplicaciones de escritorio High DPI en Windows.

Diseño dinámico

Use las técnicas de diseño con capacidad de respuesta para optimizar las páginas de la aplicación para diferentes tamaños de ventana. Siga las instrucciones para movimiento panorámico o desplazamiento para garantizar que los usuarios siempre puedan acceder al contenido, independientemente de lo pequeño que sea la ventana de la aplicación.

Interacción de la interfaz de usuario

Los usuarios de Windows pueden elegir entre una amplia variedad de dispositivos de entrada para interactuar con la aplicación y Windows tiene experiencias del sistema específicas que los usuarios están acostumbrados a usar. Cuando la aplicación se adhiere a estas experiencias, los usuarios pueden usar la aplicación de forma confiable. Cuando la aplicación no sigue estas convenciones, es posible que los usuarios lo encuentren confuso o frustrante.

Comandos en objetos

Use comandos en objetos, como menús contextuales, comandos de deslizar el dedo y métodos abreviados de teclado. Windows 11 mejora el comportamiento del menú contextual con el botón derecho, por lo que si la aplicación crea menús contextuales, consulte la guía de integración del menú contextual más reciente. Los controles de texto winUI exponen automáticamente comandos de cortar, copiar y pegar, pero es posible que otros controles necesiten trabajo adicional para admitir estos comandos.

Interacción con el texto

Siempre que haya texto en una aplicación, los usuarios esperan que puedan seleccionarlo y copiarlo. Si el texto es editable, espera que también puedan cortar y pegar. Al proporcionar accesos directos coherentes a los usuarios, permite que completen sus tareas de forma más eficaz. Asegúrese de que los usuarios puedan realizar estas acciones mediante el teclado, el ratón o el trackpad, la pantalla táctil y el lápiz.

Paneo y scroll

Es poco habitual que la interfaz de usuario de una aplicación se ajuste completamente dentro de una sola página que no necesita desplazarse. Incluso si solo hay algunos elementos de interfaz de usuario, los usuarios pueden cambiar el tamaño libremente de la ventana de la aplicación y hacer que algunos elementos de la interfaz de usuario estén ocultos. Asegúrese de que la interfaz de usuario de la aplicación admite correctamente el desplazamiento y el movimiento panorámico (mediante teclado, mouse o panel de seguimiento, entrada táctil y lápiz) para permitir que los usuarios accedan a los elementos de la interfaz de usuario que puedan salir del área de ventana visible.

Estilo visual

Windows 11 se basa en los principios de diseño de Windows 11: sin esfuerzo, calma, personal, familiar y completo y coherente. Las experiencias que siguen estos principios aportan excelentes experiencias de usuario en Windows.

Materiales: acrílico y mica

Acrylic y Mica son materiales visuales que proporcionan a los controles interactivos de la interfaz de usuario un estilo visual "ocluido" distinto. Utiliza Acrylic para aplicar un estilo semitransparente a superficies transitorias, como menús contextuales, controles flotantes y otros elementos que los usuarios pueden descartar fácilmente. Use Mica para agregar un tono sutil adaptable a superficies de interfaz de usuario de larga duración, como la barra de título.

Para obtener más información sobre los materiales de Acrílico y Mica, consulta Las cosas que puedes hacer para que tu aplicación sea excelente en Windows 11.

Temas oscuro y claro

Los temas oscuros y claros proporcionan a los usuarios una manera de adaptar la aplicación a sus preferencias visuales. Windows 11 actualiza los tonos de color para que sean más suaves para la vista, y evitar el blanco y el negro puros. De este modo, los colores serán mucho más agradables. WinUI admite el cambio entre temas oscuros y claros de forma predeterminada (consulte Recursos de temas XAML). Para las aplicaciones Win32, consulte Compatibilidad con temas oscuros y claros en aplicaciones Win32. (La barra de título de las aplicaciones Win32 no se adapta automáticamente al tema Oscuro. Asegúrese de seguir las instrucciones de la barra de título del artículo.

Elementos de interfaz de usuario actualizados

La geometría de Windows 11 admite experiencias modernas de aplicaciones. Las esquinas redondeadas progresivamente, los elementos anidados y los medianiles coherentes se combinan para crear un efecto de suavidad, calma y acercamiento que enfatiza la unidad de propósito y facilidad de uso.

Los cambios visuales y de comportamiento se compilan en WinUI 3. Usa WinUI 3, donde puedes aprovechar el trabajo que ya hizo el equipo de desarrollo de Windows. Si no puede usar WinUI 3, considere la posibilidad de simular los estilos mostrados en los kits de herramientas de diseño y la Galería de WinUI.

Menú contextual

Un menú contextual es un menú de acceso rápido que el usuario abre haciendo clic derecho o manteniendo presionada la pantalla para mostrar un menú de comandos relevantes para el contexto del control con el que está interactuando. Los usuarios esperan que la apariencia y el comportamiento de los menús contextuales sean coherentes en Windows. Use los menús contextuales proporcionados por la plataforma siempre que sea posible para mantenerlos coherentes con el resto del sistema.

Iconografía y tipografía

Windows 11 tiene iconos actualizados ("Iconos de Segoe Fluent"), compatibilidad mejorada con iconos animados y una nueva fuente de UI ("variables de Segoe UI"). Usa estos nuevos iconos y fuentes siempre que sea posible para ser coherente en Windows 11. La nueva fuente aporta una geometría mucho más suave y hace que el texto sea mucho más legible.

Para obtener más información sobre la iconografía y la tipografía en Windows, consulta Cosas que puedes hacer para que tu aplicación sea excelente en Windows 11.

Comportamiento y estilo de ventana

Las aplicaciones se ejecutan en un marco que proporciona Windows. Los usuarios esperan que el aspecto y los comportamientos integrados de Windows sean coherentes en todas las ventanas de la aplicación. Para asegurarse de que la aplicación se ve y funciona como esperan los usuarios en Windows 11, considere la posibilidad de admitir las características que se enumeran aquí.

Ajustar diseño

El ajuste de ventanas se mejora considerablemente en Windows 11, y el menú Diseño de distribución de ventanas es una nueva característica que ayuda a los usuarios a descubrir y aprovechar el potencial del ajuste de ventanas. Utilice el menú Ajustar diseño para probar la aplicación en diferentes diseños de ajuste y asegurarse de que la aplicación admita diferentes tamaños de ajuste, como 1/2, 1/3 y 1/4 pantalla.

Si el menú de diseños de ajuste no aparece para la aplicación de forma predeterminada, consulte Compatibilidad con diseños de ajuste para aplicaciones de escritorio en Windows 11 para ver algunos pasos que puede seguir para habilitarla.

Botones de título y barra de título

Los usuarios interactúan con la barra de título y los botones de título (minimizar, maximizar, cerrar) para cambiar el tamaño, mover y cerrar las ventanas de la aplicación. Una experiencia coherente ayuda a los usuarios a usar la aplicación sin problemas. Consulte Barra de título de la aplicación de Windows para obtener información sobre el diseño de la barra de título y el diseño del botón de título para Windows.

Use las API del SDK de Aplicaciones para Windows para integrar el contenido de la aplicación con la barra de título en aplicaciones WinUI 3, .NET, WinForms y WPF.

Esquinas redondeadas

En la mayoría de los casos, la ventana de la aplicación tiene esquinas redondeadas de forma predeterminada en Windows 11. Si personalizas la ventana de la aplicación y no tienes esquinas redondeadas, consulta Aplicar esquinas redondeadas en aplicaciones de escritorio para Windows 11 para ver algunas cosas que puedes hacer. También debe evitar personalizar los bordes de ventana y las sombras, lo que puede impedir que el sistema redondee las esquinas de la ventana.

Puntos de integración de Shell

La integración del shell de Windows permite a los usuarios beneficiarse de la aplicación incluso cuando no se ejecuta en primer plano o visible en pantalla. Cuando la aplicación se integra bien con Windows, se convierte en parte del flujo de trabajo del usuario con otras aplicaciones y ayuda a crear una experiencia sin problemas.

Notificaciones del sistema

Las notificaciones del sistema son las notificaciones de Windows que aparecen en la parte inferior de la pantalla del usuario y el centro de notificaciones.

  • Personalice, realice acciones y asegúrese de que las notificaciones son útiles para los usuarios. Proporcione a los usuarios lo que quieren, no lo que quiere que sepan.
  • Evite las notificaciones ruidosas. Demasiadas interrupciones de la aplicación conducen a que los usuarios desactiven este canal de comunicación crítico para la aplicación.
  • Responda a la intención del usuario. La selección de una notificación debe iniciar la aplicación en el contexto de la notificación. La única excepción a estas instrucciones es cuando el usuario selecciona un botón en la notificación adjunta a una tarea en segundo plano, como una respuesta rápida.
  • Proporcione una experiencia coherente con el centro de notificaciones. Mantenga ordenado el centro de notificaciones y borre las notificaciones antiguas.

Para más información sobre las notificaciones del sistema, consulte Conceptos básicos del diseño de notificaciones.

Rendimiento y aspectos básicos

Los usuarios de Windows esperan que las aplicaciones de Windows muestren un gran rendimiento y elementos básicos. A medida que diseña y compila la aplicación, tenga en cuenta la optimización para el uso de memoria, el consumo de energía, la capacidad de respuesta, la confiabilidad y el impacto en la sostenibilidad a largo plazo. Asignar tiempo para probar y medir los aspectos básicos y el rendimiento de la aplicación garantiza que los usuarios tengan una experiencia de primera clase.

Seguir los procedimientos recomendados de esta sección le ayuda a satisfacer las expectativas de los clientes en estos criterios.

Para obtener más información, consulte Información general sobre el rendimiento y los aspectos básicos. En este artículo se responden preguntas como "¿Qué es el rendimiento de la aplicación y por qué es importante?" y "¿Qué herramientas puedo usar para medir el rendimiento de las aplicaciones de Windows?" También se vincula a casos prácticos, blogs relacionados, comunidades de apoyo e información sobre cómo la ingeniería de rendimiento se interseca con la sostenibilidad al reducir el impacto que su aplicación tiene en nuestro planeta.

Sistema operativo y optimización de hardware

Puede compilar, empaquetar y entregar aplicaciones de Windows de muchas maneras. Los procedimientos recomendados de esta sección le ayudarán a optimizar estos aspectos de la aplicación en todas las configuraciones de hardware.

Conexión de aplicaciones MSIX y Azure Virtual Desktop

Para que la aplicación se ejecute mejor en un entorno empresarial, agregue compatibilidad con la asociación de aplicaciones MSIX.

La conexión de aplicaciones MSIX permite proporcionar aplicaciones MSIX a máquinas virtuales y físicas. Hecha específicamente para Azure Virtual Desktop, un servicio de virtualización de escritorio y de aplicaciones que se ejecuta en la nube. El uso de la conexión de aplicaciones MSIX con AVD puede ayudarle a mejorar los tiempos de inicio de sesión de los usuarios y puede reducir los costos de infraestructura de su empresa.

Windows en ARM

Windows puede ejecutarse en dispositivos ARM. Los equipos ARM se benefician de la duración extendida de la batería y la compatibilidad integrada con redes de datos móviles. Estos equipos también proporcionan una gran compatibilidad de aplicaciones y permiten ejecutar las aplicaciones existentes x86 y x64 sin modificar.

Para obtener el mejor rendimiento, habilite las aplicaciones para aprovechar al máximo la arquitectura del procesador Arm con eficiencia energética mediante la creación de una versión completa de Arm o la optimización de las partes del código base que se benefician más del rendimiento nativo. Para obtener más información sobre estas técnicas, consulta Windows en Arm y Arm64EC para aplicaciones de Windows 11 en Arm.

Notificaciones de inserción

Las notificaciones push le permiten enviar información desde el servicio en la nube a la aplicación de forma optimizada para el rendimiento. Las notificaciones de inserción incluyen notificaciones sin procesar, notificaciones de distintivos y notificaciones del sistema enviadas desde el servicio en la nube.

  • Use notificaciones push para reactivar la aplicación o el cliente en lugar de mantenerla siempre en ejecución para optimizar el rendimiento en el dispositivo del usuario.
  • No use canales de notificación para enviar anuncios.
  • Respetar retry-after encabezados: esta práctica protege el servicio y garantiza el éxito de la entrega de notificaciones.
  • Quite los canales expirados o revocados del sistema. El Servicio de notificaciones de Windows (WNS) no procesa solicitudes de canales expirados o revocados.
  • Evite aumentos repentinos y grandes de solicitudes a WNS. Este patrón puede dar lugar a respuestas limitadas.
  • Utilice el encabezado MS-CV. Este encabezado ayuda con la rastreabilidad y el diagnóstico de un extremo a otro.
  • Tenga un mecanismo de copia de seguridad para cuando las notificaciones no funcionen.
  • Usa los Hubs de notificación de Azure (ANH). ANH le proporciona acceso a características de interacción como destinatarios de audiencias, notificaciones de programación y notificaciones de difusión. Si es un desarrollador solo de Windows en la actualidad, el uso de ANH facilita la transición de la infraestructura de notificaciones a otras plataformas en el futuro.

Administración y detección de aplicaciones

Las experiencias confiables de instalación, actualización y desinstalación son partes importantes de una experiencia de usuario coherente y de alta calidad. Los siguientes procedimientos recomendados ayudan a asegurarse de que la aplicación deja una buena impresión cuando los usuarios lo detectan y administran:

Detección de aplicaciones

  • Enumerar la aplicación en Microsoft Store hace que la aplicación sea más reconocible para los usuarios.
  • Si hospedas tu aplicación en varios canales (por ejemplo, en un sitio web y en Microsoft Store), usa una identidad de aplicación coherente y un mecanismo de actualización en todos los canales.
  • Distribuya la aplicación a través del Microsoft Store para que sea más reconocible para los usuarios. Tenga en cuenta que los usuarios de Windows acceden a las aplicaciones de la Tienda a través de WinGet del Administrador de paquetes de Windows. Si no la publica en Microsoft Store, puede hacer que se pueda detectar fácilmente en winget a través del repositorio de winget.

Instalación y desinstalación

  • Ofrezca compatibilidad con una instalación por usuario. Esta compatibilidad permite a los usuarios instalar más fácilmente y evitar mensajes de UAC.
  • Asegúrese de que la instalación de la aplicación sea gratuita, transparente y cuidadosa con la administración de archivos. La instalación de la aplicación no debe dejar archivos temporales atrás.
  • Evite requerir permisos elevados para instalar y requerir reinicios del sistema operativo siempre que sea posible.
  • Ofrezca compatibilidad con la instalación silenciosa. Esta compatibilidad es importante para la administración de aplicaciones en entornos empresariales.
  • Asegúrese de que la aplicación aparece en la lista Aplicaciones instaladas>.
  • Considere la posibilidad de usar MSIX para asegurarse de que los usuarios experimenten una instalación, actualización y desinstalación sin problemas. MSIX quita automáticamente los datos y los archivos binarios de la aplicación. Para obtener información sobre cómo las aplicaciones empaquetadas controlan los archivos y las entradas del Registro, consulte Cómo se ejecutan las aplicaciones de escritorio empaquetadas en Windows.
  • En el caso de las aplicaciones sin empaquetar, asegúrese de que los usuarios puedan desinstalar fácilmente la aplicación a través de la lista > en Configuración. Cuando los usuarios desinstalan la aplicación, asegúrese de que también se quitan las entradas del menú Inicio, los archivos, los directorios, las entradas del Registro y los archivos temporales. Considere la posibilidad de proporcionar a los usuarios la opción de conservar sus datos cuando desinstalen la aplicación.
  • Asegúrese de que, durante la desinstalación, la aplicación quite todos los archivos binarios y los datos de la aplicación. El contenido creado por el usuario debe almacenarse en ubicaciones como Documents, que los usuarios pueden conservar incluso después de desinstalar la aplicación.
  • Evite instalar o actualizar archivos binarios del sistema que podrían requerir un reinicio.
  • Integre con RestartManager para guardar y restaurar el estado entre las actualizaciones del sistema operativo.

Actualizaciones

  • Admitir un mecanismo de actualización que permita que la aplicación se reinicie cuando sea conveniente para el usuario. Considere la posibilidad de usar las API de reinicio de SDK de aplicaciones para Windows para administrar el comportamiento de las aplicaciones de WinUI 3.
  • Asegúrese de que el mecanismo de actualización descargue solo los componentes modificados esenciales que deben actualizarse. Este enfoque minimiza el ancho de banda de red necesario.
  • Proporcione una manera de actualizar y reparar la aplicación. Considere MSIX, que controla automáticamente la reparación de actualizaciones. Para más información, consulte Aplicaciones de reparación y actualización automática.
  • Considere la posibilidad de enviar actualizaciones basadas en notificaciones de inserción o comprobar si hay actualizaciones disponibles en el inicio de la aplicación o en el reinicio.

Recursos adicionales

Accesibilidad

Las aplicaciones de Windows accesibles admiten experiencias enriquecidas e inclusivas para tantas personas como sea posible. Esta inclusión se extiende a las personas con discapacidades (tanto temporales como permanentes), preferencias personales, estilos de trabajo específicos o restricciones situacionales (como espacios de trabajo compartidos, conducción, cocina, reflejo, etc.).

De hecho, la Organización Mundial de la Salud define la discapacidad no como una característica personal, sino como una interacción no coincidente entre una persona y el mundo físico y digital que les rodea.

La accesibilidad es buena tanto para las personas como para las empresas

La accesibilidad es una responsabilidad

Más de mil millones de personas en todo el mundo experimentan alguna forma de discapacidad. Sin embargo, solo uno de los 10 tiene acceso a la tecnología de asistencia necesaria para participar plenamente en nuestras economías y sociedades. Normalmente, la tasa de desempleo de las personas con discapacidades es el doble que de las personas sin discapacidad. Y las discapacidades , ya sean situacionales, temporales o permanentes, pueden afectar a cualquiera de nosotros en cualquier momento.

La accesibilidad es una oportunidad

Según la hoja de datos del enfoque de accesibilidad de Microsoft: las organizaciones inclusivas que adoptan los procedimientos recomendados para emplear y apoyar a las personas con discapacidades en el lugar de trabajo superan a sus compañeros y mejoran la atracción y el mantenimiento de los mejores talentos. Los milenios, que son 75% de la fuerza de trabajo global, suelen elegir a los empleadores que reflejan sus valores. La diversidad y la inclusión encabezan esa lista.

Incorporación de accesibilidad

La incorporación de accesibilidad a las aplicaciones de Windows maximiza la participación del usuario, aumenta la satisfacción del producto y fomenta la fidelidad del producto. Diseñar e implementar experiencias accesibles de forma proactiva normalmente reduce los costos de desarrollo y mantenimiento a largo plazo.

Para obtener instrucciones detalladas sobre cómo crear aplicaciones de Windows accesibles, consulte Accesibilidad en Windows 11 y Windows 10.

Pruebas de accesibilidad

Accessibility Insights es un conjunto eficaz de herramientas para que los desarrolladores prueben la accesibilidad de sus aplicaciones y servicios. Use las siguientes herramientas para probar la accesibilidad:

  1. Inspeccione en Accessibility Insights para Windows. Inspeccione el árbol de accesibilidad para encontrar oportunidades fáciles como sugerencias en los textos de las etiquetas, roles incorrectos y otros problemas.
  2. Supervisión de eventos en Accessibility Insights para Windows: Accessibility Insights. Consulte Compatibilidad con tipos de control de Automatización de UI para más información sobre la supervisión de eventos.
  3. Ejecute las comprobaciones automatizadas de Accessibility Insights en las solicitudes de incorporación de cambios o CI/CD. Para más información, consulte axe-pipelines-samples.
  4. Corrija todos los errores que encuentre, ya que todos tienen un impacto directo en la accesibilidad.

Seguridad y privacidad

Una aplicación que no es segura puede ser un punto de entrada que permite a un atacante llevar a cabo actividades malintencionadas. Incluso si la aplicación no tiene errores de seguridad, los actores incorrectos pueden usar la aplicación para iniciar sus ataques a través de la suplantación de identidad (phishing) y otras formas de ingeniería social que infringen los límites de seguridad y privacidad. Los procedimientos recomendados de esta sección le ayudarán a mitigar los riesgos relacionados con la seguridad y la privacidad del usuario.

Directrices de seguridad

  • Siga el ciclo de vida de desarrollo de seguridad para todo el desarrollo.
    • El modelado de amenazas puede ayudarle a evitar errores de seguridad.
    • El uso de bibliotecas, lenguajes y herramientas seguros minimiza los errores de implementación.
    • Los valores predeterminados seguros pueden evitar problemas de seguridad causados por un error de usuario.
  • No requiera privilegios administrativos para instalar la aplicación.
    • Lo ideal es que la aplicación admita tanto las instalaciones administrativas como las instalaciones por usuario.
    • El uso del empaquetado MSIX es una manera de lograr este objetivo.
  • No requiera privilegios administrativos para ejecutar la aplicación.
  • Use lenguajes con seguridad de memoria garantizada, como C#, JavaScript o Rust, especialmente para rutas de acceso de código de riesgo, como analizar datos que no son de confianza.
  • Use todas las mitigaciones de seguridad proporcionadas por el compilador y el conjunto de herramientas (consulte Características de seguridad en Microsoft Visual C++ para Visual C++).
  • Use siempre las bibliotecas estándar del lenguaje o del marco elegidas para la criptografía y otro código que afecta a la seguridad. No intentes crear tu propia.
  • Firme digitalmente todos los componentes de la aplicación, no solo el instalador, sino también el desinstalador (si tiene uno). Firme también todos los archivos EXE, DLL y otros archivos ejecutables que componen la aplicación.
    • Las firmas digitales permiten al usuario comprobar la autenticidad de la aplicación y permitir a los administradores de Enterprise proteger sus dispositivos mediante el Control de aplicaciones de Microsoft Defender.
    • El uso del empaquetado MSIX es una manera de lograr este objetivo.
  • Asegúrese de que toda la comunicación de red se haga a través de un transporte seguro, como SSL.
  • Proporcione medidas de protección u otras mitigaciones que puedan ayudar a proteger a los usuarios de acciones dañinas accidentalmente, incluso cuando los atacantes lo hagan.
    • Solo los diálogos "¿Seguro que quiere hacer X? Los diálogos Sí/No" normalmente no son efectivos, ya que los usuarios están condicionados para hacer clic en "Sí".

La mayoría de las aplicaciones modernas recopilan y usan una gran cantidad de datos, incluidos los datos personales, por diversos motivos. La telemetría, la mejora del producto y la monetización son tres razones comunes para el uso de datos, pero los usuarios y los reguladores cada vez más tienen en cuenta las implicaciones de privacidad de estas prácticas. Esperan transparencia y control sobre los datos que recopilan y usan las aplicaciones. Use las siguientes sugerencias para ayudar a satisfacer las necesidades de privacidad de los usuarios.

Recomendaciones de seguridad

  • Asegúrese de que la aplicación proporcione una directiva de privacidad precisa. Idealmente, proporcione un documento de resumen escrito para un público casual (sus usuarios) y una política legal de larga forma (escrita para sus abogados).
  • Familiarícese con las regulaciones de privacidad en los mercados en los que la aplicación está disponible. Asegúrese de que la aplicación cumple o supera los requisitos de divulgación, derechos de uso, solicitudes de eliminación y otros problemas de privacidad.
  • Recopile la menor cantidad de datos personales necesarios para completar las experiencias de la aplicación.
    • No recopile datos "solo en caso". Tenga una razón válida para recopilar todos los datos, como mejorar la experiencia del cliente o facilitar la monetización.
  • Obtenga siempre el consentimiento del usuario antes de recopilar y almacenar datos personales. Proporcione al usuario una manera fácil de revertir su decisión en el futuro. Evite "patrones oscuros", como hacer que el botón "Sí" sea más grande o destaque más que el botón "No" en un cuadro de diálogo de consentimiento.
    • Consulte con las regulaciones aplicables para determinar qué divulgaciones y consentimiento específicos son necesarios para los tipos de datos especificados. Por ejemplo, algunas regiones pueden permitir a los usuarios ver, cambiar o eliminar sus datos almacenados.
  • Si debe transmitir datos a través de la red, use siempre conexiones protegidas, como conexiones a través de TLS.
  • Evite almacenar datos personales en una ubicación centralizada, como un sitio web. Si debe almacenar datos personales, minimice la cantidad de datos que almacena, almacénelos solo mientras sea estrictamente necesario y asegúrese de cifrarlos de forma segura.
  • Compruebe que cualquier biblioteca o SDK de terceros que use también tenga buenas prácticas de privacidad. Esta preocupación no se limita solo a los SDK de publicidad: cualquier biblioteca que se conecta a Internet podría afectar a la privacidad de los usuarios de la aplicación.