Lightning コンポーネントフレームワークとは?
Lightning コンポーネントフレームワークは、モバイルデバイス用およびデスクトップデバイス用の動的な Web アプリケーションを開発する UI フレームワークです。これは、拡張性に優れた単一ページアプリケーションを構築する最新のフレームワークです。
このフレームワークでは、クライアントとサーバの橋渡しをする、分離された多層コンポーネント開発がサポートされています。クライアント側では JavaScript、サーバ側では Apex が使用されます。
Lightning コンポーネントフレームワークと Aura フレームワーク
Lightning コンポーネントフレームワークは、オープンソースの Aura フレームワーク (http://github.com/forcedotcom/aura で入手可能) 上に構築されています。Aura フレームワークを使用して、独自のサーバ上でホストされる汎用的な Web アプリケーションを作成できます。このフレームワークは、Lightning コンポーネントフレームワークでは使用できない可能性のある機能やコンポーネントも提供します。ここに示すサンプルコードの多くは、aura:iteration や ui:button など、Aura フレームワークの標準のコンポーネントが使用しています。aura 名前空間にはアプリケーションロジックを簡略化するコンポーネントが含まれ、ui 名前空間にはボタンや入力項目などユーザインターフェース要素のコンポーネントが含まれます。force 名前空間には、Salesforce 固有のコンポーネントが含まれます。
Visualforce と Lightning
Lightning コンポーネントフレームワークは、コンポーネントベースのフレームワークです。アプリケーションのビルディングブロックとなるコンポーネントは、HTML、JavaScript、CSS をカプセル化する一方で、イベントを介してやりとりします。Lightning コンポーネントはクライアント側主体で、動的性能を高めてモバイルで使いやすくします。対照的に、Visualforce コンポーネントはページ主体で、サーバコールに大きく依存します。Visualforce は、テンプレート主導の Web ページやメールメッセージの配信を促進し、要求のライフサイクルにわたって綿密な管理を希望する開発者に適しています。Lightning コンポーネントはサーバ側で Apex を使用するため、Apex コードを使用不能な組織は、Lightning コンポーネントを作成できません (ただし、Visualforce は使用できます)。