El contexto actual requiere que las empresas sean flexibles, el desarrollo de aplicaciones también tiene que adaptarse a ese nuevo paradigma

Vivimos en entornos muy dinámicos que requieren que las empresas sean capaces de adaptarse rápidamente. Debido a esto, los procesos de negocio pueden ser cambiantes y requieren que las aplicaciones que los soportan se desarrollen y adapten rápidamente, reduciendo los tiempos y los costes.

Debido a esta necesidad, podemos encontrar en el mercado herramientas que nos permiten desarrollar dichas aplicaciones con muchas menos líneas de código de programación de las que se han venido utilizando en los últimos años.

En este artículo nos centraremos en la solución que nos proporciona Microsoft (uno de los lideres según Forrester), PowerApps, donde encontramos dos tipos de aplicaciones: las Canvas Apps y las Model-driven Apps.

Empezaremos por comentar las que seguramente sean más conocidas, las Canvas Apps o aplicaciones de lienzo debido a que están dentro de nuestras licencias de Office 365.

Canvas Apps

Las aplicaciones de lienzo, como se deja entender en su nombre, son totalmente personalizables. Si vamos a crear una aplicación nueva, veremos que lo que se nos abre es una pantalla en blanco donde podremos diseñar completamente la interfaz.

¿Para que vamos a utilizar este tipo de aplicaciones?

  • Para crear una interfaz completamente personalizada, pensada en la experiencia de usuario
  • Para utilizar múltiples fuentes de datos en una sola aplicación
  • Para ser utilizada en múltiples tipos de dispositivos con un solo desarrollo.
  • Para proporcionar una aplicación de desarrollo muy sencilla y flexible.

A la hora de diseñar una PowerApps de lienzo, antes de empezar, deberemos decidir si vamos a desarrollarla para vista móvil o para tablet y ordenador. Esto es porque el tamaño del lienzo cambia en función del dispositivo al que se dirige.

Además, los orígenes de datos o las bases de datos deben estar creadas previamente antes de ponernos a desarrollar la aplicación y según estos orígenes nuestros costes de licenciamiento pueden ser diferentes. Es decir, que determinados orígenes de datos suponen licenciamiento adicional no incluido en nuestras licencias de Office 365.

Ejemplo de una aplicación de lienzo (Canvas App).
Ejemplo de una aplicación de lienzo (Canvas App).

Model-driven Apps

Las Model-Driven Apps o aplicaciones basadas en modelos, son unas de las grandes desconocidas. Sin embargo, son el core del propio Dynamics 365. Esto significa que no las vamos a encontrar en nuestra licencia de Office 365 y requeriremos licenciamiento adicional.

Este tipo de PowerApps nos permite hacer aplicaciones desde muy sencillas hasta muy complejas, y a diferencia de las Canvas Apps, no podemos desarrollar toda la interfaz del usuario. Agregar nuevos botones implica una mayor complejidad que las Canvas Apps y requiere entender cómo se configura y se desarrolla en el entorno de Dynamics 365.

Ejemplo de una aplicación basada en modelos (Model-Driven App).
Ejemplo de una aplicación basada en modelos (Model-Driven App).

Los datos aquí tendrán un único origen que será el Common Data Model (CDM) y en este caso las entidades y la estructura de datos se generarán mientras se construye la App. Al crear la entidad nos pedirá agregar los campos que requerimos, el diseño del formulario, el de las vistas de los registros, etc.

¿Cómo podemos conectar a otros orígenes de datos en este caso? Lo haremos a través de flujos de datos con Power Query, igual que lo hacemos con Power BI lo que supone que estos datos serán cargados en CDM. Estos flujos de datos se pueden programar para que los registros nuevos generados en el origen se repliquen automáticamente en nuestra entidad del CDM.

¿Cuándo vamos a utilizar estas aplicaciones?

En general, utilizaremos estas aplicaciones en los siguiente casos:

  • Cuando queramos una aplicación basada en procesos ya que nos permite generar un flujo de proceso muy visual que el usuario puede seguir.
  • Para tener una serie de registros relacionados.
  • Cuando queramos una aplicación con roles de seguridad complejos.
  • Para disponer de cuadros de mando sobre la información de los registros de la aplicación y además integrar nuestros cuadros de mando de Power BI en la propia interfaz.

Además, las Model-Driven apps tienen una interfaz unificada que nos permite ver la aplicación desde cualquier dispositivo y ya no es necesario pensar previamente sobre que dispositivo va a ser ejecutada.

Para poder personalizar la interfaz del usuario se ha incorporado la posibilidad de añadir aplicaciones de lienzo dentro de los propios formularios de las Model-Driven Apps.

Ejemplo de una aplicación basada en modelos con una aplicación de lienzo en la sección de contactos.
Ejemplo de una aplicación basada en modelos con una aplicación de lienzo en la sección de contactos.

¿Cuándo elegiremos una frente a la otra?

La elección de una u otra dependerá de la complejidad de nuestra aplicación, si nos queremos centrar más en personalizar la interfaz, los orígenes de datos, el dispositivo desde el que se va a usar la aplicación, si necesitamos añadir cuadros de mando sobre la misma y sobre todo el licenciamiento que requeriremos en función de cada caso.

En definitiva, Microsoft PowerApps nos permite desarrollar aplicaciones de distinta complejidad con el fin de satisfacer las necesidades de los procesos de negocio con unos tiempos de implantación más reducidos, más flexible y con costes inferiores a los de la programación tradicional. Pero no es la única, en Sothis somos especialistas en este tipo de tecnología y en como trasladarla a los procesos de negocio de nuestros clientes y por ello, no solo nos centramos en la solución de Microsoft, si no que trabajamos con otro de los fabricantes líder en el mercado del desarrollo de aplicaciones low code: OutSystems.