enero 9, 2022

Desarrollo de Power Apps de manera colaborativa

Hasta ahora PowerApps solo permitía que un desarrollador trabajara sobre la aplicación. Aunque de manera experimental, ¡Ya tenemos aquí la coautoría de PowerApps!

Desarrollo de Power Apps de manera colaborativa

Uno de los grandes problemas que nos hemos encontrado hasta ahora en el desarrollo de Power Apps era la imposibilidad de que dos desarrolladores trabajaran de manera simultanea sobre la misma Power App. Las implicaciones que esto tiene son muchísimas, pero en resumidas cuentas y para los que lleven un tiempo en el desarrollo de este tipo de aplicaciones, ya no nos aparecerá el mensaje de "bloqueado para editar" o la necesidad de estar creando copias de la misma App conforme vamos generando nuevas características.

En el post de hoy, voy a explicar de la manera mas clara posible como activar esta fantástica característica. Comenzamos.

Control experimental del control de versiones

Lo primero que debemos hacer es activar la configuración experimental de control de versiones de Git.

Git es una herramienta utilizada por los desarrolladores profesionales para el control de versiones. Sirve como una forma de rastrear quién realizó qué cambios en una aplicación y cuándo. También permite a los desarrolladores que están trabajando en su propia instancia la capacidad de fusionar su código entre sí. Si surge un problema con el código de la aplicación, los desarrolladores pueden usar Git para comparar los cambios entre cada versión de la aplicación y volver a una anterior.

Cuando el control de versiones de Git está habilitado, varios desarrolladores pueden trabajar en la misma aplicación y el mensaje "bloqueado para editar" ya no aparecerá. Si vamos a los ajustes de la Power App, podremos activarlos de la siguiente manera:

Una vez activada la característica, tenemos que conectarnos a un repositorio Git.

Git es una herramienta genérica y hay muchos servicios en línea que pueden alojar un repositorio de Git. En mis proyectos suelo utilizar Azure DevOps, aunque existen diversas opciones. Por acotar un poco recomiendo estos dos servicios que ofrece Microsoft:

  • Github : la comunidad de código abierto más popular del mundo
  • Azure DevOps : una herramienta de colaboración para desarrolladores que también incluye repositorios Git
Importante: La coautoría de Power Apps no admite repositorios locales en este momento .

En principio no explicaré como crear un repositorio en Azure DevOps ya que eso alargaría demasiado el post. Si recibo muchas solicitudes de como crear un repositorio o si os encontráis con muchos problemas para configurarlo, podéis escribirme tanto por Linkedin como por Twitter.

Finalizar la configuración del control de versiones de Git

Una vez finalizada la configuración crearemos una nueva rama en nuestro repositorio:

Un punto importante para poder realizar esta coautoría es que deberemos seguir compartiendo la aplicación con todos los desarrolladores tanto en make.powerapps.com como en el repositorio que hayamos creado.

Probando la coautoría en Power Apps

Entraremos en la aplicación con una segunda cuenta, que para nuestro caso será la del segundo desarrollador. Se le pedirá que inicie sesión en el repositorio de Azure DevOps con un nombre de usuario y una contraseña.

  • Nombre de usuario: este es el nombre de usuario de la cuenta de Azure DevOps del desarrollador, no su nombre de usuario de Power Apps.
  • Contraseña: este es el token de acceso personal que deberemos crear en el repositorio de Azure DevOps, no la contraseña de la cuenta de Azure DevOps del desarrollador.

Una vez el segundo desarrollador ha hecho login,  ambos estaremos trabajando dentro de la misma aplicación. ¿Cómo podemos ver el progreso del otro? Power Apps no tiene una función de edición en vivo como Word o Excel. Los desarrolladores deben guardar y sincronizar sus cambios manualmente.

Cuando hayamos completado una función, queremos enviarla al repositorio de Git para que el otro desarrollador pueda actualizar su instancia de la aplicación. Para hacer esto, pulsamos el botón de sincronización en el menú superior de Power Apps Studio. Hacer esto confirma nuestros cambios en el repositorio, los fusiona con el código existente y actualiza nuestra aplicación para mostrar cualquier cambio realizado por otros desarrolladores.

Importante: Si dos desarrolladores trabajan en la misma propiedad de un control, gana la última edición realizada. El cambio anterior se reemplaza por el cambio más nuevo.

A continuación una pequeña demostración de como funciona el desarrollo simultaneo de dos desarrolladores sobre la misma Power App.

Conclusiones

Esta es una característica experimental y debe tratarse como tal. No debe utilizarse para aplicaciones de producción hasta que la característica este completamente estable. No es el producto final y se realizarán más actualizaciones antes de que la coautoría esté disponible de forma generalizada.

Supone un gran avance hacia una característica muy pedida por los creadores de aplicaciones y por perfiles como el mío, que venimos del desarrollo profesional y estamos muy familiarizados con Git. Para mi es una alegría inmensa que se este trabajando en esta dirección y creo que es un gran avance para entregar Power Apps de manera mas colaborativa y con funciones heredadas del desarrollo profesional.