Lightning Out の考慮事項と制限
一般的に、Lightning Out を使用したアプリケーションの作成は Lightning Web コンポーネントを使用したアプリケーションの作成とよく似ています。ただし、コンポーネントは Salesforce の外部で実行されるため、いくつかの問題を認識しておく必要があります。
認識しておくべき問題は、2 つのカテゴリに分類できます。
Lightning Out アプリケーションは Salesforce コンテナの外部で実行されるため、いくつかのことに留意し、場合によっては対処する必要があります。
- ブラウザサポート
Lightning Out では Lightning Experience と同じブラウザがサポートされます。このサポートにより、Lightning Out アプリケーションとコンポーネントがこれらのブラウザで読み込まれるようになります。ただし、コンポーネントまたは機能で特定のブラウザがサポートされない場合、そのコンポーネントまたは機能は Lightning Out でも機能しません。
- パフォーマンス
Lightning Out では、Lightning Experience の多くのキャッシュ機能を利用できないため、起動やパフォーマンスは一般的に遅くなります。
- ブラウザのサードパーティ Cookie
Lightning コンポーネントは、ユーザのブラウザに Cookie を設定します。Lightning Out は Salesforce の_外部_で Lightning コンポーネントを実行するため、これらの Cookie は「サードパーティ」 Cookie となります。Lightning Out アプリケーションがサードパーティ Cookie と連携できるようにするには、「Lightning Out の要件」を参照してください。
- 認証
認証を処理する Salesforce コンテナがないため、自分で処理する必要があります。この重要なトピックは「Lightning Out からの認証」で詳しく説明しています。
Lightning Out の主要機能は安定しており、完成していますが、その他の Salesforce 機能とのインタラクションについては、まだ開発中のものがあります。
これらの機能で主要なものは、Lightning コンポーネントフレームワークに組み込まれた標準コンポーネントです。多くの標準コンポーネントは、Lightning Out および Lightning Out に基づく Visualforce 用の Lightning Web Components などのスタンドアロンコンテキストで使用すると正しく動作しません。この制限は、コンポーネントが、one.app
コンテナで使用できるリソースに連動するためです。
連動関係を明示的にすることで、所有するコンポーネントで発生するこの問題を避けることができます。@salesforce/resourceUrl
を使用して、コンポーネント自体に埋め込まれていない必要な静的リソースをすべて参照します。
アプリケーションで標準コンポーネントを使用している場合、Lightning Out または Visualforce 用の Lightning Web Components で使用されているときに、スタイルや動作が記載されているとおりでないことがあります。
コンポーネントライブラリのコンポーネントの参照には、コンポーネントでサポートされているコンテナをリストする各コンポーネントの Experiences 項目があります。
関連トピック