Microsoftは、「Excel」の数式をベースにしたオープンソースのローコードプログラミング言語「Microsoft Power Fx」を発表した。Excelの数式や関数に慣れていればノーコードやローコードで開発でき、他のプログラミング言語と組み合わせた「プロコード」でもアプリケーションを開発できるという。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2021年3月2日(米国時間)、「Microsoft Power Fx」を発表した。Power Fxは「Microsoft Excel」の「数式」をベースにしたオープンソースの汎用(はんよう)プログラミング言語。
プログラミング未経験者によるノーコード開発から、ベテランのプロ開発者によるプロコード開発まで、あらゆる場面で利用でき、多様なチームがこの言語を用いてコラボレーションを重ね、時間や費用を節約できると、Microsoftは述べている。
Power Fxは宣言型の数式でオブジェクトをバインドする。Microsoftは次のような例を挙げて説明している。
「UIコントロールのVisibleプロパティが表計算ソフトウェアのセルのような役割を果たす。関連付けられた数式が、他のコントロールのプロパティに基づいて、値を計算する。数式のロジックは、表計算ソフトウェアの場合と同様に自動的に再計算を進め、それがコントロールの見た目に影響する」。必要に応じて今後は命令型ロジックも提供するという。
「スプレッドシートを作るのと同じように、アプリケーションを簡単に作れるとしたら?」「既存のスプレッドシートの知識を活用できるとしたら?」という疑問が、Power Fxが登場したきっかけとなったのだという。
Power Fxは強く型付けされた宣言型の関数型言語であり、人間が読みやすいテキストで表現される。アプリケーションソフトウェアのベンダーが、Excelと似た数式バーや、「Visual Studio」のテキストウィンドウで直接扱えるローコード言語だ。「ロー」とはこの言語の簡潔でシンプルな性質に由来しており、ベンダーも開発者も、この言語で一般的なプログラミングタスクを簡単に実行できる。
次の表は現時点のPower Fxで利用可能な関数の一覧であり、緑色の背景が付いた関数はExcelの関数と同じ働きをするか、またはほとんど変わらないものを示す。Excelには膨大な機能が備わっているため、Excel開発チームとコラボレートしながら、どの機能を追加するかを決めていくとしている。
Excelで計算する場合、式を書くだけではなく、特定のセルから値を取り出し、それを別のセルに書き込む。Power Fxの演算もこれと同じだ。Power Fxではセルがコントロールかオブジェクトのプロパティに置き換えられる。
次の例は、Stack OverFlowに掲載された質問を解くためのExcelシートの内容だ。文章を入力すると最後の単語を抜き出す処理を実行している。
これと同じ処理を実行するPower Fxのコードは次のようになる。Excelと異なるのは、セルへの参照がコントロールプロパティへの参照に変わっているところだけだ。
Copyright © ITmedia, Inc. All Rights Reserved.