Power FX se describe como un lenguaje de programación funcional, declarativo y de uso general, fuertemente tipado, que ayuda a los usuarios a crear aplicaciones basadas en lienzos en lugar de aplicaciones basadas en modelos.
Microsoft presentó este nuevo lenguaje de programación de código abierto para su impulso de desarrollo de low-code centrado en Power Platform y su componente Power Apps.
Se espera que Power FX ayude a optimizar Power Platform que proporciona componentes para Business Intelligence (Power BI), automatización (Power Automatizar) y así sucesivamente. Eso incluye Power Apps para crear aplicaciones simples que normalmente se conectan a varios almacenes de datos y usan expresiones similares a Excel para la lógica empresarial, dirigidas a la web, dispositivos iOS y Android.
Una publicación de anuncio enumera las tres razones principales para el uso del Power Fx:
- Power Fx es de código abierto. Microsoft ha adoptado el ritmo de la innovación abierta que aceleró la adopción de lenguajes como C# y Typecript. Con Power Fx, ahora tiene ese mismo enfoque abierto al mundo del low-code. Microsoft utilizará Power Fx de código abierto, haciendo que el lenguaje esté disponible para la contribución abierta de la comunidad en general en GitHub.
- Power Fx se basa en Microsoft Excel. Usando fórmulas que ya son familiares para millones de usuarios, Power Fx permite que una amplia gama de personas aporten habilidades que ya conocen a soluciones de código bajo. Power Fx se convierte en un terreno común para que los usuarios comerciales y los desarrolladores profesionales expresen la lógica y resuelvan problemas.
- Power Fx está diseñado para low-code. Power Fx ya es la base del lienzo de Microsoft Power Apps. Pronto se amliará su uso en Power Platform a Microsoft Dataverse, Microsoft Power Automate, Microsoft Power Virtual Agents y más, facilitando aún más que todos comiencen con herramientas de bajo código.
Comenzar con herramientas de bajo código es algo que muchas empresas han estado haciendo últimamente. En los últimos años, el mercado de desarrollo rápido de aplicaciones de código bajo / sin código se ha disparado ante la creciente demanda de aplicaciones empresariales en medio de una escasez de talento profesional experimentado en codificación capaz de aprovechar el mayor poder de herramientas más avanzadas como Visual Studio y VS Code.
Microsoft está tratando de satisfacer esa demanda, y la compañía puede estar viendo un universo de crecimiento lento de codificadores profesionales para comprar sus herramientas de desarrollo, por lo que está expandiendo su enfoque completo para atraer un nuevo mercado de «usuarios comerciales comunes» con bajos costos. ofertas de código.
El movimiento en expansión para «democratizar» el desarrollo de aplicaciones utiliza una variedad de técnicas de bricolaje, que incluyen asistentes, plantillas, funcionalidad de arrastrar y soltar y desarrollo impulsado por modelos. Como se mencionó, Power FX es para aplicaciones de lienzo.
Power Fx se expresa en un texto amigable para los humanos «, explicó Microsoft en una descripción general.» Es un lenguaje de código bajo con el que los fabricantes pueden trabajar directamente en una barra de fórmulas similar a Excel o en una ventana de texto de Visual Studio Code. El ‘bajo’ se debe a la naturaleza concisa y simple del lenguaje, lo que facilita las tareas de programación comunes tanto para los creadores como para los desarrolladores. Permite el espectro completo de desarrollo desde ‘sin código’ para aquellos que nunca han programado antes hasta ‘código profesional’ para el profesional experimentado, sin aprender o reescribir acantilados en el medio, lo que permite que diversos equipos colaboren y ahorren tiempo y gastos. «
Algunos principios de diseño detrás de Power Fx incluyen, de acuerdo a Microsoft:
- Simple: Power Fx está diseñado para la audiencia de creadores que no está capacitada como desarrollador. Siempre que sea posible, utilizamos el conocimiento que el usuario ya sabría o que puede captar rápidamente. El número de conceptos necesarios para tener éxito se mantiene al mínimo. Ser simple también es bueno para los desarrolladores. Para el usuario de desarrolladores, nuestro objetivo es ser un lenguaje de bajo código que reduzca el tiempo necesario para crear una solución.
- Consistencia de Excel: el lenguaje de Power Apps se basa en gran medida en el lenguaje de fórmulas de Excel. Buscamos aprovechar tanto el conocimiento de Excel y la experiencia de los muchos fabricantes que también usan Excel. Los tipos, los operadores y la semántica de funciones están lo más cerca posible de Excel. Si Excel no tiene una respuesta, luego miramos a SQL.
- Declarativo: El creador describe «qué» quiere que haga su lógica, no exactamente «cómo» o «cuándo» debe hacerse. Esto permite al compilador optimizar al realizar operaciones en paralelo, diferir el trabajo hasta que sea necesario, precargar y reutilizar los datos almacenados en caché, etc.
- Funcional: Favorecemos funciones puras sin efectos secundarios. Esto da como resultado la lógica, que es más fácil de entender y le da al compilador la mayor libertad para optimizar. A diferencia de Excel, las aplicaciones, por su naturaleza, cambian de estado.
- Composición: siempre que sea posible, se agrega funcionalidad que se integra bien con la funcionalidad existente. Las potentes funciones se pueden descomponer en partes más pequeñas que se pueden utilizar más fácilmente de forma independiente.
- Fuertemente tipado: los tipos de todos los valores se conocen en el momento de la compilación. Esto permite la detección temprana de errores y sugerencias enriquecidas durante la creación. Se admiten los tipos polimórficos, pero antes de usarse, su tipo debe estar anclado a un tipo estático y ese tipo debe conocerse en el momento de la compilación. Las funciones IsType y AsType se proporcionan para probar y convertir tipos.
- Inferencia de tipos: los tipos se derivan de su uso sin declararse. Por ejemplo, establecer una variable en un número da como resultado que el tipo de esa variable se establezca como un número. El uso de tipos conflictivos da como resultado un error en tiempo de compilación.
En el futuro, durante los próximos dos años, Microsoft dijo que extenderá Power Fx como una oferta única de lenguaje consistente para toda la Power Platform, proporcionando una progresión en la que los creadores de aplicaciones avanzan para convertirse en creadores de bots inteligentes y convertirse en expertos en automatización.