lightingコンポーネントベーシック開発

82
Lightning Component 開開開開 開開開開開開開開開開開開 開開開開開 開開 開開

Upload: akihiro-iwaya

Post on 08-Jan-2017

2.527 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Lightingコンポーネントベーシック開発

Lightning Component 開発概要

株式会社セールスフォース・ドットコム岩谷 昭宏

Page 2: Lightingコンポーネントベーシック開発

アジェンダ

Lightning コンポーネント概要 実装ガイドライン Lightning Component 開発

• 開発環境• サンプルアプリケーション作成

Lightning Component 設置場所 モダン Visualforce 開発 Tip

• actionFuntion タグ• sforce ライブラリ• JavaScript Remoting• Remote Object

Lightning Experinece 有効化 Lightning アプリケーションビルダーでの Lightning Experinece 開発 Visualforce での Lightning Experience 開発 技術情報

Page 3: Lightingコンポーネントベーシック開発

Lightning コンポーネント概要

Page 4: Lightingコンポーネントベーシック開発

Lightning とは

Lightning コンポーネント フレームワーク•再利用可能なコンポーネントの作成や、 Salesforce1 モバイル・アプリのカスタマイズやスタンドアロンアプリの開発を可能とする、コンポーネント及びエクステンション

Lightning App ビルダーSalesforce 及び開発者より提供されたコンポーネントを使って高速にアプリケーションを開発できる UI ツール

Lightning ConnectForce.com アプリと OData 対応した外部データソースとを簡単に統合し利用できるツール

Lightning プロセスビルダー ビジネス・プロセスを可視化し、作成を自動化できる UI ツール

Lightning スキーマビルダー オブジェクト、フィールド及び関連を閲覧、作成できる UI ツール

Lightning ExperienceLightning コンポーネントフレームワーク上で動作している新しい Sales Cloud

Page 5: Lightingコンポーネントベーシック開発

はじめに

2015 年 10 月時点

Visualforce は無くなりません

Page 6: Lightingコンポーネントベーシック開発

ちなみに

Page 7: Lightingコンポーネントベーシック開発

ユーザインターフェース移り変わり

Page 8: Lightingコンポーネントベーシック開発

Page Centric 対 App Centric

2002/02/222013/11/05

Page 9: Lightingコンポーネントベーシック開発

Page Centric (Visualforce + Apex Controller)

1. ユーザがページをリクエスト2. サーバ側で VF タグの変換、 Apex コントローラコードの実行を行い、リクエスト結果と

して HTML ページをブラウザに送信3. ブラウザは結果を表示4. ユーザがボタン、リンクをクリックなどのアクションを行うと新規ページをリクエスト

する。(ステップ1にもどる)

Page 10: Lightingコンポーネントベーシック開発

App Centric (Single Page Application)

Database

ApexJS Controller

CMP

CSS

JS Helper

1. ユーザがアプリケーション、あるいはコンポーネントをリクエスト2. クライアントにアプリケーション、あるいはコンポーネントのバンドル(必要なファイ

ル群)をロード3. JavaScript アプリケーションが UI を生成4. ユーザとのインターラクションの結果、 JavaScript アプリケーションが UI を適時変更す

Page 11: Lightingコンポーネントベーシック開発

Visualforce vs Lightning Component

一般的な Visualforce Lightning Component

ロジック実行 サーバ側 クライアント側、サーバ側テクノロジー Apex 、 VF 、 JS 、 CSS Apex 、 Aura 、 JS 、 CSS

データアクセス Apex 経由 Apex 経由ユーザインターフェース

HTML 、 CSS 、 VFタグ HTML 、 CSS 、 UIコンポーネント

最低限必要ファイル拡張

Apex 、 page Apex 、 cmp 、 js (クライアントコントロラー)

画面の書き換え サーバ側へのリクエスト JS でのクライアント側マルチデバイス対応 CSS での実装 フレームワーク側で対応クライアント、サーバー間フォーマット

HTML JSON

セールスフォース提供開発環境

開発者コンソール、 Force.com IDE

開発者コンソール

Page 12: Lightingコンポーネントベーシック開発

フレームワークとは

アプリケーションを作成する際に共通で必要とされる汎用機能をあらかじめ提供し、アプリケーションの土台として機能するソフトウェアのこと。

フレームワークを利用することで自分で必要とされる部分に注力して開発することができ、フレームワークバージョンアップに伴う新機能、パフォーマンス改善を自動的に享受できる

例えば、 Expressフレームワーク画像、 CSS 、クライアントサイドの JSを配置

ルーティングを設定するファイル

サーバーサイドのメインプログラム

Page 13: Lightingコンポーネントベーシック開発

Lightning Component フレームワーク

アプリケーションファイル、コンポーネントの場合は拡張子は cmp となる

アプリケーション、あるいはコンポーネントの CSS ファイル

アプリケーションファイル、あるい h がコンポーネント内のイベントを処理するクライアント側 JS コントローラ

サーバーサイドロジックを定義するApex

Page 14: Lightingコンポーネントベーシック開発

特徴 標準コンポーネントセットコンポーネントセットが標準装備されているため、アプリケーションの構築にすぐに着手できます。アプリケーションのデバイス別の最適化はコンポーネントが行うため、最適化に時間を取られることがありません。

パフォーマンス

イベント駆動型アーキテクチャイベント駆動型アーキテクチャを使用して、個々のコンポーネントを適切に切り離します。どのコンポーネントも、アプリケーションイベント、または表示可能なコンポーネントイベントを登録できます。

短時間での開発アプリケーションをコンポーネントベースで構築するため、並列設計が可能になり、開発全般の効率性が向上します。

デバイス対応およびブラウザ間の互換性アプリケーションには応答性が高い設計が使用され、快適なユーザ環境を実現します。 Lightning コンポーネントフレームワークは、 HTML5 、 CSS3 、タッチイベントなど、最新のブラウザテクノロジをサポートしています。

Page 15: Lightingコンポーネントベーシック開発

実装ガイドライン

Page 21: Lightingコンポーネントベーシック開発

ガイドライン抜粋

コメント私は Salesforce1 モバイルアプリケーション開発者です

Lightning component での開発を推奨します。両技術ともタグベースのマークアップを使用します。例えば <apex:inputText> と <ui:inputText> です。 VF ではページ全体をサーバ側で HTML に変換しますが、 Lightning component ではクライアントで部分的に変換することによりパフォーマンスが向上します。特にモバイルではリソースが限られているため Lightning component を推奨します。

AngularJS 、 React などの JS フレームワークを使用しなければいけない

Visualforce ページを JS フレームワークのコンテナーと使用して JavaScript で画面描画、データリクエストを非同期で処理。 Lightning Component でも JS フレームワークを使用することは可能であるがまだ成熟されていないためリスクあり

誰でも簡単にアプリケーションを構築させたい

Lightning App Builder を使用することにより実現できるので Lighting component で開発

認証不必要ウェブサイト Lightning コンポーネントはサイツをサポートしていないので Visualforce で開発

PDF として出力するページ Lightning コンポーネントは PDF 出力をサポートしていないのでVisualforce で開発

カスタマコミュニティの開発 Community Builder を使用できるので Lightning コンポーネントで開発パートナーコミュニティの開発 Visualforce で開発、ただし” Lightning Componenet for Visualforce” *1 +

Lightning コンポーネントで置き換え可能か考えるたくさんの Visualforce がある既存プロジェクトでの開発

Visualforce で開発、ただし Lightning Componenet for Visualforce +Lightning コンポーネントで置き換え可能か考える

新規アプリケーションの開発 Lightning Component を推奨します。ぜひ新しい技術を取得するチャンスです*1: Lightning Component for Visualforce : Visualforce から Lightning コンポーネントを表示させることができます。この機能を使用することで Lightning コンポーネントを Aloha スキンからも表示する事が可能。

Page 22: Lightingコンポーネントベーシック開発

Lightning Component 開発

Page 23: Lightingコンポーネントベーシック開発

開発環境Lightning アプリケーションビルダー開発者コンソールで作成したコンポーネント、AppExchange でインストールしたコンポーネントを使ってドラッグ&ドロップで画面を開発。Lightning ページタブからアクセス

開発者コンソール経由アプリケーションアプリケーションを作成すると独自 URL が振り当てられるので URL 経由でアプリケーションにアクセス

開発者コンソール経由コンポーネント作成されたコンポーネントは Lightning コンポーネントタブ経由でアクセス、 Lightning アプリケーションビルダー、開発者コンソール経由で作成されたアプリケーション、開発者コンソール経由で作成したコンポーネントで使われます

Page 24: Lightingコンポーネントベーシック開発

その他開発環境

Cloud9  セールスフォース開発をクラウド環境で利用できるサービス

Sublimeセールスフォース開発環境をローカルで構築

Page 25: Lightingコンポーネントベーシック開発

開発を始める前に

1

Lightning Component を使用する場合は私のドメイン設定が必要です

54

3

2

暫く待つと承認済みに変更されます

Page 26: Lightingコンポーネントベーシック開発

開発を始める前に

1

2

これで私のドメイン設定が終了されました。

Page 27: Lightingコンポーネントベーシック開発

バンドル

リソース ファイル名 役割コンポーネントまたはアプリケーション

sample.cmp または sample.app

バンドル内の唯一の必須リソース。コンポーネントまたはアプリケーションのマークアップが含まれます。各バンドルに含まれるコンポーネントまたはアプリケーションリソースは 1 つのみです。

CSS スタイル sample.css コンポーネントのスタイルシートコントローラー sampleController

.jsコンポーネント内のイベントを処理するためのクライアント側コントローラメソッド

設計 sample.design Lightning App Builder または Lightning ページで使用されるコンポーネントでは必須

ドキュメント sample.auradoc 説明、サンプルコード、およびコンポーネント例への 1 つ以上の参照

SVG ファイル sample.svg Lightning App Builder で使用されるコンポーネントのカスタムアイコンのリソース。

ヘルパー sampleHelper.jsコンポーネントのバンドル内の JavaScript コードからコール可能な JavaScript 関数コンポーネント名またはアプリケーション名を sample とした場合、すべてのリソースは命名規則に従い自動的に結び付けられます。例えばスタイルシートのリソースは

sample.css となり、クライアント側コントローラーは sampleController.js となります。 コンポーネントまたはアプリケーションは必ず必要であるが、それ以外のリソースは必要に応じて作成する。

Page 28: Lightingコンポーネントベーシック開発

開発者コンソール起動

1

2

Page 29: Lightingコンポーネントベーシック開発

アプリケーション作成

Page 30: Lightingコンポーネントベーシック開発

スタイルシート追加

Page 31: Lightingコンポーネントベーシック開発

クライアント側コントローラの追加

アプリケーション

コントローラ

ボタンを押すたびに1加算される

アトリビュートを取得し、1加算した値をアトリビュートに再設定

attribute はビューとコントローラからアクセス可能

ボタンが押されるとコントローラのメソッドが実行

Page 32: Lightingコンポーネントベーシック開発

サーバー側コントローラ追加

名前にHello が追加される

attribute はビューとコントローラからアクセス可能ボタンが押されるとコントローラのメソッドが実行 サーバサイドのコントローラを取得

Apex コントローラ設定

Page 33: Lightingコンポーネントベーシック開発

イベント

受信コンポーネント

イベント

アプリケーション

メッセージ: hello

送信コンポーネント

Click

Message : hello

2. イベントにはメッセージをString として格納

3. 受信コンポーネントではイベント内のメッセージを画面に表示

1. Click ボタンを押す事によりイベントを送信

Page 34: Lightingコンポーネントベーシック開発

メッセージ送信コンポーネント

1. ユーザがボタンを押すとコントローラの fireMyEvent メソッドが実行、また MyEventを使用するためイベントを登録

2. イベントを取得してmyMsg アトリビュートにメッセージ (hello) を設定、 fire メソッドでイベントを送信

MyEvent イベントでは任意な文字を保存することが可能。 Integer, Boolean なども指定可能

Page 35: Lightingコンポーネントベーシック開発

メッセージ受信コンポーネント

1. 特定のイベント( MyEvent) が送信された際のハンドラー登録、画面ロード時は NoYet が表示される

2. 送信コンポーネントからイベントが送信された時登録したイベントハンドラのメソッド( myReceive )が実行、イベント内のメッセージを画面に表示

3. 受信コンポーネントではイベント内のメッセージを画面に表示

Page 36: Lightingコンポーネントベーシック開発

アプリケーション

アプリケーションに送信コンポーネント、受信コンポーネントを配置

アプリケーション起動

Page 37: Lightingコンポーネントベーシック開発

標準ページへの変移

ボタンを押した後に標準編集画面へ遷移。 JS コントローラに記述

Page 38: Lightingコンポーネントベーシック開発

組織毎ドキュメント1.

https://<your_srv>/auradocs  にアクセス

2. Reference ボタンをクリック

3. AppExchange から事前に Cell Lightning コンポーネントをインストールしています

Cell コンポーネント仕様ドキュメント、コンポーネントの Document バンドルに記載すると自動的に Aura 用ドキュメントに変換されます。

Page 39: Lightingコンポーネントベーシック開発

AppExchange コンポーネント

Page 40: Lightingコンポーネントベーシック開発

実開発の Tip 他の JS フレームワークとの共存

Angular、 jQuery、 react.js などを使用可能(検証は必要)

Lightning ComponentをVisualforceを追加 (下記3ステップで実装)Lightning JS を VF へ追加VF にどの Lightning アプリケーションを使うか定義VF に Lightning Component を作成を JS で記述

外部 CSS の参照静的リソースとしてアップロードした外部 CSS リソースを参照するには、 .cmp または .app マークアップで <ltng:require> タグを使用します。

外部 JS ライブラリの参照静的リソースとしてアップロードした JavaScript ライブラリを参照するには、 .cmp または .app マークアップで <ltng:require> タグを使用します。

JS のデバッグChrome Developer Tools で JS コードのデバッグを行います。コードの可読性を良くするため必ず Debugモードを有効化して下さい。コンソールにログメッセージを表示するには $A.log(string[, error])を使用してください。 Lightning Component 用デバッグChrome エクステンションも公開されています。

Page 41: Lightingコンポーネントベーシック開発

Lightning Component 設置場所

Page 42: Lightingコンポーネントベーシック開発

1. Lightning アプリケーションビルダー

1

2

S1 からアクセス可能有効化すると Lightningページタブが作成され、

S1 ナビゲーションにタブが配置される

Page 43: Lightingコンポーネントベーシック開発

1. Lightning アプリケーションビルダー

すべてのタブに「 Lightningページタブ」は表示されない

カスタムアプリケーションの編集にも「 Lightning ページタブ」は表示されない

Lightning アプリケーションビルダーで作成したアプリケーションは S1 のみ追加可能

Page 44: Lightingコンポーネントベーシック開発

2. Lightning コンポーネントタブ

1. コンポーネントの作成( force:appHostable を指定することで S1 へ実装可能にする)

3. ナビゲーションへの追加

2 . Lightning コンポーネントタブの作成

4. S 1からアクセス可能

Page 45: Lightingコンポーネントベーシック開発

2. Lightning コンポーネントタブ

Lightning Experienceからアクセス可能

1

カスタムアプリケーションへタブ追加

すべてのタブからアクセスするとエラー

Aloha ではタブを追加しても実際のアプリケーションには反映されない

Page 46: Lightingコンポーネントベーシック開発

3. 開発者コンソールで作成した App

https://<myDomain>.lightning.force.com/<namespace>/<appName>.app からしかアクセスできない。 S1 、 Lightning Experienceに直接インテグレートは不可

Page 47: Lightingコンポーネントベーシック開発

4. VF 経由での表示

1. アプリケーション作成

2.Visualforce から作成したコンポーネントの呼び出し

3. Visualforce タブを作成して、アプリケーション、あるいはナビゲーションに追加

Page 48: Lightingコンポーネントベーシック開発

4. VF 経由での表示

S1 からアクセス可

Aloha からアクセス可

Lightning Experienceからアクセス可

Page 49: Lightingコンポーネントベーシック開発

まとめ

Aloha S1 Lightning Experience

メモLightning アプリケーションビルダ

X O X

Lightning コンポーネントタブ X O X

開発者コンソールで作成したapp

X X X 特定 URL からのみアクセス可

Lightning コンポーネント + VF O O O

Page 50: Lightingコンポーネントベーシック開発

モダン Visualforce 開発 Tip

Page 51: Lightingコンポーネントベーシック開発

JavaScript の利用

Visualforce + Apex Controller で実装するよりも Visualforce を JavaScript のコンテナとして使用してください。 UI に関しては Lightning Design Systemを使用して下さい。 Lightning Design System とはセールスフォースが提供している New UI 用の CSS フレームワークを使用することで Visualforce を簡単に New UI に沿ったデザインを開発することができます。(チュートリアルはこちら) 

Visualforce を JavaScript のコンテナーとして使用することにより JavaScript で画面描写、データやり取りなどするためパフォーマンスが向上します。下記が Visualforce を JavaScriptのコンテナーとして使用したフローとなります。

1) ユーザが Visualforce ページをリクエスト2) HTML ページをブラウザに送信3) ブラウザが JavaScript アプリをロード4) JavaScript アプリが UI を生成5) ユーザのアクションに応じて JavaScript からセールスフォースへリクエスト

Page 52: Lightingコンポーネントベーシック開発

JS からセールスフォースへの連携

手段 説明 Apexコード<apex:actionFunction> JavaSctipt から ActionFunction 経

由で Apex コントローラメソッドを実行

sforce lib 標準ライブラリ、 JavaScript からは sforce.apex.execute メソッドでApex WebService を実行

どちらでも

JS Remoting JavaScript から直接 Apex を実行可能。 actionFunction に近し、

有Remote Object CRUD のアクセスに便利 無

Page 53: Lightingコンポーネントベーシック開発

ActionFunction での実装 詳細はこちら

【 Visualforce】<apex:commandButton onclick=“{myjsfunc()}” value=“ 実行” />

【 JS】function myjsfunc() {

actfunc();}

【 Apex Controller】public pagereference ctlfunc() {

// レコードへの CRUD 処理とかreturn null;

}

【 Visualforce】<apex:actionFunction name=“actfunc” action=“{!ctlfunc}” reRender=“dummy”/>

ユーザがボタンをクリックするとVisualforce で定義されている

JavaScript のファンクションが呼ばれる

JavaScript のファンクションで何らかの処理を行った後にactionFunction 経由で Apex コントローラを呼ぶ

サーバー側の Apexが無事実行されるとactionFunction のreRender で定義されているコンポーネントをリフレッシュする

Page 54: Lightingコンポーネントベーシック開発

【 Visualforce】<script src="/soap/ajax/15.0/connection.js" type="text/javascript"></script> <script src="/soap/ajax/15.0/apex.js" type="text/javascript"></script>

【 Apex】global class myClass {

webService static Id makeContact(String lastName, Account a) {Contact c = new Contact(LastName = lastName,

AccountId = a.Id); return c.id; }

}

【 JavaScript】var account = sforce.sObject("Account"); var id =sforce.apex.execute("myClass","makeContact", {lastName:"Smith", a:account});

標準 JS ライブラリでの実装 詳細はこちら Visualforce 内で標準 JS のインポート、結果として JS 内でsforce を使用可能になる

sObject メソッドを使用して任意の取引先レコードを取得。JavaScript から

Apex Web サービスをコール

引数の取引先に取引先責任者を作成してレコード ID をJavaScript に返す

Page 55: Lightingコンポーネントベーシック開発

JavaScript Remoting での実装 詳細はこちら

【 Apex】global with sharing class AccountRemoter {

public String accountName { get; set; } public static Account account { get; set; } public AccountRemoter() { } // empty constructor @RemoteAction global static Account getAccount(String accountName) {

account = [SELECT Id, NumberOfEmployees FROM Account WHERE Name = :accountName];

return account; }

}

【 JavaScript】 function getRemoteAccount() { Visualforce.remoting.Manager.invokeAction( '{!$RemoteAction.AccountRemoter.getAccount}', ‘AccountName’, function(result, event){

var id = result.Id; var num = result.NumberOfEmployees; }, {escape: true} ); }

【 Visualforce】<button onclick="getRemoteAccount()">送信 </button><apex:outputText id=“recordId/><apex:outputText id=“numEmployees"/>  

ユーザがボタンをクリックするとVisualforce で定義されている

JavaScript のファンクションが呼ばれる

JavaScript のファンクションで何らかの処理を行った後にApex クラスをコール

取引先名から取引先レコードを取得してJavaScript にレコードを返す取引先レコード ID 、社員数を受け取り、

JS で画面描写

Page 56: Lightingコンポーネントベーシック開発

Remote Objects での実装 詳細はこちら

【 JavaScript】<script> var fetchWarehouse = function(){ var wh = new SObjectModel.Warehouse(); wh.retrieve({ limit: 1 }, function(err, records, event){ var record = records[0]; var name = record.get(“Name”);

var id = record.get(“Id”); }); };</script>

【 Visualforce】<apex:remoteObjects > <apex:remoteObjectModel name="Warehouse__c" jsShorthand="Warehouse" fields="Name,Id"> </apex:remoteObjectModel> </apex:remoteObjects>

【 Visualforce】<button onclick=“fetchWarehouse ()”> 1件取引先表示 </button>

Visualforce 内でカスタムオブジェクト( Warehouse__c) をRemoteObject として使用すると定義

ユーザがボタンを押して JavaScript のfetchWarehouse メソッドを呼ぶ

JavaScript 経由でセールスフォースのデータベースアクセスを行う。 Retreive ファンクションの引数として limit, offset, where などがあります。

Page 57: Lightingコンポーネントベーシック開発

Visualforce での Lightning Component 開発注意点

Lightning Experience で表示する Visualforce の showHeader 、 showSidebar を true にすることはできません

ページ title を設定することはできません。 Lightning Experience で表示する Visualforceは iframe内に表示されるためページ title にアクセスできません

<apex:relatedList> は使用できません

<apex:iframe> の使用はさける。 Visualforce ページは iframe内に表示されるので<apex:iframe> を使用すると非常に複雑である

JavaScript で window.location は使用できない

sforce.one JavaScript ライブラリは Salesforce1 と Lightning Experience で使用可能となる。 Salesforce1 の Visualforce ページを実装する際に sforce.one の有無でモバイルからのアクセスを判断していたが Lightning Experience では修正する必要がある

Page 58: Lightingコンポーネントベーシック開発

  Lightning Experience 有効化

Page 59: Lightingコンポーネントベーシック開発

Lightning Experience 有効化

1

4

3

2

Page 60: Lightingコンポーネントベーシック開発

Lightning Experience 有効化

1

4

3

2

Page 61: Lightingコンポーネントベーシック開発

Lightning Experience 有効化

1

4

3

2

Page 62: Lightingコンポーネントベーシック開発

Lightning Experience 有効化

1

4

3

2

5

Page 63: Lightingコンポーネントベーシック開発

Aloha へ切り替え

1

2

Page 64: Lightingコンポーネントベーシック開発

  Lightning アプリケーションビルダーでのLightning Experience 開発

Page 65: Lightingコンポーネントベーシック開発

Lightning Experience  アプリケーションビルダー

開発者用組織では Lightning Experience のアプリケーションビルダーの有効化が可能です。取引先詳細ページの変更を Lightning アプリケーションビルダーで行う事ができます。

Page 66: Lightingコンポーネントベーシック開発

商談詳細画面レイアウト

1

5

3

2

4

Page 67: Lightingコンポーネントベーシック開発

商談詳細画面レイアウト

1

2コンポーネントをドラッグ&ドロップしてレイアウトへ追加します

Page 68: Lightingコンポーネントベーシック開発

商談詳細画面レイアウト

1

2

Page 69: Lightingコンポーネントベーシック開発

商談詳細画面レイアウト

1

3

2

Page 70: Lightingコンポーネントベーシック開発

商談詳細画面レイアウト

1

スケジュール、計算機など AppExchange で入手したコンポーネントが反映

商談詳細用のLightning ページが自動的に作成される

Page 71: Lightingコンポーネントベーシック開発

  Visualforce での Lightning Experience 開発

Page 72: Lightingコンポーネントベーシック開発

1. VF での Lightning Experience 開発

Visualforce ページタブをアプリケーションへ追加することによりアプリケーションランチャー経由で Visualforce ページへアクセス可能

Page 73: Lightingコンポーネントベーシック開発

2. VF での Lightning Experience 開発

セールスフォース Classic ( Aloha )と同様にレコード詳細ページに Visualforce ページを埋め込むことができます

Page 74: Lightingコンポーネントベーシック開発

3. VF での Lightning Experience 開発

Lightning App Builder で作成したカスタムアプリケーションページに Visualforce ページを追加することができます

Page 75: Lightingコンポーネントベーシック開発

4. VF での Lightning Experience 開発

グローバルクイックアクションとしてレコード詳細ページへ追加可能

レイアウトエディターでの設定

Page 76: Lightingコンポーネントベーシック開発

5. VF での Lightning Experience 開発

セールスフォースクラシック UI と同様にユーザが標準ボタン、リンクをクリックした際に表示される画面を Visualforce ページで置き換え可能。カスタムボタン、リンクでも同様

Page 77: Lightingコンポーネントベーシック開発

Lightning Component 開発に必要な情報源

Page 78: Lightingコンポーネントベーシック開発

技術情報タイトル 内容

Lightning Components Trailhead 簡単な Lightning Component を作成します。クライアント、サーバ側コントローラの作成、またデバッグ方法も記述

Lightning Design System Trailhead Lightning Design System はセールスフォースが提供している Lightning に準拠したデザインガイドライン、 CSS フレームワークです。 LDS の使用方法を手順を踏んで解説

Lightning Component Developer Guide Lightning Component の開発者用ガイドLightning Components Quick Start Hello World を8ステップで実装ガイドCreating Lightning Components Salesforce University で提供しているビデオコースSingle Page Applications なぜ Lightning フレームワークを採用したのかの技術的説明Cloud9 クラウドベースの Salesforce 開発環境Sublime Sublime エディターを使用して Salesforce 開発環境開発者コンソール 開発者コンソールでの Ligtning リソースの操作Lightning Components Cheat Sheet Lightning Component 実装に必要なコードサンプル、仕様を掲載Debugging Lightning Components Lightning Component 開発で必要となるデバッグ方法を解説したブログVisualforce & Lightning Experience Trailhead Lightning Experience 上で動作する Visualforce 開発方法を説明ディスカッションフォーラム Lightning に特化したフォーラムSalesforce Stack Exchange Salesforce版 Stack Overflow

Page 79: Lightingコンポーネントベーシック開発

コンタクトリスト作成 ワークブック 

コンタクトリスト表示コンタクト新規画面

コンタクト編集画面

資料はこちら

Page 80: Lightingコンポーネントベーシック開発

経費精算アプリケーション作成 ワークブック

経費オブジェクトの合計金額を表示

新規作成ボタン

経費オブジェクトの総数を表示

“Reimbursed?”項目編集可能

資料はこちら

Page 81: Lightingコンポーネントベーシック開発

トレーニングコース

Page 82: Lightingコンポーネントベーシック開発