SlideShare a Scribd company logo
1 of 25
Download to read offline
Lightning を
やってみてあれこれ
第6回 appexchange developer meeting
2015/01/19
株式会社テラスカイ
吉田 寛
自己紹介
所属:株式会社テラスカイ
製品開発部 マネージャー
吉田 寛(Hiroshi Yoshita)
@xlouder
2
Agenda
• 会社紹介、SkyVisualEditorの紹介
• Lightning とは
• Lightning 開発する上で知っておきたいこと
• 開発環境
• 外部JavaScriptライブラリの読み込み
• 複数 Lightning コンポーネントで同じJavaScript ライブラリは使える
• Lightning コンポーネント 間での情報通信
• Aura と Lightning
• 最後に
3
会社紹介
• 社名 :株式会社テラスカイ
• 所在地:東京都中央区八重洲
• 特徴
• 豊富なSalesforce導入実績
• 自社製品がある
• 多くの専門技術者
4
Drag &
Drop
Visualforce
Apex
Salesforceの画面を作成することが
できるサービス
「Visualforceページ」、「Apexクラス」
を自動生成するサービス
SkyVisualEditor紹介
5
Lighitning とは
6
Special Thanks
http://qiita.com/advent-calendar/2014/lightning
7
Lightning とは
 Lightning コンポーネントフレームワーク
コンポーネント及びエクステンションは、再利用可能なコンポーネントの開発と既存のSalesforce1アプリケーションの挙動のカスタマイズ、さらにスタンドアロンアプリケーション
の開発を可能にします
 Lightning コンポーネント
アプリケーションの自己完結型の再利用可能なユニットで、UI の再利用可能なセクションを表します
 Lightning App Builder
素早くアプリケーションを組み立てることができる新しいグラフィカルなツールです。UIの部品にはSalesforceや他の開発者が提供するコンポーネントを利用できます
 Lightning Connect (External Data Source )
Force.comアプリケーションと外部リソースを業界標準のOData規格に従って、簡単に統合する事ができるツール
 Lightning Community Builder
コミュニティページをデザインするためのビジュアルUIツール
 Lightning Process Builder
ビジネス・プロセスの自動化を可能にするビジュアルUIツール
 Lightning Schema Builder ( 旧 Schema Builder )
オブジェクトやデータの関連を確認し、データベースデザインを行えるビジュアルUIツール
8
Lightning とは、Force.comの新しいプラットフォームサービス群。
会話の中で使っている名称
 Lightning アプリケーション
 Lightning イベント
■ Lightning コンポーネント
■ Lightning アプリケーション
■ Lightning App Builder
■ Lightning イベント
クライアントサイド
アプリケーション (*.app)
Lightning とは
 Lightning アプリケーション
• パッケージ化して配布が可能。AppExchangeで公開も可能。
• Lightning コンポーネントタブとして登録できないため、Saleforce1上で動作不可。
• Lightning コンポーネントを配置したスタンドアロンアプリケーションが作成可能。
• <script>タグが使用可能。
• 修正がリアルタイムに反映される
• 作成したアプリケーションのプレビューができる
 Lightning コンポーネント
• Lightningコンポーネントフレームワークを使用して開発を行う
• Lightning コンポーネントタブに登録すれば 、Saleforce1上で単体のアプリとして
動作可能。
• Lightning App Builder でカスタムコンポーネントとして使用できる
• <script>タグを “原則” 使用することができない
• 修正がリアルタイムに反映されない
• パッケージ化して配布が可能。AppExchangeで公開も可能。
9
コンポーネント (*cmp, *.js, *.css)
コンポーネント
サーバーサイド
Apex (*.apxc)
イベント
概略図
コンポーネント
Lightning とは
10
 Lightning App Builder
• ユーザが作成したLightning コンポーネントをドラッグ & ドロップで組み合わせて利用することが出来るツール
• 現在 Pilot機能 のため利用することが不可
(Dreamforce’14で一部開放したことがある。)
 Lightning イベント
• イベント駆動型プログラミングが可能
• イベントには2種類ある
• コンポーネントイベント
• コンポーネントの中で発生したイベントのみをハンドリング
できる
• アプリケーションイベント
• アプリケーション内で発生したイベントであればどこから
でもハンドリングできる
Lightning開発をするにあたってのドキュメント
 Lightning コンポーネント開発者ガイド
https://developer.salesforce.com/docs/atlas.ja-jp.lightning.meta/lightning/
 Lightning FAQ
https://developer.salesforce.com/page/JP:Lightning_FAQ
 Salesforce1 Lightning Advent Calendar 2014
http://qiita.com/advent-calendar/2014/lightning
11
Lightning 開発する上で知っておきたいこと
12
開発環境
□ 開発者コンソール
13
□ Sublime Text3 + sublime-lightning
開発環境
「開発者コンソール」,「Sublime Text」使用のメリット/デメリット
開発者コンソール
• 標準搭載されている。直ぐに利用可能。
• 右サイドバーのリンク集がある
• タブ表示されているエディタの移動ができない
Sublime Text + sublime-lightning
• 環境構築が必要
• 非常に軽量
• 独自設定可能、補完機能追加可能
• 他ツール(バージョン管理)との連携が可能
14
✕
<リンク集>
<タブ移動>
開発環境
• 開発時の調査(デバッグ)の方法
• 主にJavaScriptでの開発のため、通常のJavaScript開発と同様にWebブラウザのデベ
ロッパーツールを使用
• $A.log() メソッドを使用してログメッセージをJavaScript コンソールに出力する
• ⇛Winter’15 環境では出力されず…..
15
[参照] Lightning コンポーネント開発者ガイド:デバッグ
https://developer.salesforce.com/docs/atlas.ja-jp.lightning.meta/lightning/debug_intro.htm
外部JavaScriptライブラリの読み込み
• 静的リソースに格納する必要がある
• Visualforceページのように外部から直接読み込みは不可
• $Resourceは使えない
• アプリケーションに読み込み処理を記述
• コンポーネントには “基本的には” 定義できない
• 複数の外部JavaScriptライブラリを読み込む場合は読み込み順を意
識する
• <script>タグの記述順に読み込む保証がされていない
• 「RequireJSライブラリ」もしくは「Loader component」を使用して対応可能
16
<script src="/resource/js/JSLibrary.js"/>
複数 Lightning コンポーネント で同じ
JavaScript ライブラリは使えるか
• コンポーネントで<script>タグを記述することができない
• アプリケーションで定義したものを全コンポーネントで共有…?
 アプリケーション全体の設計ができているスクラッチ開発では問題なし
 現時点では、様々な人が作ったコンポーネントを利用することが出来ない
 Lightining App Builder に期待
17
Lightning コンポーネント 間での情報通信
• イベントを定義することで、コンポーネント間の通信が可能。
18
Aura と Lightning
19
Aura と Lightning
 Auraとは
• デスクトップとモバイルデバイスの両方のための動的なWebアプリケーションを
開発するためのUIフレームワーク
• Lumen -> Aura -> Lightning
• Salesforce Touch、Salesforce1、ページレイアウトはAuraで作られた
• GitHubで公開されているオープンソース
https://github.com/forcedotcom/aura
• Java EE サーバー上で動作可能
20
デモ:Aura Note
Aura と Lightning
 リファレンス
• Aura
http://documentation.auraframework.org/auradocs#reference?descriptor=ui:abstractDataGrid&defType=component
• Lightning
• Lightning Component Cheat Sheet
https://developer.salesforce.com/resource/pdfs/Lightening_Components_Cheatsheet.pdf
• Spring’15 Release Notes
http://releasenotes.docs.salesforce.com/spring15/spring15/release-notes/rn_lightning_components.htm
 UIタグの比較
• Aura :約130
• Lightning (Winter’15) : 15+26 (Spring’15)
• Visualforce (Winter’15): 146
• Lightningに存在しないAuraタグは使えない
• UnknownException が発生。JavaScriptエラーが発生してもエラー内容が表示されない
• Auraのレスポンシブ系、レイアウト系のタグも使えず
• エラーになってしまう
• Lightning App Builderに期待?
21
最後に
22
試してみて気付いたこと
 Lightning には inputField は存在しない。
• inputField の機能 (Validationチェック、reference項目、etc) を実装する必要がある。
• 因みに、Aura にも inputField は存在しない。
 Lightning コンポーネントは レスポンシブなUI ではない。
• Lightning App Builder はレスポンシブUIに対応している (はず) だが、コンポーネントの
集合体 (アプリケーションやコンポーネントのネスト) の中では自動的にレイアウトを変
更する機能はない。
 ステートメントの保持はサーバサイド(Apex)ではなくクライアントサイド
で行う必要がある
 HTML5 <template>タグが使えない
• HTMLタグについてもLightning フレームワークで制御している
23
疑問
 Lightning コンポーネントは内部非公開で配布可能?
• “コンポーネントはカプセル化され、内部は非公開に保たれます” とあるが…
 Salesforceが利用可能JavaScriptライブラリを定義する?
• 現在 Lightning コンポーネントでは外部JavaScriptライブラリを呼び出しできない
• 外部JavaScriptライブラリ(Angular, Polymer, React, Meteor)がincludeされるようになる
 今後のVisualforceはどうなる?
• Visualforceは引き続きサポートされる
• LightningコンポーネントはVisualforceページで利用可能になるもよう
24
25
以上!!

More Related Content

What's hot

絶対使いたくなるAppexchangeアプリとそのアーキテクチャー
絶対使いたくなるAppexchangeアプリとそのアーキテクチャー絶対使いたくなるAppexchangeアプリとそのアーキテクチャー
絶対使いたくなるAppexchangeアプリとそのアーキテクチャーKazuki Nakajima
 
キャンバス個人用アプリ 速習ガイド
キャンバス個人用アプリ 速習ガイドキャンバス個人用アプリ 速習ガイド
キャンバス個人用アプリ 速習ガイドKazuki Nakajima
 
Lightning componentとlightning design system
Lightning componentとlightning design systemLightning componentとlightning design system
Lightning componentとlightning design systemNoriko Iwai
 
Salesforce DUG meetup #10 MiniHack完全制覇の旅
Salesforce DUG meetup #10 MiniHack完全制覇の旅Salesforce DUG meetup #10 MiniHack完全制覇の旅
Salesforce DUG meetup #10 MiniHack完全制覇の旅Akira Kuratani
 
今さらきけない環境ハブ
今さらきけない環境ハブ今さらきけない環境ハブ
今さらきけない環境ハブKazuki Nakajima
 
Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣アシアル株式会社
 
19-D-5 Silverlightを利用したビジネスアプリケーション作成のポイント
19-D-5 Silverlightを利用したビジネスアプリケーション作成のポイント19-D-5 Silverlightを利用したビジネスアプリケーション作成のポイント
19-D-5 Silverlightを利用したビジネスアプリケーション作成のポイントnishizaki
 
CROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッションCROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッションMasahiro Tanaka
 
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理政雄 金森
 
Sl study 20150804-soft-layer-apibasic-shibata
Sl study 20150804-soft-layer-apibasic-shibataSl study 20150804-soft-layer-apibasic-shibata
Sl study 20150804-soft-layer-apibasic-shibataNaoki Shibata
 
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~Takeshi Shinmura
 
Spring'15 ISV様向け新機能紹介
Spring'15 ISV様向け新機能紹介Spring'15 ISV様向け新機能紹介
Spring'15 ISV様向け新機能紹介Kazuki Nakajima
 
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要Yoshito Tabuchi
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスアシアル株式会社
 
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -ShinichiAoyagi
 
コックピットアプリケーション
コックピットアプリケーションコックピットアプリケーション
コックピットアプリケーションDaisuke Sugai
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルAkira Inoue
 
SharePoint 開発入門
SharePoint 開発入門SharePoint 開発入門
SharePoint 開発入門Hiroaki Oikawa
 
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイントエンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイントアシアル株式会社
 

What's hot (20)

Force.com Canvas アプリケーション
Force.com Canvas アプリケーションForce.com Canvas アプリケーション
Force.com Canvas アプリケーション
 
絶対使いたくなるAppexchangeアプリとそのアーキテクチャー
絶対使いたくなるAppexchangeアプリとそのアーキテクチャー絶対使いたくなるAppexchangeアプリとそのアーキテクチャー
絶対使いたくなるAppexchangeアプリとそのアーキテクチャー
 
キャンバス個人用アプリ 速習ガイド
キャンバス個人用アプリ 速習ガイドキャンバス個人用アプリ 速習ガイド
キャンバス個人用アプリ 速習ガイド
 
Lightning componentとlightning design system
Lightning componentとlightning design systemLightning componentとlightning design system
Lightning componentとlightning design system
 
Salesforce DUG meetup #10 MiniHack完全制覇の旅
Salesforce DUG meetup #10 MiniHack完全制覇の旅Salesforce DUG meetup #10 MiniHack完全制覇の旅
Salesforce DUG meetup #10 MiniHack完全制覇の旅
 
今さらきけない環境ハブ
今さらきけない環境ハブ今さらきけない環境ハブ
今さらきけない環境ハブ
 
Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣
 
19-D-5 Silverlightを利用したビジネスアプリケーション作成のポイント
19-D-5 Silverlightを利用したビジネスアプリケーション作成のポイント19-D-5 Silverlightを利用したビジネスアプリケーション作成のポイント
19-D-5 Silverlightを利用したビジネスアプリケーション作成のポイント
 
CROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッションCROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッション
 
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
 
Sl study 20150804-soft-layer-apibasic-shibata
Sl study 20150804-soft-layer-apibasic-shibataSl study 20150804-soft-layer-apibasic-shibata
Sl study 20150804-soft-layer-apibasic-shibata
 
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~
 
Spring'15 ISV様向け新機能紹介
Spring'15 ISV様向け新機能紹介Spring'15 ISV様向け新機能紹介
Spring'15 ISV様向け新機能紹介
 
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
 
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
 
コックピットアプリケーション
コックピットアプリケーションコックピットアプリケーション
コックピットアプリケーション
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 
SharePoint 開発入門
SharePoint 開発入門SharePoint 開発入門
SharePoint 開発入門
 
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイントエンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
 

Similar to Salesforce Lightning をやってみてあれこれ

Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門minazou67
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCDaisuke Nishino
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現Shigeru Tatsuta
 
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Akira Inoue
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発日本マイクロソフト株式会社
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2近藤 繁延
 
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発GoAzure
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべKaoru NAKAMURA
 
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOpsデブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOpsDevelopers Summit
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)TIS Inc.
 
はじめての Azure 開発
はじめての Azure 開発はじめての Azure 開発
はじめての Azure 開発Yoshitaka Seo
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理Tadashi Miyazato
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化Issei Hiraoka
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能Masaki Suzuki
 

Similar to Salesforce Lightning をやってみてあれこれ (20)

Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現
 
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
 
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
 
Go azure tfs_service
Go azure tfs_serviceGo azure tfs_service
Go azure tfs_service
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOpsデブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
 
はじめての Azure 開発
はじめての Azure 開発はじめての Azure 開発
はじめての Azure 開発
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能
 

More from 寛 吉田

[TerraSky Day 2016] エンジニアのためになる!実用的なSalesforceページデザインについて考えてみよう
[TerraSky Day 2016] エンジニアのためになる!実用的なSalesforceページデザインについて考えてみよう[TerraSky Day 2016] エンジニアのためになる!実用的なSalesforceページデザインについて考えてみよう
[TerraSky Day 2016] エンジニアのためになる!実用的なSalesforceページデザインについて考えてみよう寛 吉田
 
聞いてスッキリ!Lightningの理解ポイント
聞いてスッキリ!Lightningの理解ポイント聞いてスッキリ!Lightningの理解ポイント
聞いてスッキリ!Lightningの理解ポイント寛 吉田
 
Do you known issues ? - Practical use of known issue -
Do you known issues ? - Practical use of known issue -Do you known issues ? - Practical use of known issue -
Do you known issues ? - Practical use of known issue -寛 吉田
 
Clickjack protection for salesforce
Clickjack protection for salesforceClickjack protection for salesforce
Clickjack protection for salesforce寛 吉田
 
The mash-up choice
The mash-up choiceThe mash-up choice
The mash-up choice寛 吉田
 
Performance of visualforce lt version-20121031
Performance of visualforce lt version-20121031Performance of visualforce lt version-20121031
Performance of visualforce lt version-20121031寛 吉田
 
Performance of Visualforce
Performance of VisualforcePerformance of Visualforce
Performance of Visualforce寛 吉田
 
SkyVisualEditorで使ってるコードちょっとだけ教えます-PDFでの文字折返し-
SkyVisualEditorで使ってるコードちょっとだけ教えます-PDFでの文字折返し-SkyVisualEditorで使ってるコードちょっとだけ教えます-PDFでの文字折返し-
SkyVisualEditorで使ってるコードちょっとだけ教えます-PDFでの文字折返し-寛 吉田
 
AWS to Salesforce 活用例 ~SSL Termination試してみました~
AWS to Salesforce 活用例 ~SSL Termination試してみました~AWS to Salesforce 活用例 ~SSL Termination試してみました~
AWS to Salesforce 活用例 ~SSL Termination試してみました~寛 吉田
 

More from 寛 吉田 (9)

[TerraSky Day 2016] エンジニアのためになる!実用的なSalesforceページデザインについて考えてみよう
[TerraSky Day 2016] エンジニアのためになる!実用的なSalesforceページデザインについて考えてみよう[TerraSky Day 2016] エンジニアのためになる!実用的なSalesforceページデザインについて考えてみよう
[TerraSky Day 2016] エンジニアのためになる!実用的なSalesforceページデザインについて考えてみよう
 
聞いてスッキリ!Lightningの理解ポイント
聞いてスッキリ!Lightningの理解ポイント聞いてスッキリ!Lightningの理解ポイント
聞いてスッキリ!Lightningの理解ポイント
 
Do you known issues ? - Practical use of known issue -
Do you known issues ? - Practical use of known issue -Do you known issues ? - Practical use of known issue -
Do you known issues ? - Practical use of known issue -
 
Clickjack protection for salesforce
Clickjack protection for salesforceClickjack protection for salesforce
Clickjack protection for salesforce
 
The mash-up choice
The mash-up choiceThe mash-up choice
The mash-up choice
 
Performance of visualforce lt version-20121031
Performance of visualforce lt version-20121031Performance of visualforce lt version-20121031
Performance of visualforce lt version-20121031
 
Performance of Visualforce
Performance of VisualforcePerformance of Visualforce
Performance of Visualforce
 
SkyVisualEditorで使ってるコードちょっとだけ教えます-PDFでの文字折返し-
SkyVisualEditorで使ってるコードちょっとだけ教えます-PDFでの文字折返し-SkyVisualEditorで使ってるコードちょっとだけ教えます-PDFでの文字折返し-
SkyVisualEditorで使ってるコードちょっとだけ教えます-PDFでの文字折返し-
 
AWS to Salesforce 活用例 ~SSL Termination試してみました~
AWS to Salesforce 活用例 ~SSL Termination試してみました~AWS to Salesforce 活用例 ~SSL Termination試してみました~
AWS to Salesforce 活用例 ~SSL Termination試してみました~
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Recently uploaded (8)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 

Salesforce Lightning をやってみてあれこれ

  • 1. Lightning を やってみてあれこれ 第6回 appexchange developer meeting 2015/01/19 株式会社テラスカイ 吉田 寛
  • 3. Agenda • 会社紹介、SkyVisualEditorの紹介 • Lightning とは • Lightning 開発する上で知っておきたいこと • 開発環境 • 外部JavaScriptライブラリの読み込み • 複数 Lightning コンポーネントで同じJavaScript ライブラリは使える • Lightning コンポーネント 間での情報通信 • Aura と Lightning • 最後に 3
  • 4. 会社紹介 • 社名 :株式会社テラスカイ • 所在地:東京都中央区八重洲 • 特徴 • 豊富なSalesforce導入実績 • 自社製品がある • 多くの専門技術者 4
  • 8. Lightning とは  Lightning コンポーネントフレームワーク コンポーネント及びエクステンションは、再利用可能なコンポーネントの開発と既存のSalesforce1アプリケーションの挙動のカスタマイズ、さらにスタンドアロンアプリケーション の開発を可能にします  Lightning コンポーネント アプリケーションの自己完結型の再利用可能なユニットで、UI の再利用可能なセクションを表します  Lightning App Builder 素早くアプリケーションを組み立てることができる新しいグラフィカルなツールです。UIの部品にはSalesforceや他の開発者が提供するコンポーネントを利用できます  Lightning Connect (External Data Source ) Force.comアプリケーションと外部リソースを業界標準のOData規格に従って、簡単に統合する事ができるツール  Lightning Community Builder コミュニティページをデザインするためのビジュアルUIツール  Lightning Process Builder ビジネス・プロセスの自動化を可能にするビジュアルUIツール  Lightning Schema Builder ( 旧 Schema Builder ) オブジェクトやデータの関連を確認し、データベースデザインを行えるビジュアルUIツール 8 Lightning とは、Force.comの新しいプラットフォームサービス群。 会話の中で使っている名称  Lightning アプリケーション  Lightning イベント ■ Lightning コンポーネント ■ Lightning アプリケーション ■ Lightning App Builder ■ Lightning イベント
  • 9. クライアントサイド アプリケーション (*.app) Lightning とは  Lightning アプリケーション • パッケージ化して配布が可能。AppExchangeで公開も可能。 • Lightning コンポーネントタブとして登録できないため、Saleforce1上で動作不可。 • Lightning コンポーネントを配置したスタンドアロンアプリケーションが作成可能。 • <script>タグが使用可能。 • 修正がリアルタイムに反映される • 作成したアプリケーションのプレビューができる  Lightning コンポーネント • Lightningコンポーネントフレームワークを使用して開発を行う • Lightning コンポーネントタブに登録すれば 、Saleforce1上で単体のアプリとして 動作可能。 • Lightning App Builder でカスタムコンポーネントとして使用できる • <script>タグを “原則” 使用することができない • 修正がリアルタイムに反映されない • パッケージ化して配布が可能。AppExchangeで公開も可能。 9 コンポーネント (*cmp, *.js, *.css) コンポーネント サーバーサイド Apex (*.apxc) イベント 概略図 コンポーネント
  • 10. Lightning とは 10  Lightning App Builder • ユーザが作成したLightning コンポーネントをドラッグ & ドロップで組み合わせて利用することが出来るツール • 現在 Pilot機能 のため利用することが不可 (Dreamforce’14で一部開放したことがある。)  Lightning イベント • イベント駆動型プログラミングが可能 • イベントには2種類ある • コンポーネントイベント • コンポーネントの中で発生したイベントのみをハンドリング できる • アプリケーションイベント • アプリケーション内で発生したイベントであればどこから でもハンドリングできる
  • 11. Lightning開発をするにあたってのドキュメント  Lightning コンポーネント開発者ガイド https://developer.salesforce.com/docs/atlas.ja-jp.lightning.meta/lightning/  Lightning FAQ https://developer.salesforce.com/page/JP:Lightning_FAQ  Salesforce1 Lightning Advent Calendar 2014 http://qiita.com/advent-calendar/2014/lightning 11
  • 14. 開発環境 「開発者コンソール」,「Sublime Text」使用のメリット/デメリット 開発者コンソール • 標準搭載されている。直ぐに利用可能。 • 右サイドバーのリンク集がある • タブ表示されているエディタの移動ができない Sublime Text + sublime-lightning • 環境構築が必要 • 非常に軽量 • 独自設定可能、補完機能追加可能 • 他ツール(バージョン管理)との連携が可能 14 ✕ <リンク集> <タブ移動>
  • 15. 開発環境 • 開発時の調査(デバッグ)の方法 • 主にJavaScriptでの開発のため、通常のJavaScript開発と同様にWebブラウザのデベ ロッパーツールを使用 • $A.log() メソッドを使用してログメッセージをJavaScript コンソールに出力する • ⇛Winter’15 環境では出力されず….. 15 [参照] Lightning コンポーネント開発者ガイド:デバッグ https://developer.salesforce.com/docs/atlas.ja-jp.lightning.meta/lightning/debug_intro.htm
  • 16. 外部JavaScriptライブラリの読み込み • 静的リソースに格納する必要がある • Visualforceページのように外部から直接読み込みは不可 • $Resourceは使えない • アプリケーションに読み込み処理を記述 • コンポーネントには “基本的には” 定義できない • 複数の外部JavaScriptライブラリを読み込む場合は読み込み順を意 識する • <script>タグの記述順に読み込む保証がされていない • 「RequireJSライブラリ」もしくは「Loader component」を使用して対応可能 16 <script src="/resource/js/JSLibrary.js"/>
  • 17. 複数 Lightning コンポーネント で同じ JavaScript ライブラリは使えるか • コンポーネントで<script>タグを記述することができない • アプリケーションで定義したものを全コンポーネントで共有…?  アプリケーション全体の設計ができているスクラッチ開発では問題なし  現時点では、様々な人が作ったコンポーネントを利用することが出来ない  Lightining App Builder に期待 17
  • 18. Lightning コンポーネント 間での情報通信 • イベントを定義することで、コンポーネント間の通信が可能。 18
  • 20. Aura と Lightning  Auraとは • デスクトップとモバイルデバイスの両方のための動的なWebアプリケーションを 開発するためのUIフレームワーク • Lumen -> Aura -> Lightning • Salesforce Touch、Salesforce1、ページレイアウトはAuraで作られた • GitHubで公開されているオープンソース https://github.com/forcedotcom/aura • Java EE サーバー上で動作可能 20 デモ:Aura Note
  • 21. Aura と Lightning  リファレンス • Aura http://documentation.auraframework.org/auradocs#reference?descriptor=ui:abstractDataGrid&defType=component • Lightning • Lightning Component Cheat Sheet https://developer.salesforce.com/resource/pdfs/Lightening_Components_Cheatsheet.pdf • Spring’15 Release Notes http://releasenotes.docs.salesforce.com/spring15/spring15/release-notes/rn_lightning_components.htm  UIタグの比較 • Aura :約130 • Lightning (Winter’15) : 15+26 (Spring’15) • Visualforce (Winter’15): 146 • Lightningに存在しないAuraタグは使えない • UnknownException が発生。JavaScriptエラーが発生してもエラー内容が表示されない • Auraのレスポンシブ系、レイアウト系のタグも使えず • エラーになってしまう • Lightning App Builderに期待? 21
  • 23. 試してみて気付いたこと  Lightning には inputField は存在しない。 • inputField の機能 (Validationチェック、reference項目、etc) を実装する必要がある。 • 因みに、Aura にも inputField は存在しない。  Lightning コンポーネントは レスポンシブなUI ではない。 • Lightning App Builder はレスポンシブUIに対応している (はず) だが、コンポーネントの 集合体 (アプリケーションやコンポーネントのネスト) の中では自動的にレイアウトを変 更する機能はない。  ステートメントの保持はサーバサイド(Apex)ではなくクライアントサイド で行う必要がある  HTML5 <template>タグが使えない • HTMLタグについてもLightning フレームワークで制御している 23
  • 24. 疑問  Lightning コンポーネントは内部非公開で配布可能? • “コンポーネントはカプセル化され、内部は非公開に保たれます” とあるが…  Salesforceが利用可能JavaScriptライブラリを定義する? • 現在 Lightning コンポーネントでは外部JavaScriptライブラリを呼び出しできない • 外部JavaScriptライブラリ(Angular, Polymer, React, Meteor)がincludeされるようになる  今後のVisualforceはどうなる? • Visualforceは引き続きサポートされる • LightningコンポーネントはVisualforceページで利用可能になるもよう 24