In the recent 20 years, the types of devices and technologies available to companies and industries have soared high. The speed of the digital transformation escalated by the growth of the public cloud and demands more services. And, the applications at a speed lot quicker than developers write and code. The demand services need to be versatile, secure, scalable and improve effectiveness. And thus, lessens the reliance on developers.
Since the past few years, the low code paradigm has become extremely famous to assemble applications and services in a faster way.
Following the trend of low-code platforms, Microsoft has introduced a new programming language called Microsoft Power Fx. A reliable low-code programming language across Microsoft clouds and power platforms. The language will be soon available on GitHub as open-source; says Charles Lamanna – Corporate VP of low-code app stage at Microsoft.
Moreover, Gartner acknowledged Microsoft as the leader in the enterprise low-code application platform magic quadrant.
So, what exactly is Microsoft Power Fx? What are its design principles? How will it help a business to excel ahead? Let’s find out.
What exactly is Microsoft Power Fx?
Microsoft New Power Fx is a general-purpose, strongly typed, declarative, and functional programming language. It aids users in creating canvas-based applications to counter to model-based applications.
Being a low-code language, it allows users to work directly with excel-like formulas or visual studio code text windows. Power Fx enables a wide range of development from “no-code” for those who haven’t done any coding before to “pro-code” for seasoned developers. Thus enabling a diverse range of teams to collaborate and work together to save time and expenses.
Why Power Fx – A low code programming language is wide-adopted by developers?
Below are a few reasons to get excited about introducing Microsoft Power Fx. as a low-code language for the current and non-pro developers.
It is open source:
An open-source programming language is the future of the languages. And Microsoft has embraced this innovation by accelerating the adoption of languages like TypeScript and C#. Introducing Power Fx, the company is bringing the same low-code approach to the world. Making it open for contributors and the developer’s community on GitHub.
It is based on Microsoft Excel:
By incorporating formulas that are already familiar to millions of users. Power Fx opens the door for a broad range of people to showcase their skills which they already know to low code solutions. It acts as a common ground for business users and professional developers to express their logic in an easier way to solve problems.
It is built for low-code:
Since the foundation ground of the Microsoft Power Apps Canva. It is shortly going to extend its usage across Power Platforms to Microsoft Dataverse, Microsoft Power Virtual Agents. Microsoft Power Automate, and beyond which in turn makes it easier for everyone to get started with the low code toolsets.
Now let’s have a look at the design principles on which Microsoft Power Fx strongly relies.
Design Principles of the Microsoft Power Fx
Power Fx is especially targeted for non-pro or untrained developers who are not aware of the coding languages. So as and when needed, it will use existing tools and resources that users are familiar with to pick up quickly. The number of such concepts is kept to a minimum since it is just the beginning. The low-code platform is introduced to reduce the development time, efforts, and resources required to build a solution.
The PowerApps language relies majorly on the Excel formula language. The company tried to leverage as much Excel knowledge in form of Types, operators, functions, and semantics which are quite close to excel as much possible. If Excel fails to give answers, SQL would be the next thing to look up since it’s the next most commonly used declarative language to guide on data operations and strong typing.
The makers will describe “what” they want their logic to do instead of “how” or “when” it needs to be done. It will allow the compiler to optimize the current operations in parallel, postpone the work till needed, pre-fetch and reuse the cached data, and so on.
In an Excel spreadsheet, the user defines the relationships between cells but Excel will decide the formula order and when it needs to be evaluated. Similarly, formulas in an app can be recalled based on user actions, database changes, or timer events.
Power Fx favors functions to be called without any post-action effects. This gives freedom to the compiler to optimize the logic instead of mutating the state (in Excel). For eg: Applications hold buttons that save the changes in database records.
As and when possible, functionality is added that composes well with the existing functionality which can be further decomposed into smaller parts so that it can be implemented independently.
For eg: A gallery function does not hold separate Sort and Filter properties. Instead, the Sort and Filter functions are composed as a single property which is then layered on top of the feature.
All the value types are known at compile time. It allows early detection of errors and provides rich suggestions while authoring. Though polymorphic types are supported, before used, they need to be converted into the static type and must be known at compile time. The IsType and AS Type functions are provided for casting and testing types.
Here, Types are derived from their use without being declared. For example, setting a variable to a number results in the variable’s type = number. Conflicting type usage results in a compile-time error.
Microsoft Power Fx- what does the future predict?
Going forward over a few couples of years, Microsoft is planning to extend Power Fx as a singular consistent language offering for the Power Platform- A progression in which app makers can advance from being bot makers to intelligent automation experts.
As per the company, the original idea of the founding team was to build a language with three things: familiar to millions of Excel users, content-centric and not a program(logic) centric, and instant calculation in real-time. Microsoft has even set up a Github library for an open-source where you can learn and share your thoughts about the language.
There is a huge demand at a large organization to boost internal PowerApps development with high-efficiency and low-code platforms like this will do wonders. Such demand is being arisen for consumer-grade mobile and web apps where a push for better collaboration of IT and business groups is investable. Microsoft Power Fx implementation will not only boost the development but reduce manpower and resource costs.
Microsoft Power Fx – An Open-Source Low-Code Programming Language