agosto 30, 2022

Custom Page en Power Apps: ¿Canvas dentro de Model Driven?

En el artículo de hoy hablaré de uno de los componentes mas útiles y que mas flexibilidad y facilidad de desarrollo nos esta dando dentro de las Power Apps Model Driven. Hablemos de las Custom Pages.

Custom Page en Power Apps: ¿Canvas dentro de Model Driven?

Antes de nada y muy en relación con el artículo de hoy, quiero recordar que el próximo sábado 10 de septiembre se celebra el Bizz Summit 2022.

Business Applications Summit España – El mayor festival de Bizz Apps de España

Como se puede apreciar, la sesión del Bizz Summit irá de Custom Pages. ¿Entonces, por que haces un artículo de Custom Pages, si en el evento hablaras de ello? Lo explico brevemente. Este artículo pretende introducir al lector en el concepto y la funcionalidad de este componente. En la sesión del Bizz Summit veremos en vivo un ejemplo de Custom Page sobre una Power App model driven, viendo como se fabrican, como funcionan por dentro y en que escenarios se utilizan. Por lo tanto este artículo puede servir como una breve introducción tanto para la gente que vaya a venir al evento como a los que por primera vez escuchan este concepto.

Antes de empezar, aclarar que las custom page, no tienen nada que ver con el nuevo producto de Microsoft llamado Power Pages. Mientras el primero es un complemento para las Power App de tipo model driven, lo segundo es la nueva plataforma de creación de páginas web utilizando tecnología low code. Tengo que aclarar que a la hora de escribir nombro varios terminos tanto en castellano como en inglés, pero para que quede claro:

  • Página personalizada = Custom Page
  • Aplicación de lienzo = Canvas App
  • Aplicación basada en modelo = Model Driven

Y ya sin mas historias, empezamos con el tema de hoy.

¿Que son las Custom Pages?

Las custom pages son un nuevo tipo de página dentro de una aplicación basada en modelos, que lleva gran parte de la funcionalidad y las capacidades de las aplicaciones de lienzo a las aplicaciones basadas en modelos. Esto respondería a la pregunta del título dando como respuesta un rotundo sí, pero con matices.

Por lo tanto, las custom pages  aumentan la concurrencia de las Power App canvas y Model Driven, y se pueden utilizar para agregar páginas completas, cuadros de diálogo o paneles con la flexibilidad del diseñador de lienzo. También incluye una experiencia de creación de custom pages con expresiones y controles PCF (Power Apps Component Framework).

Este componente es mucho más flexible que una página de formulario, vista o panel de control de aplicación basada en modelos. Permite incluir una o más tablas, se pueden definir los datos de otros sistemas mediante conectores y permite interactuar con los elementos de la aplicación basada en modelos.

¿Dónde se ubican las Custom Page dentro de Model Driven?

Existen varias configuraciones posibles a la hora de insertar una Custom Page:

A pantalla completa, como si de un formulario o una vista se tratase.

En un cuadro de dialogo, invocado desde un botón, por ejemplo. Puede estar centrado o colocarse de manera lateral.

O en el nuevo panel lateral de las aplicaciones basadas en modelo.

¿Qué diferencia existe entre una Canvas y una Custom Page?

La pregunta es lógica, ya que comparten editor, apariencia , conectores,  etc. Una custom page permite crear una nueva experiencia de página en Power Apps model driven utilizando las capacidades de las aplicaciones canvas, es decir, son canvas capaces de ejecutarse en el contexto de las aplicaciones model driven. Esto proporciona una experiencia de creación con diseños más flexibles, más control con opciones de estilo, la capacidad de agregar datos de conectores, usar expresiones, etc. La creación de custom pages se hace en el diseñador de aplicaciones canvas pero con algunas funcionalidades (como puede ser la resolución por ejemplo) restringidas dado a que son canvas que no se ejecutaran en dispositivos móviles o tabletas.

Puede generar confusión que en model driven, se permite integrar una canvas app como un  control de formulario. En este caso estaríamos insertando una canvas app en una model driven. Este tipo de enfoque de alojamiento no está tan integrado como una custom page. La integración de una aplicación de lienzo incrustada tiene una limitación en la cantidad de aplicaciones que podemos incrustar. Sin embargo, la integración avanzada de la custom page no tiene esos límites ya que no cuenta como una aplicación de lienzo, pese a que se nutra de su tecnología. Este punto puede ser clave si tenemos un licenciamiento por app por ejemplo. Además la aplicación de lienzo incrustada solo se puede colocar en un formulario basado en modelo que actúa como un componente.

Por lo tanto, en la mayoría de los casos, es recomendable utilizar custom pages en lugar de aplicaciones de lienzo integradas para una mejor integración y un mejor rendimiento.

¿Qué tipo de licenciamiento tienen?

Las páginas personalizadas utilizan un tipo de aplicación de lienzo especial, que permite administrarla de manera diferente. La página personalizada se considera parte de la infraestructura de la aplicación basada en modelos y solo se puede utilizar dentro de una aplicación basada en modelos. Por lo tanto, sigue la licencia para la aplicación basada en modelos. Además, las páginas personalizadas no cuentan para los límites de la aplicación porque se tratan como una página en lugar de como una aplicación.

Demo Real: Custom Page en acción

Como comentaba al principio de este post, me gustaría que esta pequeña introducción sirviera de guía para que sepáis lo que son las custom page. En la sesión del Bizz Summit veremos como se construyen, como las podemos invocar desde un botón de la Ribbon, como se les puede pasar parámetros, como interactúan con la model driven y como se han convertido en un substituto de garantía de los recursos web (construidos en HTML, CSS y JavaScript) y muchas mas cosas que podréis ver en directo el 10 de septiembre a las 12:00, en el aula 1 de la universidad ESIC Business & Marketing School.

¡Os espero!