注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Slate で Foundry Functions を使用する

Foundry Functions パネルによって、Slate は Functions リポジトリに記述されたビジネスロジックを「バックエンド」サービスとして実行することができます。このパラダイムでは、Slate アプリケーションを クライアント、Foundry Functions の実装を サーバー、オントロジーを従来の Web アプリケーションインフラストラクチャの データベース と考えてください。Foundry Functions の使い方については、Foundry Functions のはじめ方オブジェクト上の Functions の使用方法 のドキュメントを参照してください。

Foundry Functions パネルを使うと、以下のことができます。

  • アクセス可能な Foundry Function を選択する
  • この Function のバージョンを選択する(例:バージョン 0.0.5)
  • Function が許可している場合、型付けされた入力を Function に渡す(Function がオブジェクトセットを入力として受け取る場合、Handlebars を使って Slate で定義されたオブジェクトセットを入力として渡し、それらを解決できます)
  • Function の handlebar {{ff_foundry_function1}} を参照して、Slate で Function の型付けされた出力を使用する

Function は、Slate で使用する前に Function リポジトリ で作成する必要があります。

Slate におけるアプローチ

Slate アプリケーションで Functions を使用する際には、アプリケーションの ロジック が実装される場所によって異なる 2 つのアプローチを検討する必要があります。

  • 薄い Functions アプローチでは、Functions はオントロジー API にアクセスするためのシンプルなパススルーです。例えば、Scatterplot チャートの Radius として適切に使用できるように値をスケーリングするなどの追加の操作は、Slate アプリ内の通常の JavaScript 関数で行われます。
  • 厚い Functions アプローチでは、ビジネスロジックと表示ロジックも Foundry Functions レイヤーに押し込まれ、Slate アプリ自体には非常に特定のフォーマットや表示ロジック、および実際のレイアウトとウィジェットの設定が残ります。

複雑な Slate アプリケーションのロジックレイヤーを Foundry Functions で整理・管理することには、以下のような大きな利点があります。

  • 強い型付けは、潜在的なエッジケースのカテゴリ全体を防ぐベストプラクティスです。
  • リポジトリでの作業は、アプリケーションのフロントエンドとバックエンドのバージョン管理と共同作業を分けることができます。また、コードの整理と構造化のための標準的なプラクティスを利用できます。
  • 特定のフロントエンドからアプリケーションロジックを切り離すことで、他のアプリケーションで参照できる再利用可能なコンポーネントが作成されます。

Function の入力と出力のタイプ

Foundry Functions は、Functions の入力と出力のタイプ で文書化されているように、標準、オントロジー生成、カスタム入力および出力タイプの幅広い範囲をサポートしています。

厚い Functions アプローチでは、特定のチャートを埋め込むために必要な形式でデータを返すように、カスタム入力・出力タイプ を定義することが一般的です。