Componentes Reutilizables en Power Apps: Guía Completa para Desarrolladores
Juan Carlos Santiago
Introducción a los Componentes Canvas en Power Apps
Durante mis años como consultor de Power Platform, he visto cómo los componentes reutilizables transforman la forma en que desarrollamos aplicaciones. Un componente canvas es un bloque de construcción encapsulado que contiene controles, lógica y propiedades personalizadas, permitiéndote utilizarlo múltiples veces sin duplicar código.
Los beneficios son claros: mantenimiento centralizado, consistencia visual, reducción de errores y velocidad de desarrollo acelerada. Veamos cómo aprovecharlos al máximo.
¿Qué Son Exactamente los Componentes Canvas?
Los componentes canvas son contenedores reutilizables que encapsulan funcionalidad dentro de Power Apps. A diferencia de los componentes PCF (Power Apps Component Framework), los componentes canvas se crean enteramente dentro del editor visual.
Características principales:
- Propiedades de entrada y salida configurables
- Lógica encapsulada y aislada
- Reutilización sin límites dentro de la aplicación
- Fácil mantenimiento y actualización
Creando tu Primer Componente: Header/Navegación Personalizado
Comencemos con un ejemplo práctico. Un componente de encabezado es fundamental en cualquier aplicación profesional.
Paso 1: Crear el Componente
- En Power Apps Studio, selecciona Insertar > Componente > Nuevo componente
- Nombra el componente como
HeaderNavegacion - Establece el tamaño base (ancho: 1920px, alto: 80px)
Paso 2: Agregar Propiedades de Entrada
Haz clic en Editar propiedades personalizadas y crea:
Propiedad: TituloApp
Tipo: Texto
Valor por defecto: "Mi Aplicación"
Propiedad: NombreUsuario
Tipo: Texto
Valor por defecto: "Usuario"
Propiedad: MostrarMenu
Tipo: Booleano
Valor por defecto: verdadero
Paso 3: Diseñar la Interfaz
Añade los siguientes controles dentro del componente:
- Un control Rectangle como fondo (color azul oscuro)
- Un control Label para el título que use
TituloApp - Un control Label para mostrar
NombreUsuarioalineado a la derecha - Un control Button para el menú (si
MostrarMenu = verdadero)
Rectangle1.Fill = ColorValue("#003366")
Label_Titulo.Text = TituloApp
Label_Usuario.Text = "Bienvenido, " & NombreUsuario
Button_Menu.Visible = MostrarMenu
Propiedades de Entrada y Salida
Las propiedades son el corazón de los componentes reutilizables.
Propiedades de Entrada (Input)
Estas permiten que el padre del componente envíe datos:
Propiedad: ColorPrimario
Tipo: Color
Valor por defecto: ColorValue("#0078D4")
Propiedades de Salida (Output)
Permiten que el componente comunique eventos o cambios:
- Selecciona Editar propiedades personalizadas
- Crea una propiedad de salida:
Propiedad: AlUsuarioPresionar
Tipo: Evento
- En el evento OnSelect del botón, escribe:
RaiseEvent(AlUsuarioPresionar, NombreUsuario)
Construyendo una Barra de Búsqueda Reutilizable
Otro componente esencial es la barra de búsqueda. Vamos a crear uno.
Estructura del Componente
Propiedades de Entrada:
TextoPlaceholder: "Buscar..."
AnchoBarra: 400
PermitirFiltros: verdadero
Propiedades de Salida:
TextoIngresado: Evento
FiltroAplicado: Evento
Implementación
// Controles necesarios:
// TextInput_Busqueda - para el texto
// Button_Buscar - botón de búsqueda
// ComboBox_Filtros - opcional para filtros
TextInput_Busqueda.Hint = TextoPlaceholder
TextInput_Busqueda.Width = AnchoBarra
ComboBox_Filtros.Visible = PermitirFiltros
// Evento OnSelect del botón buscar
RaiseEvent(TextoIngresado, TextInput_Busqueda.Value);
if(PermitirFiltros,
RaiseEvent(FiltroAplicado, ComboBox_Filtros.Value)
)
Creando Bibliotecas de Componentes
Para maximizar la reutilización entre aplicaciones:
- Crea una app dedicada para almacenar componentes (ej: "ComponentesPlatforma")
- Organiza por carpetas: Navegación, Entrada, Visualización, Utilidades
- Exporta componentes: Selecciona el componente > Exportar > Guarda como componente
- Importa en otras apps: Insertar > Componente > Importar desde este archivo
Componentes Canvas vs PCF (Code Components)
Usa Componentes Canvas cuando:
- Necesitas reutilización simple dentro de Power Apps
- La lógica es visual y basada en controles estándar
- El equipo no tiene experiencia en TypeScript
- El mantenimiento debe ser rápido y sin compilación
Usa PCF cuando:
- Requieres funcionalidad compleja o especializada
- Necesitas máximo rendimiento con grandes volúmenes de datos
- Integración con librerías JavaScript específicas
- Compatibilidad con aplicaciones basadas en modelos
Pro Tip
Mantén tus componentes pequeños y enfocados. Un componente que hace demasiadas cosas es difícil de mantener y reutilizar. Además, documentación dentro del componente es tu mejor amiga: agrega etiquetas de comentarios explícitas en las propiedades personalizadas describiendo qué se espera en cada parámetro. Finalmente, versionado es crítico—cuando actualices un componente en producción, considera incrementar un número de versión en el nombre o descripción.
