Lightning Experience での Lightning コンポーネントの使用
学習の目的
- Lightning Experience にとっての Lightning コンポーネントの重要性を説明する。
- Visualforce ではなく Lightning コンポーネントを使用する場合の主要な考慮事項をいくつか挙げる。
- Lightning コンポーネントを使用可能な 3 つのケースを挙げる。
Lightning Experience の Lightning コンポーネント
ここまで、幾度となく「Lightning」という単語が登場したため、意味が掴めなくなっているかもしれません。「Lightning Experience」と「Lightning コンポーネント」の両方の話が出てくるため、さらに紛らわしくなっています。この 2 つの関係を明らかにしましょう。
ページ中心モデルまたはアプリケーション中心モデルのいずれかに従った開発に関する情報を思い出してください。Salesforce Classic はページ中心モデルを使用しますが、Lightning Experience はアプリケーション中心モデルを使用します。ご推察のとおり、それはコンポーネントで構成されています。
話が見えてきたと思います。Lightning コンポーネントは、Lightning Experience を考慮して設計されています。Salesforce コアアプリケーションがアプリケーション中心フレームワークにシフトしてきているため、Salesforce では、ユーザも一緒にシフトしていただくことを期待しています。ぜひ、このプラットフォーム上でのまったく新しい開発方法を検討してください。
Salesforce Classic で Lightning コンポーネントを開発したことがある方もいらっしゃるでしょう。以前のインターフェースを引き続き Lightning コンポーネントに使用できます。また、既存のコンポーネントの機能はすべてシームレスに Lightning Experience に移行されます。
- 標準コンポーネントセット
- Salesforce では、アプリケーション開発を開始するためのコンポーネントが数多く用意されています。
- パフォーマンス
- このコンポーネントフレームワークは、ステートフルクライアント (JavaScript を使用) とステートレスサーバ (Apex を使用) を利用します。この構造により、クライアントからサーバへのコールはどうしても必要な場合にのみ行われるようになります。サーバへのコール回数が減るため、アプリケーションの応答性と効率が向上します。
- イベント駆動型アーキテクチャ
- イベントは Lightning コンポーネントフレームワークを使用するうえで非常に重要です。コンポーネントはアプリケーションおよびコンポーネントイベントをリスンし、適宜応答します。
- 迅速な開発
- シンプルなマークアップと事前作成されたコンポーネントで、かつてなく迅速にアプリケーションを完成させることができます。特に、Visualforce マークアップに慣れていれば、コンポーネントマークアップはいとも簡単に習得できます。
- デバイス対応およびブラウザ間の互換性
- Lightning コンポーネントの大きな利点は、デバイスやブラウザ間の互換性を心配する必要がないことです。コンポーネントフレームワークによって自動的に処理されます。
使用時の考慮事項
Lightning コンポーネントの使用に関するいくつかの考慮事項を取り上げました。進行中の Visualforce プロジェクトが Lightning コンポーネントに切り替えられることはおそらくないでしょう。また、ページから PDF を表示する必要がある場合は、Visualforce を使い続けることでしょう。Visualforce は廃止されていません。引き続き Salesforce プラットフォームでの開発の基礎部分となります。
Lightning コンポーネントフレームワークは、比較的新しく加わったものですが、優れた機能があります。Spring '19 リリース (API バージョン 45.0) では、Lightning Web コンポーネントモデルと従来の Aura コンポーネントモデルの 2 つのプログラミングモデルを使用して Lightning コンポーネントを作成できます。Lightning Web コンポーネントは、HTML と最新の JavaScript を使用して作成されるカスタム HTML 要素です。Lightning Web コンポーネントと Aura コンポーネントは、ページ上に共存可能で、同時に使用できます。Lightning コンポーネントにはいくつか特定の制限がありますが、ほとんどの場合、すぐに使用できます。Lightning コンポーネントでの開発への切り替えを検討すべき状況は数多くあります。たとえば、Salesforce モバイル開発には Lightning コンポーネントの使用が適しています。高度にインタラクティブなアプリケーションを含む新規または任意のプロジェクトにも Lightning コンポーネントを使用してください。
- Lightning Experience
- 前にも述べましたが、このリストから外すことで、勘違いしてほしくありません。Lightning Experience と Lightning コンポーネントは組み合わさってすばらしいコンポーネントになります。
- Salesforce アプリケーション
- これは非常に重要なことなので、繰り返します。モバイル開発には Lightning コンポーネントを使用してください。モバイルデバイスを使用する場合、ユーザがボタンを押すたびにサーバに対してコールを実行するのは望ましくありません。Lightning コンポーネントを使用すると、モバイルアプリケーションのパフォーマンスが大幅に改善します。
- スタンドアロンアプリケーション
- Salesforce Classic で Lightning コンポーネントを使用していた場合、おそらく少なくとも 1 つのスタンドアロン Lightning アプリケーションを作成しています。Lightning アプリケーションビルダーを使用して、ボタンからキャンバスアプリケーションに至るまで標準コンポーネントを含むアプリケーションを宣言的に作成できます。または、開発者コンソールを使用して、標準とカスタムの Aura コンポーネントで構成されるアプリケーションを作成できます。詳細は、『Lightning Aura Components Developer Guide』(Lightning Aura コンポーネント開発者ガイド) を参照してください。
- Visualforce ページ
- この機能は、Visualforce に習熟した Salesforce 開発者に最適です。完全な Lightning アプリケーションに取り組む準備がまだできていない場合、Aura コンポーネントを Visualforce ページに統合することで円滑に移行できます。この作業では、必要なのは数行のマークアップだけで、非常に高い柔軟性が得られます。Visualforce 用の Aura コンポーネントについての詳細は、『Lightning Aura Components Developer Guide』(Lightning Aura コンポーネント開発者ガイド) を参照してください。
- あらゆる場所で
- 現在ベータで提供されている Lightning Out では、Web ページを配信できる場所であればほぼどこででも Aura コンポーネントとアプリケーションを実行できます。Heroku、ファイアウォール内の部門サーバ、または SharePoint (SharePoint であっても) で Node.js アプリケーションが実行されているかどうかに関係なく、Lightning コンポーネントを使用してカスタムアプリケーションを作成してあらゆる場所でアプリケーションを実行できます。
- 画面フロー
- 画面フローをまだ活用していない場合は、ビジネスプロセスに従うユーザを誘導する効果的な方法を見逃していることになります。Aura コンポーネントを追加すれば、フローの画面の機能やデザインをカスタマイズできます。
今後 10 年、Lightning コンポーネントをアプリケーション作成のフレームワークとして使用できるように、Salesforce では多くのエンジニアリング作業を行っていますが、まだ完了していません。Salesforce をカスタマイズする場合、Visualforce は使用できても、Lightning コンポーネントはまだ使用できない部分が残っています。この説明を続けます。