22
Spring’16 リリリリリリリリリ Lightning Component Tokyo Salesforce Developer Group Meetup #11

Tokyo Salesforce Developer Group Meetup #11

Embed Size (px)

Citation preview

Page 1: Tokyo Salesforce Developer Group Meetup #11

Spring’16リリースノート輪読Lightning Component

Tokyo Salesforce Developer Group Meetup #11

Page 2: Tokyo Salesforce Developer Group Meetup #11

自己紹介山﨑 真吾株式会社チームスピリット zaki___yamaBlog: http://dackdive.hateblo.jp/

Lightning Component はそんなに…前回のハイライト

Page 3: Tokyo Salesforce Developer Group Meetup #11

PR

http://zaki-yama.github.io/salesforce-developers.info/ Python 製 静的サイトジェネレータ Pelican + GitHub Pages で作ってます

ニュースサイト作りました

Page 4: Tokyo Salesforce Developer Group Meetup #11

本日お話すること• アクセス権チェックのより厳格な適用• Lightning Out ( ベータ )• Lightning コンポーネントトークン

( 開発者プレビュー )

Page 5: Tokyo Salesforce Developer Group Meetup #11

本日お話しないこと• $A.error() の廃止 • format() による表示ラベルパラメータの動的な入力• 安全なクライアント側キャッシュによるパフォーマンスの改善• Sfdc JavaScript グローバルの削除• List または Map パラメータを使用した Apex コントローラでのエラーの解決

Page 6: Tokyo Salesforce Developer Group Meetup #11

アクセス権チェックのより厳格な適用

Page 7: Tokyo Salesforce Developer Group Meetup #11

アクセス権チェックのより厳格な適用• <aura:application> や

<aura:component> にaccess=“…” 属性が 必須 になります

• Spring’16: ブラウザコンソールで警告のみ ( デバッグモード限定 )

• Summer’16 以降 : アクセスできなくなる

Page 8: Tokyo Salesforce Developer Group Meetup #11

access 属性の種類• private (aura:attribute のみ )

• 外部参照不可• public : デフォルト

• 同じ名前空間内で使用可能• global

• すべての名前空間で使用可能• 管理パッケージとして配布するコンポーネントはこれ?

https://developer.salesforce.com/docs/atlas.ja-jp.198.0.lightning.meta/lightning/access_intro.htm

Page 9: Tokyo Salesforce Developer Group Meetup #11

WARNING の一例

Page 10: Tokyo Salesforce Developer Group Meetup #11

よくわからないこと• 「コンポーネントを表示した時」ではなく

<ui:xxx> 系コンポーネントを操作した時に警告が表示されている?• バグくさい…

• ためしに access なしで管理パッケージ化、他組織にインストール• App Builder 使って S1, LEX で表示 → 警告出ない• <namespace:Foo /> でコードに埋め込み → 不可

• デフォルトで public => public なら省略可能?補足)なので、先ほど「必須」と書きましたが実際には「 global だけはちゃんと定義しないと、インストールして使ってもらうことができなくなりますよ」となるんじゃないかというのが今のところの解釈です。デフォルト public なのに全コンポーネントに access=“public” って書け、だとちょっと面倒ですよね。。。

Page 11: Tokyo Salesforce Developer Group Meetup #11

Lightning Out ( ベータ )

Page 12: Tokyo Salesforce Developer Group Meetup #11

Lightning Out ( ベータ )

• Lightning Component を Lightning の外でも使えるような仕組み• Visualforce 内での使用は Winter’16 から可能だった (LC4VF)• Spring’16 で Force.com 外からも利用可能に!→ ドキュメント見つからない問題 ( 英語版も )

Page 13: Tokyo Salesforce Developer Group Meetup #11

公式ブログでも

Page 14: Tokyo Salesforce Developer Group Meetup #11

参考 1: Visualforce で使う

Page 15: Tokyo Salesforce Developer Group Meetup #11

参考 1: Visualforce で使う

• 専用の Lightning App を用意してコンポーネントを内包する• App は extends=“ltng:outApp” が必要

Page 16: Tokyo Salesforce Developer Group Meetup #11

参考 1: Visualforce で使う• lightning.out.js は現在

<apex:includeLightning />• $Lightning.use -> createComponent

1. コンポーネント2. 属性3. 挿入位置4. callback

https://developer.salesforce.com/docs/atlas.ja-jp.198.0.lightning.meta/lightning/components_visualforce.htm( 注 : Winter’16)

Page 17: Tokyo Salesforce Developer Group Meetup #11

参考 2: Force.com 外から呼ぶ

http://appirio.co.jp/category/tech-blog/2015/12/hello-world-lightning-out/

Spring’16 で多少は設定が楽になったのかなあ。。。といったところ

Page 18: Tokyo Salesforce Developer Group Meetup #11

Lightningコンポーネントトークン( 開発者プレビュー )

Page 19: Tokyo Salesforce Developer Group Meetup #11

Lightning コンポーネント トークン• コンポーネントの CSS 用に変数を定義できる• コンポーネントと独立したファイル

( ファイル名も指定されている )

Page 20: Tokyo Salesforce Developer Group Meetup #11

トークンの使い方• defaultTokens.tokens ( ファイル名固定 )

• コンポーネントの CSS 側

Page 21: Tokyo Salesforce Developer Group Meetup #11

標準設計トークン• 標準で用意された変数群

Lightning Component Developer Guide: Standard Design Tokenshttps://developer.salesforce.com/docs/atlas.en-us.200.0.lightning.meta/lightning/tokens_standard.htm

注 ) 使うときはdefaultTokens.tokens に

<aura:tokens extends=“force:base"> が必要

Page 22: Tokyo Salesforce Developer Group Meetup #11

ありがとうございました