ロー コードとは?

完了

ローコードとは何でしょうか? またそれはキャンバス ベースの Power Apps でどのように使用されているでしょうか?

あなたと Kiana は、従来通り大量のコードを使用する VanArsdel 社の同じ開発チームで長い間働いてきました。 .NET Core Console アプリケーションから ASP.NET Core web API や NuGet で共有される再利用可能なライブラリに至るまで、様々な開発を一緒に行いました。 従来の開発のバックグラウンドから Power Apps を学ぶ際は、「ロー コード」が何かを理解することが役立ちます。

「ロー コード」という言葉は、聞く人によって異なる意味を持つことがあります。 Power Apps におけるロー コードとは、従来のプログラミング言語で通常多くのコードを必要としていた結果を、少ないコードで得ることを意味します。

キャンバス ベースの Power Apps では、ロー コードのスクリプト言語は Power Fx と呼ばれます。このモジュールではこの言語について説明し、モジュール全体を通してこの言語を使用してアプリを構築します。

たとえば、発注のために従業員の名を検索する際は、以下のアニメーションで表示されるような Power Fx の式やそれと同等の JavaScript を記述します。 このアニメーションは、Power Fx の式の一部とそれと同等の JavaScript でのコーディングに必要な概念のマッピングを示しています。

Power Fx と JavaScript の比較

Power Fx でできるすべてのことと、式が宣言型であったことによってもたらされる最適化の自由度について、詳しく見てみましょう。

非同期

Power Fx でのすべてのデータ操作は非同期です。 開発者はこれを指定する必要はなく、呼び出しの完了後に同期する必要もありません。 最も重要なことは、開発者はこの概念を全く意識する必要がなく、プロミス関数やラムダ関数の知識も不要であることです。

ローカルとリモート

Power Fx では、メモリ内のローカル データと、データベースまたはサービス内のリモート データに対して同じ構文と関数を使用します。 ユーザーは、この違いを考慮する必要はありません。 Power Fx では、フィルターやソートをより効率的に処理するためにできることを、自動的にサーバーに委任します。

リレーショナル データ

注文と顧客は 2 つの異なるテーブルで、多対一のリレーションシップで関連付けられています。 OData クエリには、外部キーの情報を持つ “$expand” が必要で、SQL の結合と似ています。 式にはこういったものがありません。実際、データベース キーも、開発者が知る必要のない概念です。 開発者は単純なドット表記を使用して、レコードのリレーションシップのすべてのグラフにアクセスできます。

プロジェクション

クエリを記述する際、データのすべての列を返すために、 多くの開発者は “select * from …” と記述します。 Power Fx では、式の依存関係を越えて、アプリ全体で使用されているすべての列を解析します。 プロジェクションは自動的に最適化され、開発者はプロジェクションが何であるか知る必要はありません。

必要な情報のみ取得する

この例の LookUp 関数は、取得して返す必要のあるレコードが 1 つだけであることを示しています。 数千のレコードを対象に、Filter 関数を使用してより多くのレコードが要求される場合、100 個のレコードを含む 1 ページのデータのみ返されます。 追加のデータを確認するには、ユーザーはギャラリーまたはデータ テーブルを表示する必要があります。データは、ギャラリーやデータ テーブルに自動的に表示されます。 開発者は、合理的なサイズにデータを制限することを考慮することなく、大きなデータ セットを確認できます。

必要な場合のみ実行する

Label コントロールの Text プロパティに式を定義しました。 選択された変数が変わるたびに LookUp が自動的に再計算し、ラベルが更新されます。 開発者は、選択の OnChange ハンドラーを記述する必要はなく、このラベルが OnChange ハンドラーに依存していることだけを覚えている必要があります。 これが先に説明した宣言型プログラミングで、開発者は、いつ、どのようにラベルをフェッチするかではなく、ラベルに必要なデータのみを指定します。 実際、このラベルが画面に表示されないため、または Visible プロパティが false であるために確認できない場合、この計算をラベルが表示されるまで保留し、計算があまり発生しない場合、実質的に削除できます。

Excel 構文の変換

Excel は数千万のユーザーによって使用され、多くのユーザーは"&" がストリングの連結に使用されることを知っています。 JavaScript では "+" を使用し、他の言語では "." を使用します。 開発者はすでに持っている知識を活用することができるため、Power Fx を容易に導入することができます。

表示名とローカライズ

Power Fx の式では "First Name" が使用され、同等の JavaScript では nwind_firstname が使用されます。 Dataverse と SharePoint では、フィールドおよびテーブルには、表示名と一意の論理名があります。 このケースのように、表示名はよりユーザー フレンドリーですが、表示名にはローカライズできるという重要な機能もあります。 複数の言語が使用されるチームの場合、各チーム メンバーは、テーブル名とフィールド名を自分の言語で表示することができます。 すべての言語において、Power Fx によって自動的に正しい論理名がデータベースに送信されます。

ライブ状態を維持する

市民開発者にとって、重要な Excel の特性の 1 つは、フィードバックをすぐに得られることです。 考えてみると、Excel には編集モードやコンパイルの手順、または実行状態がありません。 このため、スプレッドシートの読み込み、式や値の自由な編集、結果の表示について考える必要がありません。 スプレッドシートは常に Excel 上でライブ状態になっており、編集と実行の間に違いはありません。 値や式の変更はスプレッドシート全体にすぐに反映され、作成者は正しい答えをすぐに確認することができます。 Excel によって検出されたエラーはすぐに表示され、スプレッドシートの他の部分と干渉することはありません。