Desarrollo imperativo frente a desarrollo declarativo
Este módulo incluye algunos conceptos que pueden parecer estar muy centrados en el desarrollador, pero no se preocupen. El objetivo es ayudarle a comprender y aplicar algunos de estos conceptos para crear mejores aplicaciones.
Imperativo frente a declarativo
Hay dos maneras principales de abordar el desarrollo:
El desarrollo imperativo se centra en cómo lograr un objetivo. El desarrollo declarativo se centra en qué resultado usted desea.
El desarrollo imperativo proporciona más control porque define cada paso del proceso. Esa flexibilidad suele tener más complejidad. El desarrollo declarativo es más sencillo y fácil de leer, pero puede limitar la cantidad de control que tiene sobre la ejecución.
Programación imperativa
Para entender mejor la programación imperativa, imaginemos un bocadillo que queramos comernos. En la programación imperativa, se centra en crear el sándwich en el "código". Ve a la cocina, consigue los ingredientes, junta el sándwich y luego envíalo al usuario. Pasa mucho tiempo en los pasos, pero tiene todas las funciones específicas que desea para hacerlo tal y como desea. ¿No queremos tomate? No hay problema. En un lenguaje de programación completamente compuesto, el código podría tener un aspecto similar al siguiente.
Función Crear bocadillo
{ Ir a la cocina;
Obtener los ingredientes;
Quitar tomate;
Ensamblar sándwich;}
Función Enviar bocadillo
Destino Bóveda
Como puede apreciarse, el proceso se compone de muchos pasos, pero obtendremos justo el bocadillo que queremos. Este es el enfoque que ve en lenguajes como C# u otros lenguajes de codificación populares. Lo importante es insertar los datos.
Declarativo
Para entender la programación declarativa, pensemos en el mismo escenario del bocadillo. La diferencia es que ahora te centras en producir el sándwich, no en cómo hacer un sándwich. Esta labor es mucho menos compleja, pero también podrían surgir problemas con el tomate. Si la función que utilizas para pedir el sándwich no admite la opción de sin tomate, estás sin suerte. 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, {Tomate: false})
Las herramientas con escaso código (como Excel) usan este método de desarrollo. Lo importante es extraer datos.
Power Apps admite metodologías imperativas y declarativas
Power Apps tiene funcionalidades para la lógica imperativa y declarativa. A lo largo de este entrenamiento, se ha centrado en las fórmulas declarativas. En el resto de este módulo, el enfoque se centra en conceptos imperativos y metodologías en Power Apps. El componente clave de la lógica imperativa en Power Apps es variables.
En la unidad siguiente se tratan los distintos tipos de variables y cómo usarlos en modo imperativo.