Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El desarrollo de aplicaciones para plataformas modernas implica muchas más actividades que escribir código. Estas actividades, denominadas DevOps (desarrollo y operaciones), abarcan el ciclo de vida completo de la aplicación e incluyen el trabajo de planificación y seguimiento, el diseño e implementación de código, la administración de un repositorio de código fuente, la ejecución de compilaciones, la administración de integraciones continuas e implementaciones, las pruebas (incluidas las pruebas unitarias y las pruebas de IU), la ejecución de varias formas de diagnóstico en entornos de desarrollo y producción, y la supervisión del rendimiento de las aplicaciones y los comportamientos de los usuarios en tiempo real a través de la telemetría y analítica.
Visual Studio, junto con Azure DevOps Services y Team Foundation Server, proporciona una variedad de funcionalidades de DevOps. Muchos de ellos son aplicables a proyectos multiplataforma, incluidos juegos y aplicaciones gráficas envolventes creadas con Unity, especialmente cuando se usa C# como lenguaje de scripting. Sin embargo, dado que Unity tiene su propio entorno de desarrollo y motor en tiempo de ejecución, una serie de características de DevOps no se aplican como lo harían con otros tipos de proyectos integrados en Visual Studio.
En las tablas siguientes se identifica cómo se aplican las características de DevOps en Visual Studio o no se aplican al trabajar con Unity. Consulte la documentación vinculada para obtener más información sobre las propias características.
Herramientas ágiles
Vínculo de referencia: Sobre las herramientas ágiles y la gestión de proyectos ágiles (mediante Azure Boards o TFS, incluido Team Explorer Everywhere)
Comentario general: todas las características de planeamiento y seguimiento son independientes del tipo de proyecto y los lenguajes de codificación.
Característica | Compatible con Unity | Comentarios adicionales |
---|---|---|
Gestión de trabajos pendientes y sprints | Sí | |
Seguimiento del trabajo | Sí | |
Colaboración en la sala de reuniones del equipo | Sí | |
Paneles Kanban | Sí | |
Informar y visualizar el progreso | Sí |
Modelado
Vínculo de referencia: Analizar y modelar arquitectura
Comentario general: aunque estas características de diseño son independientes del lenguaje de codificación o funcionan con lenguajes .NET como C#, funcionan en un paradigma de aplicación tradicional con jerarquías de objetos y relaciones de clase. El diseño de un juego dentro de Unity implica un paradigma diferente, es decir, las relaciones de objetos gráficos, sonidos, sombreadores, scripts, etc. Por este motivo, las herramientas de diagrama de modelado de Visual Studio no son especialmente relevantes para todo un proyecto de Unity. Posiblemente se podrían usar para administrar relaciones dentro de scripts de C#, pero es solo una parte de todo.
Característica | Compatible con Unity | Comentarios adicionales |
---|---|---|
Diagramas de secuencia | No | |
Gráficos de dependencias | No | |
Jerarquía de llamadas | No | |
Diseñador de clases | No | |
Explorador de arquitectura | No | |
Diagramas UML (caso de uso, actividad, clase, componente, secuencia y DSL) | No | |
Diagramas de capas | No | |
Validación de capas | No |
Código
Característica | Compatible con Unity | Comentarios adicionales |
---|---|---|
Usar el control de versiones de Team Foundation (TFVC) o Azure Repos | Sí | Los proyectos de Unity son simplemente una colección de archivos que se pueden colocar en sistemas de control de versiones como cualquier otro proyecto, pero hay algunas consideraciones especiales descritas después de esta tabla. |
Introducción a Git en Azure Repos | Sí | Vea las notas después de la tabla. |
mejorar la calidad del código | Sí | |
Buscar cambios de código y otro historial | Sí | |
Usa mapas de código para depurar tus aplicaciones | Sí |
Consideraciones especiales para el control de versiones con Unity:
Unity realiza un seguimiento de los metadatos sobre los recursos del juego en una sola biblioteca opaca que está oculta de forma predeterminada. Para mantener sincronizados los archivos y metadatos, es necesario hacer que los metadatos sean visibles y almacenarlos en fragmentos más fáciles de administrar. Para obtener más información, consulte Using External Version Control Systems with Unity (documentación de Unity).
No todos los archivos y carpetas de un proyecto de Unity son adecuados para el control de código fuente, como también se describe en el vínculo anterior. Se deben agregar las carpetas Assets y ProjectSettings, pero no deben agregarse las carpetas Biblioteca y Temp. Para obtener una lista adicional de archivos generados que no entrarían en el control de código fuente, consulte la explicación Uso del control de código fuente de Git para Unity3D. en Stack Overflow. Muchos desarrolladores también han blogueado sobre este tema de manera independiente.
Los recursos binarios de un proyecto de Unity, como texturas o archivos de audio, pueden ocupar una gran cantidad de almacenamiento. Varios sistemas de control de código fuente, como Git, almacenan una copia única de un archivo para cada cambio que se realiza, incluso si el cambio afecta solo a una pequeña parte del archivo. Esto puede hacer que el repositorio de Git se sobredimensione. Para solucionar esto, los desarrolladores de Unity suelen optar por agregar solo recursos finales a su repositorio y usar un medio diferente para mantener un historial de trabajo de sus recursos, como OneDrive, DropBox o git-annex. Este enfoque funciona porque estos recursos normalmente no necesitan tener versiones junto con los cambios en el código fuente. Los desarrolladores también suelen establecer el modo de serialización de activos del editor del proyecto en Forzar texto para almacenar archivos de escenas como texto en lugar de hacerlo en formato binario, lo que permite hacer combinaciones en el control de código fuente. Para más información, consulte Configuración del Editor (documentación de Unity).
Construir
Vínculo de referencia: Azure Pipelines
Característica | Compatible con Unity | Comentarios adicionales |
---|---|---|
Team Foundation Server (TFS) en las instalaciones | Posible | Los proyectos de Unity se compilan a través del entorno de Unity y no a través del sistema de compilación de Visual Studio (la compilación dentro de Visual Studio Tools para Unity compilará los scripts, pero no generará un ejecutable). Es posible compilar proyectos de Unity desde la línea de comandos (documentación de Unity), por lo que es posible configurar un proceso de MSBuild en un servidor TFS para ejecutar los comandos de Unity adecuados, siempre que Unity esté instalado en ese equipo. Unity también ofrece Unity Cloud Build, que supervisa un repositorio git o SVN y ejecuta compilaciones periódicas. Actualmente no funciona con TFVC o Azure DevOps Services. |
Servidor de compilación local vinculado a Azure DevOps Services | Posible | Dadas las mismas condiciones anteriormente mencionadas, también es posible dirigir las compilaciones desencadenadas a través de Azure DevOps Services para que usen un servidor TFS local. Vea Build and release agents (Agentes de compilación y versiones) para obtener instrucciones. |
Servicio de controlador hospedado de Azure DevOps Services | No | Actualmente no se admiten las compilaciones de Unity. |
Compilar definiciones con scripts anteriores y posteriores | Sí | Una definición de compilación personalizada que usa la línea de comandos de Unity para ejecutar una compilación también se puede configurar para scripts previos y posteriores a la compilación. |
Integración continua, incluidas las comprobaciones controladas | Sí | Entradas validadas para TFVC solo cuando GIT funciona en un modelo de solicitud de extracción en lugar de entradas. |
Prueba
Característica | Compatible con Unity | Comentarios adicionales |
---|---|---|
Planificación de pruebas, creación de casos de prueba y organización de conjuntos de pruebas | Sí | |
Pruebas manuales | Sí | |
Administrador de pruebas (pruebas de grabación y reproducción) | Solo dispositivos Windows y emuladores de Android | |
Cobertura de código | n/a | No es aplicable a medida que se produzcan pruebas unitarias en Unity y no en Visual Studio, consulte a continuación. |
Haga una prueba unitaria de su código | En Unity, pero no en Visual Studio | Unity proporciona su propio marco de pruebas unitarias como parte de Unity Test Tools (Tienda de recursos de Unity). Los resultados de las pruebas unitarias se notifican en Unity y no se mostrarán en Visual Studio. |
Uso de la automatización de la interfaz de usuario para probar el código | No | Las pruebas automatizadas de IU dependen de controles legibles en la interfaz de usuario de la aplicación; Las aplicaciones de Unity son gráficas por naturaleza, por lo que las herramientas de prueba automatizadas de IU no pueden leer el contenido. |
Mejora de la calidad del código
Vínculo de referencia: Mejorar la calidad del código
Característica | Compatible con Unity | Comentarios adicionales |
---|---|---|
Analizar la calidad del código administrado | Sí | Puede analizar el código de script de C# en Visual Studio. |
Buscar código duplicado mediante la detección de clonación de código | Sí | Puede analizar el código de script de C# en Visual Studio. |
Medir la complejidad y el mantenimiento del código administrado | Sí | Puede analizar el código de script de C# en Visual Studio. |
Herramientas de rendimiento | No | Usa el Unity Profiler (sitio web de Unity). |
Análisis de problemas de memoria de .NET Framework | No | Las herramientas de Visual Studio no tienen enlaces al marco mono (como usa Unity) para la generación de perfiles. Use el generador de perfiles de Unity (documentación de Unity). |
Administración de versiones
Vínculo de referencia: Compilación y versiones en Azure Pipelines y TFS
Característica | Compatible con Unity | Comentarios adicionales |
---|---|---|
Gestión de procesos de lanzamiento | Sí | |
Implementación en servidores para carga lateral a través de scripts | Sí | |
Cargar en la tienda de aplicaciones | Parcial | Hay extensiones disponibles que pueden automatizar este proceso para algunas tiendas de aplicaciones. Vea Extensions for Azure DevOps Services (Extensiones para Azure DevOps Services); por ejemplo, la extensión para Google Play. |
Supervisión con HockeyApp
Vínculo de referencia: Supervisión con HockeyApp
Característica | Compatible con Unity | Comentarios adicionales |
---|---|---|
Análisis de bloqueo, telemetría y distribución beta | Sí | HockeyApp es principalmente útil para gestionar la distribución beta y obtener informes de fallos. Para la telemetría de scripts de C#, es posible usar cualquier marco de análisis siempre que se ejecute en la versión de .NET que usa Unity. Sin embargo, esto solo permite el análisis dentro de scripts de juego y no más profundamente dentro del motor de Unity. Actualmente no hay ningún complemento para Application Insights, pero los complementos están disponibles para otras soluciones de análisis, como Unity Analytics y Google Analytics. Los servicios como Unity Analytics que entienden la naturaleza de un proyecto de Unity proporcionarán un análisis mucho más significativo que los marcos genéricos. |