Explorando Canvas y Model-Driven Apps: ¿cual es la mejor opción?

Que tipo de aplicacion es la mejor para mi caso. ¿que ventajas y que ventajas tiene cada opcion?

Con este articulo pretendo responder a esta pegunta y crear una guía clara para saber cuándo debemos usar una opción u otra. 

Características generales

Las aplicaciones en Canvas o de lienzo, son aplicaciones basadas en un lenguaje de programación en Power FX, muy al estilo Excel. Son ideales para crear aplicaciones de cualquier tamaño. Se generan de manera rápida a raíz de componentes ya predefinidos, aunque también tenemos la posibilidad de crear Componentes Personalizados con propiedades a medida. Ambos tipos de componentes tienen unas propiedades que podremos codificar con Power FX para que se comporten de una manera determinada. 

Las aplicaciones basadas en modelos por contra son aplicaciones que nacen a raíz del modelo de datos. Son perfectas para crear aplicaciones más complejas. Mientras que en las Canvas trabajaremos con botones, etiquetas, galerías etc....en las aplicaciones basadas en modelos configuraremos vistas, formularios, gráficos en tablas de Dataverse que podremos usar en nuestra aplicación basada en modelos. Aunque realmente este tipo de aplicaciones son No Code, se pueden personalizar y programar ciertas cosas mediante JavaScript.

Orígenes de datos

Las aplicaciones Canvas soportan múltiples orígenes de datos (Excel, Dataverse, SQL, SharePoint Online...hay más de 200 conectores para estas aplicaciones), en cambio las aplicaciones basadas en modelos solo soportan Dataverse como único origen de datos.

Personalización

En las aplicaciones Canvas podremos implementar cualquier logo, fondo, color o personalización es muy sencillo, incluso las fuentes propias si están instaladas en el equipo se podrán usar en las aplicaciones Canvas. Tener la posibilidad de desarrollar componentes propios o descargarlos desde la web también nos permite que sean mucho más personales. Todo ello hace que estas aplicaciones sean mucho más atractivas para los usuarios.

Las aplicaciones basadas en modelos se pueden personalizar, sí, pero no tienen una capa tan grande de personalización ni es tan intuitivo como en las Canvas Podremos ocultar y mostrar botones, crear gráficas y vistas pero no tenemos tanto poder de personalización como en las Canvas. 

Aplicaciones responsivas

Las aplicaciones de lienzo por contra no son responsivas, debemos de utilizar contenedores y ajustar las posiciones y lo tamaños para poder hacerlas responsivas.

Las aplicaciones basadas en modelos son aplicaciones responsivas por defecto, podemos usarlas en cualquier tipo dispositivo y en cualquier resolución y la aplicación se verá correctamente.

Licenciamiento

En temas de licenciamiento también hay diferencias. Las aplicaciones basadas en modelos requieren siempre de una licencia premium ya que solo se pueden usar con Dataverse como origen de datos.

Las de lienzo, si tienen algún conector premium (incluido Dataverse) también requerirán Power apps premium, sino tienen conectores premium valdra con la licencia gratuita de PowerApps.

El tema del licenciamiento siempre da para mucho, en este caso creo que es interesante mencionar que con la licencia de Power Apps premium viene incluida Power Automate premium dentro del mismo contexto de la aplicacion, es decir…siempre que el Power Automate se lance desde la misma aplicación.

Seguridad

Este punto daría para un artículo completo. Es un punto que siempre preocupa a todas las compañías. Ambos tipos de aplicaciones están protegidas por una seguridad a nivel de entorno, de aplicación. La diferencia de la seguridad está en el origen de los datos. Como las Model Driven solo usan Dataverse, los datos estarán protegidos por roles de Dataverse que nos darán acceso a tablas y también nos darán una seguridad a nivel de registro. En el caso de las Canvas como podemos tener diferentes orígenes de datos la seguridad en el back-End vendrá dada por ese origen de datos.

Ambos tipos de aplicaciones pueden compartirse tanto con usuarios internos como externos. 

Accesibilidad

Las aplicaciones basadas en modelos vienen ya preparadas para personas con discapacidades visuales, auditivas o motoras. Es una gran ventaja cuando vamos a diseñar aplicaciones que puedan ser utilizadas por personas con estas discapacidades, un tema que siempre deberíamos de tener en cuenta, ya que muchas veces no sabemos quién puede llegar a utilizar estas aplicaciones.

En las aplicaciones de lienzo deberemos de diseñar y configurar las aplicaciones para que sean accesibles, es decir, tienen capacidad para ser accesibles, pero tendremos que configurarlo.

Casos Prácticos

Casos típicos de aplicaciones en Canvas

  • Inscripción al evento
  • Solicitudes de aprobación.
  • Registros de datos

Casos típicos de aplicaciones basadas en modelos

  • Diseño de procesos de negocio y flujos de trabajo
  • Gestión de oportunidades
  • Gestión del servicio de atención al cliente
  • Gestión de eventos

Resumen

Caracteristica Canvas Model Driven
Lenguaje Power FX No code (JS)
Conectores + 200 conectores dataverse
licenciamiento gratis si no usamos conectores premium Premium
Presonalizacion Totalmente presonalizable Parcialmente presonalizable
Experiencia de usuario Orientado a componente sin codigo Usando expresiones de Power FX
Responsive Bajo Programacion Si
Seguridad Basada en el origende datos Roles de seguridad de Dataverse
Validacion de datos y Bussines rules Manual Integrada
Complejidad Adecuado para diversas aplicaciones. Ideal para aplicaciones complejas

Añadir comentario

Comentarios

Todavía no hay comentarios