Salesforce Trailhead: Lightning Experience Developmentのメモ
これやってみた。
気になったとこだけかいつまんでメモしておく。
(以下、Visualforce は VF、Lightning Experience は LEX と表記してます)
1. User Interface Development Considerations
LEX と従来のユーザーインターフェース(Salesforce Classic)との違いについて。
Salesforce Classic は page-centric なアプリケーションモデル、LEX は app-centric なアプリケーションモデルという表現をしている。
app-centric という表現がわかりづらいけど JavaScript を利用してクライアントサイドで UI を描画するいま主流になっている web アプリケーションのことを指してる。
後半はどんなアプリケーションを開発している/したいか、に応じて VF と Lightning Components のどちらを選択すべきかという話や
組織における役割(SI、ISV Partner、社内シスアド、etc.)に応じてどちらを選択すべきかみたいな話。
2. Using Visualforce in Lightning Experience
既存の VF を LEX で使うときの注意点とか
だいたい動くけど注意や修正が必要なもの (What Works, But Needs Updating and Testing)
- LEX 内の VF は iframe に埋め込まれた形になる
- ので、
window
には直接アクセスできない
- ので、
- Force.com Canvas app を使った VF の場合:
- Canvas app も iframe を使ってるため、(問題ないとは思うが) よくテストした方がいい
- JS の Remote Objects や JavaScript remoting を使った VF の場合:
- 他の Salesforce API を使っていなければうまく動くはず
- 使ってる場合は cross-domain request を有効にするよう認証コードの update が必要 (?)
できないこと (What Doesn't Work)
- オブジェクトのタブ、リスト -> オブジェクト ホームへ
- オブジェクトのタブ、リスト表示はすべて左側メニューからオブジェクトを選択した時のリストに統合
- リスト表示からのアクション(ボタンのこと?) は不可能
- VF の
showHeader
やshowSidebar
は意味なし - LEX のサイドバーに VF を追加することは不可, ホームへの追加も不可
- 関連リスト系タグがほとんど使えない?
- LEX ページを pdf としてレンダリングするのは不可
見た目の話 (That Look-and-Feel Thing)
- これまでに開発した VF ページは LEX でどういう見た目になるの?という話
- ヘッダー、サイドバーがなくなる以外はこれまでと同じ
3 Using Lightning Components in Lightning Experience
あんまり重要な話はなかった。
Lightning Component のメリット
- 独創的なコンポーネントセット (Out-of-the-Box Component Set)
- たくさんの標準コンポーネントが用意されている
- Performance
- JavaScript を使ったステートフルな Client のおかげでサーバーとの通信が少ない
- イベント駆動アーキテクチャ (Event-Driven Architecture)
- Rapid Development
- Device-Aware and Cross-Browser Compatibility
...同意できるものもそうでないものも。
Lightning Component はどこで使える? (Considerations for Use)
- Standalone Apps
- Lightning App Builder で Lightning ページを作る
- Salesforce1
- サーバーとの通信が少ない Lightning Component はモバイル向き
- Visualforce Pages
- VF 内にマークアップを書くことで簡単に Lightning Component を埋め込める
- いきなり全部じゃなくても段階的に Lightning Component に置き換えることができる
4. ISVs, Packaging, and AppExchange
ISV パートナーが気にするべき点について。
ISV 向け機能で LEX 非対応のもの
- 環境ハブ
- Trialforce
- LMA
- Channel Order App (COA): 知らない
- Usage Metrics Visualization App
要するにほとんど対応してないということです。
アプリケーションのパッケージング
パッケージングの方法についてはこれまで通り。ただし LEX でのパッケージ作成は非対応。
AppExchange と LEX
自分たちのパッケージが LEX 環境で正常に動くのかどうか、という一番気になるポイント。
結局のところはっきりとしたことは書いてなくて
Depending on the functionality of your apps, there’s a chance that they aren’t compatible with Lightning Experience.
要するに自分たちのアプリの機能によっては LEX と互換性ないよ、という当たり前のこと。
LEX でサポートしてない機能を使ってるアプリなどは要動作確認。
興味深いのは、
similar to the way that your app undergoes a security review when you list it on AppExchange, it’s also reviewed for Lightning Experience readiness. Apps supported in Lightning Experience get a “Lightning Ready” sash on their listing.
セキュリティレビューと同じように「LEX に対応しているかどうか」がチェックされ、
LEX 対応しているとみなされると AppExchange で "Lightning Ready" という帯がつくらしい。
実際、アメリカの方の AppExchange だと既にそういう帯がついたアプリが確認できた。
Lightning Ready で検索するとこちらのブログ記事に行き着いて
Developer Blog | Salesforce Developers
そこの Resources にパートナー向けのリンクが記載されている(ログイン必要)。
http://p.force.com/lightningready
さらに、そこに貼ってあったスライドは SlideShare で公開されてたのでここに貼っておく。
スライド47あたりからが該当する部分。
フォントが指定されてる。あとヘッダーとサイドバーは表示しないようにする。
Lightning Ready 認定を受けるまでのステップ。
注)現在もこういった認定を受け付けているのかどうかは不明です。上記パートナー向けリンクなどを参照のこと。
5. Understanding Changes to Other Development Tools
Salesforce の様々な機能について、LEX の影響を受けるかどうか
- インストールしたパッケージ (Installed Pacakges)
- Apex
- 認証・セキュリティ (Authentication and Security)
- キャンバスアプリケーション (Canvas)
- Salesforce1
- Mobile SDK
全部「これまで通り動くよ!」とのことだったけど、気になった点いくつかメモ。
インストールしたパッケージ (Installed Pacakges)
- たぶん(maybe) 問題なく動く
- 本当に LEX に対応していると、AppExchange 上で "Lightning Ready" というタグがつく
- 3章を参照
認証・セキュリティ (Authentication and Security)
- LEX でもセキュリティが再優先事項(top priority) なのは変わらず
- アプリケーションランチャーはアクセス権限に関わらず全ユーザーがアクセスできるので注意
- どういう時に問題になるのかいまいちわからず
キャンバスアプリケーション (Canvas)
- これまで通り Visualforce, Salesforce1, その他サポートされているところに埋め込むことは可能
- Lightning Component に埋め込むことも可能
- やり方どっかに書いてたっけ...?