(本投稿は米国時間2021年3月2日付の ブログ投稿 の日本語抄訳です。内容に齟齬がある場合、原文を正とさせていただきます。)
本日は、Microsoft Power Platform ファミリに新たに加わった Microsoft Power Fx (英語) を紹介します。Microsoft Power Fx は、Microsoft Excel をベースとしたロー コード向けのオープン ソース数式言語です。
Power Fx が期待されている主な理由は次の 3 点です。
- Power Fx はオープン ソース。プログラミングの未来はオープンにあります。マイクロソフトは、C# や Typescript といった言語の普及を後押ししてきたオープン イノベーションと足並みを揃えてきました。Power Fx でも、ロー コードの世界に対して同じオープンなアプローチを採っています。Power Fx をオープン ソース化して、GitHub の幅広いコミュニティがこの言語にコントリビュートできるようにします。
- Power Fx は Microsoft Excel がベース。Power Fx には多くのユーザーに慣れ親しまれている数式を採用しているため、幅広い層の人々が既に習得しているスキルをロー コード ソリューションに応用できます。Power Fx は、ビジネス ユーザーとプロの開発者の両方がロジックを表現し問題を解決できる、共通の土台となります。
- Power Fx はロー コードのための言語。Power Fx は既に Microsoft Power Apps キャンバスの基盤となっています。近くその用途を Power Platform から Microsoft Dataverse、Microsoft Power Automate、Microsoft Power Virtual Agents へと拡大し、だれもがロー コード ツールを簡単に使い始められるようにします。
ロー コード ロジックをあらゆる人に
ロー コード プラットフォームで、なぜ言語が必要なのでしょうか? ポイント アンド クリック ツールはエクスペリエンスやワークフローをすばやく集めて組み立てるのに優れていますが、実際には、多くのソリューションでドラッグ アンド ドロップでできること以上のロジック層が必要とされています。たとえば、次のような処理です。
- 過去 7 日間にサインアップした、この場所から 15 マイル以内の顧客リストを表示
- 最新のエントリを緑色で強調表示
- ユーザーが詳細をクリックすると、未処理の実施項目がある場合はその項目を画面の一番上に表示
多くのロー コード プラットフォームでは、この種のカスタム ロジックになると行き詰まり、拡張性に乏しく、限られたスペシャリストしかいないプロプライエタリ コードが必要になってしまうことが少なくありません。
対照的に Power Fx は、数億人規模のユーザーが毎日ロジックや計算の問題を解くために使用している Excel の構文がベースです。
Excel のユーザー数がどのくらいの規模か見てみましょう。IDC のアナリストによれば、最も普及しているコーディング言語である JavaScript を普段使用しているソフトウェア開発者の数は 1,170 万人に上ります。また、フルタイムのプロの開発者の総人口は、2024 年までに 32% 増の 1,940 万人まで増大すると予測されています1。
シチズンからプロフェッショナルまで
Power Fx では、同じ時間枠の中で開発者の持つ影響を何倍にもふくらませることができます。シチズン デベロッパーが慣れ親しんでいる方法でロジックを表現できるようになるため、洗練されたソリューションを構築できる開発者の数が劇的に増加します。Power Fx と、テキスト エディターで直接アプリを編集 (英語) できる Visual Studio Code やソース管理などのプロ水準のツールを用意すれば、開発作業がスピードアップし、数百万もの開発者と共通の基盤を持つことができます。
Power Fx は構文や関数が Excel と同じというだけでなく、挙動も似ています。数式は Excel のように宣言型で、スプレッドシートと同様にその場で再計算が行われます。開発者はアプリにしてほしい処理を伝えるだけでよく、その方法やタイミングは説明しなくても構いません。それらは Power Fx が代行してくれるため、開発者は変数やデータ テーブルを常に最新の状態に維持する面倒な手作業から解放されます。従来のプログラミング言語のように、変数に影響を及ぼすコードを隅々まで理解しなければならないのは大変なことです。しかし、数式であれば値の計算方法は 1 つしかないので、だれもがそれに則って作業を進めることができます。
ロー コード イノベーションの次のフェーズは「オープン」
マイクロソフトは、この慣れ親しんだ操作性と高い生産性をさらに多くの場所に届けるための取り組みに着手しました。今後 24 か月の間に、Power Fx を Power Platform 全体の共通言語へと拡張していきます。これにより、アプリ開発者がそのスキルをインテリジェント ボット ビルダーや自動化のエキスパートとして転用することがずっと容易になります。
これは、豊かな歴史を持つマイクロソフトのソフトウェア プロジェクトの期待感に満ちた次の一歩です。Power Fx の原点はプラットフォームそのものよりも深く、Vijay Mital、Robin Abraham、Shon Katzenberger、Darryl Rubin が率いるアーキテクトとエンジニアのチームによる、コード名 Tangram と Siena という 2 つのプロジェクトでの 7 年間にわたる投資の末、誕生しました。関数型言語の博士号を持ち、AI、式構文、Excel、プログラミングに関する深く幅広い経験を持つチームが、線形ソルバー、Miranda、Mathematica、Pascal からインスピレーションを得て、マイクロソフト最大の強みを活かしてロー コード言語を生み出しました。
この創設チームの元来の狙いは、次の 3 つを満たす言語を作り出すことでした。
- 既に親しみがある: 多くの Excel ユーザーが慣れ親しんでいる。
- コンテンツ中心: プログラム中心ではなくコンテンツ中心で、数字だけでなくあらゆる情報をわかりやすい命名規則で一般化している。
- その場で計算される: スプレッドシートのように、編集と同時に再コンパイルが行われるようにし、コンパイルして発行するという手順を踏まずに済む。
ロー コードというムーブメントの中心に登場した Power Fx では、これらすべてを満たし、数百の外部データ ソースや、モバイル デバイスの機能、高度なアプリケーション シナリオにも用途を拡張できます。マイクロソフトはまだこれに着手したばかりです。ロー コードを次のレベルに引き上げるためには、オープン ソース戦略を通じてコミュニティの参画を仰ぐことが不可欠です。
詳細については、2015 年以来 Power Fx 言語を推進してきた Greg Lindhorst による素晴らしい Deep Dive ブログ記事「Microsoft Power Fx とは何か?」を参照してください。
皆様が今後 Power Fx をどのように活用されるか楽しみです!
1出典: IDC、「PaaSView and the Developer 2020: Focus Topic Pivot Table — Worldwide」、文書番号 US46800820、2020 年 9 月
*This post is locked for comments