Power FxはMicrosoft Power Platformで使用されるローコード言語であり、一般的なプログラミング言語の特性を持っています。Excelのような式を使用して、開発者や非開発者が簡単にアプリを構築できることを目指しています。この言語は、宣言的かつ関数型で、プログラミングの知識がない初心者でも利用可能です。Power Fxはオープンソースとして提供され、他のMicrosoft製品とも統合される予定です。全体として、シンプルで直感的な形式で設計されたPower Fxは、迅速な開発とコラボレーションを促進します。
Power Fxについての概要
Power Fxとは?
Power Fxは、Microsoft Power Platform全体で使用されるローコード言語であり、汎用的な強く型付けされ、宣言的かつ関数型のプログラミング言語です。この言語は、人間に優しいテキストとして表現され、Excelのような数式バーやVisual Studio Codeのテキストウィンドウで直接作業することができます。ローコードという言葉は、言語の簡潔でシンプルな性質に起因しており、一般的なプログラミングタスクを初心者でも容易に行うことが可能です。
Power Fxは、ノーコードの利用者から熟練した専門家まで、幅広い開発プロセスをサポートします。これにより、多様なチームが共同作業をして、時間と費用を節約できるメリットがあります。
特長と利点
宣言的な式
Power Fxでは、宣言的なスプレッドシートのような数式を使用してオブジェクトを結びつけます。例えば、UIコントロールのVisibleプロパティは、Excelのワークシートのセルのように考えられ、他のコントロールのプロパティに基づいてその値を計算する数式が関連付けられています。数式のロジックは、自動的に値を再計算し、UIコントロールの表示に影響を与えます。
インパラティブなロジック
必要に応じて、Power Fxは命令的なロジックも提供します。例えば、ワークシートにはデータベースに変更を送信するボタンは通常存在しませんが、アプリでは存在します。この同じ表現言語は、宣言的なロジックと命令的なロジックの両方に使用されます。
オープンソースとコミュニティ
Power Fxはオープンソースソフトウェアとして提供され、その利用は現在Canvasアプリに統合されています。将来的にはMicrosoft Power Platformの他の製品での利用も計画されています。詳しい情報は、GitHubでのMicrosoft Power Fxをご覧ください。
スプレッドシートのような思考
Excelのワークシートを構築するのと同じくらい簡単にアプリを構築できるとしたらどうでしょうか? 数百万人の人々がExcelでワークシートを作成している中、彼らの既存の知識を活用し、アプリ作成の敷居を下げることがPower Fxの狙いです。
式と数式のギャップ
すべてのプログラミング言語には式があり、これは数値、文字列、または他のデータ型に対して計算を表現する方法です。Power Fxはこの概念をさらに発展させます。式が何を計算するかを示すのは作成者の役割であり、Power Fxではその式に識別子を結びつける「数式」を記述します。
常にライブな体験
ワークシートの特性の一つは、すべてが常にライブであり、変更は瞬時に反映されることです。数式が修正されたり、値が入力されると、ワークシートはすぐに再計算されます。同様の仕組みがPower Fxにも適用されています。
ノーコードとローコードのアプローチ
Power Fxには、ノーコードのカスタマイズオプションやロジック表現のためのシンプルなスイッチやUIビルダーが豊富に用意されています。これにより、プログラミングの専門知識がなくてもパワフルなアプリを構築できるようになります。
プロフェッショナルな開発のサポート
ローコード開発者が必要なときにプロフェッショナル開発者のサポートを受けられるよう、Power Fxはプロフェッショナルツールとの統合も進めています。これにより、ソフトウェアの効率をさらに高めることができます。
結論
Power Fxは、Excelの思考を活かした革新的な言語であり、ノーコードからプロフェッショナルなコーディングまで広範なニーズに応えることが可能です。使いやすくしながらも、強力な機能を提供するPower Fxは、今後のアプリ作成を変革することでしょう。
————-
Microsoft Power Fx overview – Power Platform
Source link
Summary of Power Fx
Power Fx is the low-code programming language for Microsoft’s Power Platform, designed to facilitate development across various applications while appealing to both novice users and professional developers. Here are its key features:
-
Human-Friendly Syntax: Power Fx uses a straightforward, Excel-like syntax, making it accessible for users familiar with spreadsheets. It integrates seamlessly in tools like Power Apps, allowing users to create applications easily.
-
Declarative and Functional: Power Fx is a declarative language, meaning users define “what” they want to achieve, while the system figures out “how” to do it. It’s also a functional programming language, favoring pure functions with no side effects, which leads to optimized performance.
-
Full Spectrum of Development: The language accommodates no-code functions for beginners while enabling pro-code options for advanced developers. This flexibility allows diverse teams to collaborate efficiently without steep learning curves.
-
Dynamic and Live: Like spreadsheets, Power Fx calculations are updated in real time without needing to compile code. Changes made in one part of an application are instantly reflected throughout, providing a responsive user experience.
-
Open Source and Evolution: Power Fx will be available as open-source software, allowing for continuous improvement and community involvement. Its design incorporates backward compatibility to prevent issues when updates occur.
-
Design Principles:
- Simplicity: Designed to be easily understood by non-developers.
- Excel Consistency: Leverages users’ existing knowledge of Excel.
- Strong Typing: Types are known at compile time, allowing for early error detection.
- No Undefined Values: Avoids the complexity of undefined values present in some other languages.
-
Extensibility: Users can create their components and functions using Power Fx, while developers can extend functionality through JavaScript integration.
-
Globalization Support: The language accommodates local decimal and list separators, enhancing accessibility for global users.
Overall, Power Fx aims to bridge the gap between non-technical users and skilled developers, making app development straightforward, efficient, and inclusive.