Desarrollo imperativo frente a desarrollo declarativo

Completado

Tras completar las rutas de aprendizaje recomendadas anteriores, debería tener unos conocimientos bastante sólidos sobre Power Apps. En esta ruta de aprendizaje, conoceremos algunos de los conceptos más avanzados que admite Power Apps.

Este módulo incluye algunos conceptos que pueden parecer especialmente centrados en el desarrollador, pero no se preocupe. El objetivo es ayudarle a comprender y aplicar algunos de estos conceptos para crear mejores aplicaciones.

Imperativo frente a declarativo

Hay dos formas de desarrollo principales, imperativa y declarativa. El desarrollo imperativo se centra en cómo conseguir el objetivo, mientras que en el declarativo lo importante es obtener el resultado. El desarrollo imperativo proporciona una mayor flexibilidad, porque puede controlar cada paso del proceso, pero implica más código y una mayor complejidad. El desarrollo declarativo es mucho más sencillo y fácil de usar, pero podría carecer de todo el control que posiblemente quiera.

Programación imperativa

Para entender mejor la programación imperativa, imaginemos un bocadillo que queramos comernos. En la programación imperativa, nos ocuparíamos de crear el bocadillo en el "código"; esto es, ir a la cocina, reunir los ingredientes, montarlo todo en el bocadillo y, finalmente, dárselo al usuario. Dedicaríamos mucho tiempo en los pasos, pero tendríamos todas las funciones específicas que buscamos para que el bocadillo sea exactamente como queremos. ¿No queremos tomate? No hay problema. En un lenguaje de programación completamente inventado, nuestro código podría ser algo parecido a esto.

Función Crear bocadillo

{ Ir a la cocina;

Obtener los ingredientes;

Quitar tomate;

Montar el bocadillo;}

Función Enviar bocadillo

{ Boca de destino;}

Como puede apreciarse, el proceso se compone de muchos pasos, pero obtendremos justo el bocadillo que queremos. Este es el método que verá en lenguajes como C# o en otros lenguajes de programación conocidos. Lo importante es insertar los datos.

Declarativo

Para entender la programación declarativa, pensemos en el mismo escenario del bocadillo. La diferencia ahora estriba en que lo importante es obtener el bocadillo, no cómo hacerlo. Esta labor es mucho menos compleja, pero también podrían surgir problemas con el tomate. Si la función que usamos para obtener el bocadillo no admite la opción de prescindir del tomate, mal asunto. El código puede ser tan sencillo como el siguiente.

ObtenerBocadillo(Cocina, Boca)

Esta función inventada contempla dos entradas: de dónde obtener el bocadillo y dónde enviarlo. No existe opción alguna para quitar el tomate. Sería decisión del creador de la función ObtenerBocadillo agregar una opción para no incluir el tomate, lo que podría tener el siguiente aspecto.

GetSandwich(Kitchen, Mouth, {Tomato: false})

Las herramientas con escaso código (como Excel) usan este método de desarrollo. Lo importante es extraer datos.

Power Apps admite los métodos tanto imperativo como declarativo.

Power Apps tiene capacidades para la lógica tanto imperativa como declarativa. A lo largo de este curso, nos hemos centrado en las fórmulas declarativas. En lo que queda de este módulo, nos centraremos en los conceptos y métodos imperativos en Power Apps. El componente clave de lógica imperativa en Power Apps son las variables.

En la siguiente unidad abordaremos los distintos tipos de variables y cómo usarlas de modo imperativo.