¿Qué es el código bajo?

Completado

¿Qué es poco código y cómo se usa en Power Apps basadas en lienzo?

Usted y Kiana han trabajado durante mucho tiempo en el mismo equipo de desarrollo tradicional o de "alto código" en VanArsdel. Ha desarrollado de todo, desde aplicaciones de .NET Core Console hasta API web de ASP.NET Core para bibliotecas reutilizables compartidas a través de NuGet. Cuando se siente a aprender Power Apps en una formación sobre desarrollo tradicional, ayuda a comprender qué se entiende por "poco código".

El término "poco código" puede significar diferentes cosas para distintas personas cuando lo escuchan por primera vez. A lo que nos referimos cuando hablamos de poco código es a que con herramientas como Power Apps, solo tiene que escribir una pequeña cantidad de código para obtener resultados que normalmente tomarían varias líneas más de código en un lenguaje de programación tradicional.

En Power Apps basadas en lienzo, el lenguaje de scripting de poco código que se usa se denomina Power Fx; ese es el lenguaje que aprenderemos y usaremos a lo largo de este módulo para crear nuestra aplicación.

Tome esto como ejemplo: para buscar el nombre del empleado para un pedido, se escribiría la fórmula de Power Fx o JavaScript equivalente como se muestra en la siguiente animación. Esta animación muestra la asignación entre las partes de la fórmula de Power Fx y los conceptos que deben codificarse explícitamente en el JavaScript equivalente.

Comparación de Power Fx y JavaScript

Veamos más a fondo todo lo que hace Power Fx por nosotros y la libertad que tiene para optimizar porque la fórmula era declarativa:

Asincrónico

Todas las operaciones de datos en Power Fx son asincrónicas. El desarrollador no necesita especificar esto, ni tampoco tiene que sincronizar una vez finalizada la llamada. Lo más importante es que el desarrollador no necesita conocer este concepto en absoluto, no tiene que saber qué es una promesa o función lambda.

Local y remoto

Power Fx usa la misma sintaxis y funciones para los datos que se encuentran en la memoria local y remota una base de datos o un servicio. El usuario no tiene que pensar en esta distinción. Power Fx delega automáticamente lo que puede al servidor para procesar los filtros y clasificarlos de manera más eficiente.

Datos relacionales

Pedidos y Clientes son dos tablas diferentes, que se relacionan a través de una relación de varios a uno. La consulta OData requiere un "$expand" con conocimiento de la clave extranjera, similar a un Join en SQL. La fórmula no tiene nada de esto, de hecho, las claves de la base de datos son otro concepto que el creador no tiene que conocer. El creador puede usar una sencilla notación de puntos para acceder a todo el gráfico de relaciones de un registro.

Proyección

Al escribir una consulta, muchos desarrolladores escribirán "select * from …" que devuelve todas las columnas de datos. Power Fx analiza todas las columnas que se usan en toda la aplicación, incluso en las dependencias de fórmulas. La proyección se optimiza automáticamente y, de nuevo, el creador ni siquiera necesita saber qué significa esa palabra.

Recupera solo lo necesario

En este ejemplo, la función LookUp implica que solo se debe recuperar un registro y eso es todo lo que se devuelve. Si se solicitan más registros mediante la función Filter, para la que se pueden calificar miles de registros, solo se devuelve una página de datos a la vez, del orden de cien registros. El usuario debe recorrer una galería o una tabla de datos para ver los datos adicionales, que se le presentan automáticamente. El creador puede razonar sobre grandes conjuntos de datos sin necesidad de pensar en limitar las solicitudes de datos en partes razonables.

Ejecuta solo cuando es necesario

Definimos una fórmula para la propiedad Text del control de etiqueta. A medida que cambia la variable Selected, la función LookUp se vuelve a calcular automáticamente y la etiqueta se actualiza. El creador no tenía que escribir un controlador OnChange para Selection, necesitando recordar que esta etiqueta depende de este. Se trata de una programación declarativa, tal y como se mencionó anteriormente; el creador ha especificado lo que quería tener en la etiqueta, pero no cómo ni cuándo debería capturarse. De hecho, si esta etiqueta no es visible porque se encuentra en una pantalla que no es visible o si su propiedad Visible es falsa, podemos aplazar este cálculo hasta que la etiqueta sea visible y eliminarla si raramente ocurre eso.

Traducción de sintaxis de Excel

Cientos de millones de usuarios usan Excel. La mayoría de ellos saben que "&" se usa para la concatenación de cadenas. JavaScript usa "+" y otros lenguajes usan ".". Power Fx va al encuentro de los creadores allá donde estén, aprovechando los conocimientos que ya tienen.

Nombres para mostrar y localización

"First Name" se usa en la fórmula de Power Fx, mientras que nwind_firstname se usa en el equivalente de JavaScript. En Dataverse y SharePoint, hay un nombre para mostrar para campos y tablas, así como un nombre lógico único. Los nombres para mostrar suelen ser mucho más sencillos de usar, como en este caso, pero tienen otra cualidad importante: se pueden localizar. Si tiene un equipo multilingüe, cada miembro del equipo puede ver los nombres de las tablas y los campos en su propio idioma. En todos los casos, Power Fx garantiza que se envíe automáticamente el nombre lógico correcto a la base de datos.

Siempre activa

Hay otro rasgo de Excel que es fundamental para los desarrolladores civiles: los comentarios inmediatos. Si se para a pensar en ello, Excel no tiene modo de edición, paso de compilación ni estado de ejecución. Lo bueno es que probablemente nunca antes se lo había planteado: carga su hoja de cálculo, edita fórmulas y valores libremente y obtiene sus respuestas. La hoja de cálculo siempre está activa en Excel y no hace distinción entre edición y ejecución. Los cambios en cualquier valor o fórmula se propagan inmediatamente por toda la hoja de cálculo y el creador puede buscar rápidamente la respuesta correcta. Todos los errores que detecta Excel aparecen de inmediato y no interfieren con el resto de la hoja de cálculo.