Microsoft Power Fx – An Open-Source Low-Code Programming Language

Microsoft Power Fx – An Open-Source Low-Code Programming Language Based on Excel

Author image By Tejas Patel  |  Friday, March 12, 2021 03:15 PM  |  4 min read  |   675

Microsoft Power Fx

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

  • Simple

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.

  • Excel consistency: 

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.

  • Declarative: 

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. 

For instance: 

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.

  • Functional:

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.

  • Composition: 

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.

  • Strongly typed

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.

  • Type inference: 

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.

Closing thoughts:

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. 

To learn more about Power Fx and get hands on it contact Concetto Labs today!

Contact Us

 


Author image

Tejas Patel

Tejas Patel is a Co-Founder of Concetto Labs and he have 18+ years of technical experience in building high quality and scalable Web & Mobile Applications.

Why Our Client Love Us?

  • Fast kick-off
  • Agile Ready
  • 98% Client Retention
  • 360-Degree solutions

Our integrity and process focuses largely on providing every customer the best recommendations for their respective business. Our clients become recurring customers because we always go beyond their expectations to deliver the best solutions.

Get In Touch
Kamika Kilgore
Customer for over 2 years Kamika Kilgore United States

Concetto Labs has been a fantastic partner in consistently delivering high quality, high value solutions to our organization. Their team does an excellent job of first understanding our processes and requirements, and then translating them into solutions that meet or exceed expectations. Concetto Labs has helped us simplify multiple processes and workflows as well as suggested additional improvements we had not considered. Their communication and follow-through are top tier. They have proven themselves to be a trusted partner and we look forward to leveraging their services on future projects.

Mr. Sieva Savko
Customer for over 4 years Mr. Sieva Savko Norway

Concetto Labs have provided us with a tremendous amount of help. Their competence in various IT fields led to a positive outcome while facing different challenges. A lot of value was given by their helpful professional staff. To describe this company in three words: effectiveness, collaboration, trust. I would also like to personally thank Mr. Tejas Patel for his positive, friendly, and highly competent approach. The all-around support provided by him made every task at hand a no-brainer.

Miss. Caroline Jack
Customer for over 4 years Miss. Caroline Jack South Africa

It has been an absolute pleasure working with the Concetto Labs team! We have worked together on a few projects now, all of which have been successful. You can rely on good communication and response times from these guys. And they go above and beyond to ensure that the result is achieved. Because of their great service, they have become an integral part of our business and we will continue to use them going forward.

Mr. Richard Bartlett
Customer for over 3 years Mr. Richard Bartlett United States

Concetto Labs is a group of incredibly talented individuals. They are very responsive and communicate with you each and every step of the process. I worked with Manish Patel throughout the entire process and must say that I have never conducted business with a more honest and professional individual. Together with his team, Manish created www.travcentiverewards.com exactly how we envisioned it to be. Thanks for all of your hard work.

Mr. Conrad Abraham
Customer for over 2 years Mr. Conrad Abraham United States

Concetto Labs team is my go-to for any simple or complex development projects. They have risen to the challenge. Great project management, communication, and super quick turnaround. I've done multiple projects with them and don't plan on changing that.

Mr. Edward Chin
Customer for over 4 years Mr. Edward Chin Canada

Concetto Labs was able to bring my complex idea to life. Throughout the project, Concetto Labs maintained constant communications and was always professional - considering I had no experience in what I wanted to create their welcoming attitude, patience, and knowledge in the field created the perfect environment to work in. I was so impressed with their work that I've kept them on board as my go-to experts. Thanks for the worthwhile experience and the breathtaking product.

Karuna Govind
Karuna Govind CTO & Co Founder (Coupay) London, UK

We started working with Concetto Labs due to the influx of work on mobile (Flutter) and frontend (React.js). It's been fantastic working with them. Good, consistent communication and good quality of work means they may be our first choice for many projects to come.

Arunabha Choudhury
Arunabha Choudhury Director (Fuzzann Technologies Private Limited) India

We are a healthcare IT company and wanted to build a Mobile Application for both Android and IOS using Flutter. The Concetto Lab team has been very patient with our project requirements and made sure all our queries are answered. It was a great show of professionalism and customer relationship. Even during the project, the team was very accommodating of all the changes we requested. The project was delivered successfully and we deployed the app in the Android Play Store. Overall, the entire process has been very transparent and the team was able to deliver exactly what we had envisioned the project outcome to look like.

GlobalClients
Good Firms Clutch App Futura Microsoft Associate Mobile App Top Developers Gesia