The announcement: 

In the recent event of Microsoft Ignite 2021, Charles Lamanna- The corporate vice president of the Redmond company took the low-code aspect of their platform to next level by introducing a new low-code programming language, Power FX. The announcement was during the ongoing session of “What’s new and next with Microsoft power platform”.

With the COVID-19 pandemic hitting the world hard, the no-code/low-code trends remain the mainstay since last year. The Power platform was considered to be the most robust due to its wide range of capabilities to enable citizen developers to build solutions that increase business workflow. The idea was to drive app development and automation down to employees as they have in-depth knowledge of their business process.

Behind Microsoft Power Fx – What makes it a highly flexible language?

Microsoft Power Fx is an open-source low-code programming language. It is a strong-type, general-purpose, declarative, and functional programming language that can directly edit apps in multiple text editors like Visual Studio Code, Excel, and alike formula bar.

According to Ryan, the Power Fx is built on a similar syntax that is used by millions of developers currently to solve computation and logic problems.

Amongst multiple features, some of the features include the ability to edit apps directly in text editors like visual studio code. It helps developers and professionals to go faster and find common attributes and variables with millions of makers.

Some of the intuitive features of this low-code language are

  • It is open-source: The tech giant and Microsoft experts have already made the language publicly available on GitHub. 
  • The language is based on Microsoft Excel: Incorporating Microsoft Excel formulas, Power Fx allows a wide range of people to leverage skills they already know to build low code solutions.
  • Power Fx is built for low-code programming: The Microsoft developers are planning to extend the use of the language across multiple platforms including Microsoft Dataverse, Microsoft Power Virtual Agents, Microsoft Power Automate, and beyond.
  • Local and remote: This low-code language makes use of the same syntax and functions for data, which is already local in-memory and remote in a database.
  • Strongly typed: Power Fx is a strongly typed language which means that all value types are recognized at compile time. This helps in detecting the errors and bugs at an early stage.
  • Asynchronous. Since all the data operations in Power Fx are asynchronous, developers do not need to specify this or neither synchronize after the call. It is fine if the developers are unaware of this concept.
  • Relational data. Consider Orders and Customers are two different tables with a many-to-one relationship. The OData query requires an “$expand” with a foreign key, similar to a Join in SQL. Though the formula has none of this, developers can make use of a simple dot notation to access the entire graph of relationships from a record.
  • Projection. While writing a query, many developers will write “select * from …” which triggers to bring back all the data columns. With Power Fx, it will analyze all the columns used through the entire app, even across formula dependencies. With this, projection is automatically optimized.

How does it work?

Based on spreadsheet-like formulas, Microsoft Power Fx is a low-code programming language. It binds the objects together with declarative spreadsheet-like formulas. The language is currently integrated into Power Apps canvas apps.

If you’re using this language, an expression by itself has no meaning. It is up to the developers, whether they want to place it as a variable or as a function. Furthermore, instead of writing an expression with no meaning, you can write a formula that binds an expression to an identifier.

Benefits of Power Fx

The language enables a wide range of development from “no-code” for those who aren’t familiar with the programming to “pro-code” for the professionals. There is no need for learning or rewriting cliffs in between which enables multiple teams to collaborate and work together to save time and expense.

Another benefit of Power Fx is that it works like a live worksheet with an incremental compiler that keeps the program in sync with its data operation in continuous mode. It also provides a rich editing experience with suggestions, autocomplete, IntelliSense, and type checking.

Wrapping up:

It is anticipated that Microsoft will expand its Power Fx’s features to add support for formula-based and model-driven app customization and dataverse plugins. By the end of this year, better support in terms of dataverse calculated columns, Power virtual agents, and AI builder data preparations is expected.

Author's Bio: 

Manish Patel is a Co-Founder of Concetto Labs, a leading mobile app development company specialized in android and iOS app development. We provide a one stop solution for all IT related services.