Share via


Desarrollo de aplicaciones de Windows: procedimientos recomendados

Los procedimientos recomendados de este documento le ayudarán a crear excelentes aplicaciones de Windows que llegan y deleitan a aproximadamente 1,5 mil millones de usuarios diversos de PC en todo el mundo. Este documento se divide en las secciones siguientes:

  1. Experiencia del usuario: las instrucciones de esta sección le ayudarán a mejorar el aspecto, la sensación y la facilidad de uso de las aplicaciones.
  2. Rendimiento y aspectos básicos: las instrucciones de esta sección le ayudarán a mejorar el rendimiento y el uso de recursos de la aplicación.
  3. Sistema operativo y optimización de hardware: las instrucciones de esta sección le ayudarán 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 facilitarán a los usuarios la detección, instalación, actualización y desinstalación de la aplicación.
  5. Accesibilidad: las instrucciones de esta sección le ayudarán a crear experiencias accesibles e inclusivas.
  6. Seguridad y privacidad: las instrucciones de esta sección le ayudarán a mitigar los riesgos de seguridad y a satisfacer las necesidades de privacidad de los usuarios.

Experiencia del usuario (UX)

Windows 11 marca una evolución visual del sistema operativo Windows que mejora el aspecto, la sensación y la facilidad de uso de Windows. Nuestros estudios muestran que los usuarios tienen altas expectativas de 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. Esto facilita mucho a los usuarios el uso de la aplicación. Una aplicación que se ve genial puede crear una primera gran impresión, pero una aplicación que también es fácil de usar y ayuda al usuario a lograr sus objetivos creará una gran impresión duradera.

Windows 11 se basa en los principios de diseño de Windows 11. Al seguir estas instrucciones a medida que compile las aplicaciones le ayudará a cumplir las expectativas de los clientes de una excelente experiencia de 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, se recomienda centrarse en estas cinco áreas:

  • Layout
  • 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 que se muestran en nuestros kits de herramientas de diseño y en la Galería de WinUI.

Layout

Las aplicaciones de Windows se ejecutan en una variedad de configuraciones que coinciden con las necesidades de los usuarios. Pruebe los paneles o páginas de la aplicación en una serie de dimensiones, dispositivos, tamaños de ventana, configuración de PPP y configuración de escala. 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 controlan automáticamente el ajuste de PPP por monitor. Sin trabajo adicional para admitir el escalado de PPP por monitor de estas tecnologías, las aplicaciones pueden parecer borrosas o de tamaño incorrecto. Consulte Desarrollo de aplicaciones de escritorio de alto PPP en Windows para obtener más información.

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, los usuarios pueden resultar confusos o frustrantes.

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 de WinUI exponen automáticamente los comandos para 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 estas acciones se pueden realizar mediante teclado, mouse o trackpad, entrada táctil y lápiz.

Desplazamiento y movimiento panorámico

Es raro 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 la 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 el teclado, el mouse o el panel de seguimiento, la función táctil y el lápiz) para permitir que los usuarios accedan a los elementos de la interfaz de usuario que podrían haberse movido fuera 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. Creemos que 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. Use Acrylic para aplicar un estilo semitransparente a superficies transitorias, como menús contextuales, controles flotantes y otros elementos que se pueden descartar con luz. Use Mica para agregar un tono sutil adaptable a superficies de interfaz de usuario de larga duración, como la barra de título.

Puede encontrar más información sobre los materiales acrílicos y mica en cosas que puede hacer para que la 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 se ha diseñado para admitir 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. Use WinUI 3, donde puede aprovechar el trabajo que ya se ha realizado. Si no puede usar WinUI 3, considere la posibilidad de simular los estilos que se muestran en nuestros kits de herramientas de diseño y en la Galería de WinUI.

Menú contextual

Un menú contextual es un menú que el usuario invoca con una acción de pulsación o con un clic con el botón derecho para mostrar un menú de comandos relevantes para el contexto del control con el que el usuario 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"). Se recomienda usar estos nuevos iconos y fuentes siempre que sea posible para mantener la coherencia en Windows 11. La nueva fuente aporta una geometría mucho más suave y hace que el texto sea mucho más legible.

Puede encontrar más información sobre la iconografía y la tipografía de Windows en Cosas que puede hacer para que la aplicación sea excelente en Windows 11.

Comportamiento y estilo de ventana

Las aplicaciones se ejecutan en un marco proporcionado por Windows y los usuarios esperan que el aspecto y los comportamientos integrados de Windows sean coherentes en todas las ventanas de la aplicación. Considere la posibilidad de admitir las características que se enumeran aquí para asegurarse de que la aplicación se ve y funciona según lo previsto por los usuarios en Windows 11.

Ajustar diseño

El ajuste de ventanas se mejora considerablemente en Windows 11, y el menú Ajustar diseño es una nueva característica para ayudar a los usuarios a detectar y usar la potencia 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 botones de título y barra de título (minimizar, maximizar, cerrar) son cómo interactúan los usuarios con Windows para cambiar el tamaño, mover y cerrar ventanas de la aplicación. Tener una experiencia coherente ayudará 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 tendrá esquinas redondeadas de forma predeterminada en Windows 11. Si ha personalizado la ventana de la aplicación y no tiene esquinas redondeadas, consulte Aplicación de esquinas redondeadas en aplicaciones de escritorio para Windows 11 para acciones que puede llevar a cabo. 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 su aplicación incluso cuando no se ejecuta en primer plano o ni siquiera es visible en pantalla. Cuando la aplicación se integra bien con Windows, pasa a formar parte del flujo de trabajo de los usuarios con otras aplicaciones y ayuda a crear una experiencia fluida.

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.

  • Las notificaciones deben ser personalizadas, accionables y útiles para los usuarios. Intente dar a los usuarios lo que quieren, no lo que quiere que sepan.
  • Las notificaciones no deben ser ruidosas. Demasiadas interrupciones de la aplicación conduce 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 elementos fundamentales

Los usuarios de Windows esperan que las aplicaciones de Windows muestren un gran rendimiento y elementos básicos. Al diseñar y compilar la aplicación, es importante tener en cuenta la optimización del uso de memoria, el consumo de energía, la capacidad de respuesta, la confiabilidad y el impacto en la sostenibilidad a largo plazo. La asignación de tiempo para probar y medir los elementos básicos y el rendimiento de la aplicación garantizará que los usuarios tengan una experiencia de primera clase.

Seguir los procedimientos recomendados de esta sección le ayudará a satisfacer las expectativas de los clientes según estos criterios.

Para más información, consulte Introducción al rendimiento y elementos básicos, que tratará preguntas como "¿Qué es el rendimiento de la aplicación y por qué es importante?" o "¿Qué herramientas puedo usar para medir el rendimiento de las aplicaciones Windows?", así como la vinculación a casos prácticos, blogs relacionados, comunidades de apoyo e información sobre cómo la ingeniería de rendimiento se cruza con la sostenibilidad, lo que reduce el impacto que tendrá la aplicación en nuestro planeta.

Sistema operativo y optimización de hardware

Las aplicaciones de Windows se pueden compilar, empaquetar y entregar de varias 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

Si quiere que la aplicación se ejecute mejor en un entorno empresarial, agregue compatibilidad con la conexió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, debe permitir que las aplicaciones aprovechen al máximo la arquitectura del procesador ARM de eficiencia energética mediante la creación de una versión completa de ARM o mediante la optimización de las partes del código base que más se beneficiarían del rendimiento nativo. Para más información sobre estas técnicas, consulte Windows en ARM y ARM64EC para aplicaciones de Windows 11 en ARM.

Notificaciones de inserción

Las notificaciones de inserción 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 las notificaciones push para reactivar la aplicación o el cliente en lugar de mantenerlos siempre en ejecución para optimizar el rendimiento del dispositivo del usuario.
  • Los canales de notificación no están diseñados para usarse para enviar anuncios.
  • Respete los encabezados retry-after: protege nuestro servicio y garantiza la entrega correcta de notificaciones.
  • Quite los canales expirados o revocados del sistema. Servicios de notificaciones de inserción de Windows (WNS) no procesa solicitudes de canales expirados ni revocados.
  • Evite aumentos repentinos y grandes de solicitudes a WNS. Esto puede provocar respuestas limitadas.
  • Utilice el encabezado MS-CV. Esto le ayudará con la rastreabilidad y los diagnósticos de un extremo a otro.
  • Tenga un mecanismo de copia de seguridad para cuando las notificaciones no funcionen.
  • Use Azure Notification Hubs (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 desarrollador solo de Windows, el uso de ANH le facilitará la transición de la infraestructura de notificaciones a otras plataformas en el futuro.

Administración y detección de aplicaciones

Las experiencias de instalación, actualización y desinstalación confiables son partes importantes de una experiencia de usuario coherente y de alta calidad. Los siguientes procedimientos recomendados le ayudarán a garantizar que quede una buena impresión de la aplicación cuando los usuarios la detecten y administren:

Detección de aplicaciones

  • Publicar la aplicación en Microsoft Store puede hacer que sea más detectable para los usuarios.
  • Si la aloja en varios canales (por ejemplo, en un sitio web y en Microsoft Store), la aplicación debe tener un mecanismo de identidad y actualización de aplicación coherente 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 las aplicaciones de Store están disponibles para los usuarios a través del Administrador de paquetes de Windows WinGet. 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. Esto permitirá 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. Esto es importante para la capacidad de 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 la aplicación se pueda desinstalar fácilmente mediante la lista Aplicaciones -> instaladas en Configuración. Cuando se desinstale la aplicación, asegúrese de que las entradas del menú Inicio, los archivos, los directorios, las entradas del Registro y los archivos temporales también se quiten. 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 puedan requerir un reinicio.
  • Integre con RestartManager para guardar y restaurar el estado entre las actualizaciones del sistema operativo.

Actualizaciones

  • Ofrezca compatibilidad con un mecanismo de actualización que permite 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. Esto puede minimizar el ancho de banda de red necesario.
  • Asegúrese de proporcionar 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 accesibles son compatibles con experiencias inclusivas y ricas para el mayor número de personas posible, incluidas aquellas con discapacidades (tanto temporales como permanentes) y según las preferencias personales, los estilos de trabajo específicos o las restricciones de los sitios (por ejemplo, si se está en espacios de trabajo compartidos, se conduce, se cocina o si hay deslumbramiento, 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, sólo 1 de 10 tienen 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 milenials, que serán el 75 % de los trabajadores mundiales en 2020, suelen elegir a los empleadores que reflejen 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 puede maximizar la participación del usuario, aumentar la satisfacción del producto y fomentar la fidelidad de los productos. Diseñar e implementar experiencias accesibles de forma proactiva normalmente da como resultado un menor costo 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. Estas son algunas herramientas para aprovechar en la prueba de accesibilidad:

  1. Inspeccione en Accessibility Insights para Windows. Inspeccione el árbol de accesibilidad para encontrar aspectos fáciles como sugerencias en etiquetas, roles incorrectos, etc.
  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, todos ellos 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 atacantes pueden usar la aplicación para iniciar los ataques mediante 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 provocados 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 lograrlo.
  • No requiera privilegios administrativos para ejecutar la aplicación.
    • Si hay determinadas características que necesitan privilegios administrativos, considere la posibilidad de separarlas en sus propios procesos para {0}reducir la superficie expuesta a ataques{0}.
  • Prefiera usar 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 intente crear la suya.
  • 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 lograrlo.
  • 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? Sí/No" normalmente no son efectivos, ya que se ha condicionado a los 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. Lo ideal es proporcionar un documento de resumen escrito para un público ocasional (sus usuarios) además de una directiva legal en formato largo (escrita para sus abogados).
  • Familiarícese con los reglamentos de privacidad en los mercados en los que la aplicación estará disponible y asegúrese de que la aplicación cumpla o supere los requisitos de divulgación, derechos de uso, solicitudes de eliminación, etc.
  • Asegúrese de recopilar la menor cantidad de datos personales necesarios para completar las experiencias de la aplicación.
    • No recopile datos "por si caso": debe haber una razón válida para recopilar todos los datos, por ejemplo, para mejorar la experiencia del cliente o para facilitar la monetización.
  • Obtenga siempre el consentimiento del usuario antes de recopilar y almacenar datos personales, y 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 los reglamentos aplicables para determinar qué regulaciones y consentimiento específicos se requieren 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, por ejemplo, a través de TLS.
  • Evite almacenar datos personales en una ubicación centralizada (por ejemplo, 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 buenos procedimientos de privacidad. Tenga en cuenta que esto no se limita solo a los SDK publicitarios: cualquier biblioteca que se conecta a Internet puede afectar a la privacidad de los usuarios de la aplicación.