SlideShare a Scribd company logo
Building a Lightning Component
with Angular Material Design
​ Patricia Cifra
​ Senior Software Engineer
​ pncifra@spanning.com
​ @pncifra
​ 
​ Lightning Component
•  What is a Lightning Component
•  Basics of creating a Lightning Component
•  Anatomy of a Lightning Component
•  Tools
​ Material Design
•  What is Material Design?
•  Where is it used?
•  Sample patterns
•  Using it in a Lightning App/Component
Overview
•  Component Framework
•  Set of tools for developers and business analysts
•  Build Apps
•  Integrate Data
•  Automate Business Processes
What is Lightning?
•  Lightning Connect: access data from external sources
•  Lightning Component: UI framework for developing web apps for mobile or desktop devices
•  Lightning App Builder: build apps without coding
•  Lightning Process Builder: workflow tool
Overview of Lightning Tools
​ Enable Lightning for your Org.
•  Click Develop à Lightning Components and select “Enable Lightning Components” and “Enable Debug
Mode”
​ Option 1: Create a new Lightning Component via Sublime plugin
​ Option 2: Create a new component from Developer Console in Salesforce
​ View Lightning Components
•  Click Develop à Lightning Components
Setting Up Lightning
​ Component or Application
•  File contains the declarative markup for the component or app
Controller
•  Contains the JavaScript controller methods to handle events fired and components
CSS
•  CSS styles scoped to the component
​ Helper
•  Contains JavaScript methods that can be called from anywhere in the component’s bundle. (very helpful!)
Lightning Files
•  Lightning Components do not allow you to load JavaScript libraries from a source outside of
your Salesforce domain.
•  Upload your resources as a static resource
•  Perform this in the setup view of the Salesforce organization
•  Create a zip archive of those resources
•  Create a package in your organization
•  Verify you can access your resource file
Third Party Dependencies
•  Resource isn’t loaded by the time the application renders
•  New release Spring 15: <ltng: require /> tag allows you to load scripts.
•  RequireJS to load dependencies for Lightning Components
•  Add a Lightning Component dependency to your component that will load RequireJS then fire
a Lightning event that will trigger a controller function in your code that calls a helper function
where you specify third party dependencies
Loading Dependencies - RequireJS
•  aura:id – The id tag enables you to assign a unique id to elements in your Lightning
component.
•  aura:attribute – The attribute tag is how you can define Salesforce data to be stored for a
component. It has been very useful to use the Lightning infrastructure to call an apex
controller that will populate an aura attribute. Then firing a Lightning event enables you to
continue processing the data in your application with the third party library handlers.
•  aura:handler – This tag wires a handler function in your Lightning controller to Lightning
events.
Lightning/Aura Attributes
​ Environment
•  3D World: material environment is 3D Space
•  All Objects have x,y, z dimensions
•  Light and Shadow
•  Shadows cast by two light sources, indicate height, space and positioning
Material Properties
•  Physical properties
•  Transforming properties
Elevation and Shadows
•  Shadows and Object relationships
Material Design
Material Design in the Wild
Depth – Placement and positioning
Material Design
Depth – Use shadows
Material Design
Color Palette
Material Design
•  Create custom ToDo Objects
•  Create Apex class to access custom objects
•  Create Lightning event to notify when custom objects have been loaded
•  Create and load static resources
•  Create Lightning App
•  Controller
•  Helper
•  CSS
•  Component
Putting it all together – ToDo List App Example
​ Sublime Lightning Plugin
•  https://github.com/dcarroll/sublime-lightning
Package Control for Sublime
•  https://packagecontrol.io/installation
ForceCli: work with force.com data from command line
•  https://force-cli.herokuapp.com/
Fix MacPath plugin: Fixes path settings for Sublime
•  In Package Control: Install Plugin: search for “FixMacPath”
Developer Tools
​ Lightning Apps/Components
•  Controller – JavaScript controller methods
•  Component – Declarative markup
•  Helper – JavaScript methods available throughout component bundle
•  Events - App or component level events that you can register and attach handlers for, pass parameters.
Material Design
https://www.google.com/design/spec/material-design/introduction.html
https://material.angularjs.org/latest/#/
Recap
Thank you
Share Your Feedback, and Win a GoPro!
3
Earn a GoPro prize entry for
each completed survey
Tap the bell to take a survey2Enroll in a session1

More Related Content

What's hot

Ukrajinska mova-11-klas-glazova-2019
Ukrajinska mova-11-klas-glazova-2019Ukrajinska mova-11-klas-glazova-2019
Ukrajinska mova-11-klas-glazova-2019
kreidaros1
 
Інформатика 8 клас
Інформатика 8 клас Інформатика 8 клас
Інформатика 8 клас
PRESLAVA1972
 
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
Igor igorvolinec
 
текстовий процесор
текстовий процесортекстовий процесор
текстовий процесор
Slovyansk School
 
9 клас урок 17
9 клас урок 179 клас урок 17
9 клас урок 17
Юлія Артюх
 
учнівська презентація тварини частина живої природи
учнівська презентація тварини частина живої природиучнівська презентація тварини частина живої природи
учнівська презентація тварини частина живої природиryabich1976
 
Туристична перлина України – озеро Синевир
Туристична перлина України – озеро Синевир Туристична перлина України – озеро Синевир
Туристична перлина України – озеро Синевир
udau_admin
 
Технічне конструювання
Технічне конструюванняТехнічне конструювання
Технічне конструювання
Дмитрий Войцеховский
 
Гончарук катерина 9 кл. Польові квіти
Гончарук катерина 9 кл. Польові квітиГончарук катерина 9 кл. Польові квіти
Гончарук катерина 9 кл. Польові квіти
Лариса Болотская
 
8 клас урок 2
8 клас урок 28 клас урок 2
8 клас урок 2
Александр Карпук
 
Клас Земноводні. Загальна характеристика.
Клас Земноводні. Загальна характеристика.Клас Земноводні. Загальна характеристика.
Клас Земноводні. Загальна характеристика.
labinskiir-33
 
8 клас урок 41
8 клас урок 418 клас урок 41
8 клас урок 41
Сергій Каляфіцький
 
Організація програмного забезпечення комп’ютера
Організація програмного забезпечення комп’ютераОрганізація програмного забезпечення комп’ютера
Організація програмного забезпечення комп’ютера
Наталья Коба
 
Digitalni dokazi forenzicki alati i standardi
Digitalni dokazi   forenzicki alati i standardiDigitalni dokazi   forenzicki alati i standardi
Digitalni dokazi forenzicki alati i standardiDejan Jeremic
 
Kakla daļas radioloģiskā anatomija
Kakla daļas radioloģiskā anatomijaKakla daļas radioloģiskā anatomija
Kakla daļas radioloģiskā anatomija
Alise Adoviča
 
виготовлення листівки технікою «айріс фолдінг»
виготовлення листівки технікою «айріс фолдінг»виготовлення листівки технікою «айріс фолдінг»
виготовлення листівки технікою «айріс фолдінг»
Petro Plushkin
 
Електронна скринька та електронне листування.
Електронна скринька та електронне листування. Електронна скринька та електронне листування.
Електронна скринька та електронне листування.
al12309
 
Лекція № 1. Методи створення анімації
Лекція № 1. Методи створення анімаціїЛекція № 1. Методи створення анімації
Лекція № 1. Методи створення анімації
udod76
 
будова токарного верстата по обробці деревини
будова токарного верстата по обробці деревинибудова токарного верстата по обробці деревини
будова токарного верстата по обробці деревини
olenafab
 
викладання автоматизованого створення й публікації веб ресурсів у курсі інфор...
викладання автоматизованого створення й публікації веб ресурсів у курсі інфор...викладання автоматизованого створення й публікації веб ресурсів у курсі інфор...
викладання автоматизованого створення й публікації веб ресурсів у курсі інфор...
Shool1
 

What's hot (20)

Ukrajinska mova-11-klas-glazova-2019
Ukrajinska mova-11-klas-glazova-2019Ukrajinska mova-11-klas-glazova-2019
Ukrajinska mova-11-klas-glazova-2019
 
Інформатика 8 клас
Інформатика 8 клас Інформатика 8 клас
Інформатика 8 клас
 
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
 
текстовий процесор
текстовий процесортекстовий процесор
текстовий процесор
 
9 клас урок 17
9 клас урок 179 клас урок 17
9 клас урок 17
 
учнівська презентація тварини частина живої природи
учнівська презентація тварини частина живої природиучнівська презентація тварини частина живої природи
учнівська презентація тварини частина живої природи
 
Туристична перлина України – озеро Синевир
Туристична перлина України – озеро Синевир Туристична перлина України – озеро Синевир
Туристична перлина України – озеро Синевир
 
Технічне конструювання
Технічне конструюванняТехнічне конструювання
Технічне конструювання
 
Гончарук катерина 9 кл. Польові квіти
Гончарук катерина 9 кл. Польові квітиГончарук катерина 9 кл. Польові квіти
Гончарук катерина 9 кл. Польові квіти
 
8 клас урок 2
8 клас урок 28 клас урок 2
8 клас урок 2
 
Клас Земноводні. Загальна характеристика.
Клас Земноводні. Загальна характеристика.Клас Земноводні. Загальна характеристика.
Клас Земноводні. Загальна характеристика.
 
8 клас урок 41
8 клас урок 418 клас урок 41
8 клас урок 41
 
Організація програмного забезпечення комп’ютера
Організація програмного забезпечення комп’ютераОрганізація програмного забезпечення комп’ютера
Організація програмного забезпечення комп’ютера
 
Digitalni dokazi forenzicki alati i standardi
Digitalni dokazi   forenzicki alati i standardiDigitalni dokazi   forenzicki alati i standardi
Digitalni dokazi forenzicki alati i standardi
 
Kakla daļas radioloģiskā anatomija
Kakla daļas radioloģiskā anatomijaKakla daļas radioloģiskā anatomija
Kakla daļas radioloģiskā anatomija
 
виготовлення листівки технікою «айріс фолдінг»
виготовлення листівки технікою «айріс фолдінг»виготовлення листівки технікою «айріс фолдінг»
виготовлення листівки технікою «айріс фолдінг»
 
Електронна скринька та електронне листування.
Електронна скринька та електронне листування. Електронна скринька та електронне листування.
Електронна скринька та електронне листування.
 
Лекція № 1. Методи створення анімації
Лекція № 1. Методи створення анімаціїЛекція № 1. Методи створення анімації
Лекція № 1. Методи створення анімації
 
будова токарного верстата по обробці деревини
будова токарного верстата по обробці деревинибудова токарного верстата по обробці деревини
будова токарного верстата по обробці деревини
 
викладання автоматизованого створення й публікації веб ресурсів у курсі інфор...
викладання автоматизованого створення й публікації веб ресурсів у курсі інфор...викладання автоматизованого створення й публікації веб ресурсів у курсі інфор...
викладання автоматизованого створення й публікації веб ресурсів у курсі інфор...
 

Viewers also liked

Angular material vs material design light
Angular material vs material design lightAngular material vs material design light
Angular material vs material design light
Michael Rumiantsau
 
Angular2 + Ng-Lightning + Lightning Design System = Great Apps
Angular2 + Ng-Lightning + Lightning Design System = Great AppsAngular2 + Ng-Lightning + Lightning Design System = Great Apps
Angular2 + Ng-Lightning + Lightning Design System = Great Apps
Emily Hurn
 
Salesforce Lightning Tips & Tricks
Salesforce Lightning Tips & Tricks Salesforce Lightning Tips & Tricks
Salesforce Lightning Tips & Tricks
Thinqloud
 
Ragavan Rajan_Angular Material_Certificate
Ragavan Rajan_Angular Material_CertificateRagavan Rajan_Angular Material_Certificate
Ragavan Rajan_Angular Material_Certificate
Ragavan Rajan
 
Angular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConfAngular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConf
Tracy Lee
 
An Introduction Into Using Angular’s Material Design
An Introduction Into Using Angular’s Material DesignAn Introduction Into Using Angular’s Material Design
An Introduction Into Using Angular’s Material Design
Tracy Lee
 
The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017
Tracy Lee
 
Lightning Components Workshop
Lightning Components WorkshopLightning Components Workshop
Lightning Components Workshop
Salesforce Developers
 
Secure Salesforce: Lightning Components Best Practices
Secure Salesforce: Lightning Components Best PracticesSecure Salesforce: Lightning Components Best Practices
Secure Salesforce: Lightning Components Best Practices
Salesforce Developers
 
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the StreamsCascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
mattpodwysocki
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
Shivanath Devinarayanan
 

Viewers also liked (11)

Angular material vs material design light
Angular material vs material design lightAngular material vs material design light
Angular material vs material design light
 
Angular2 + Ng-Lightning + Lightning Design System = Great Apps
Angular2 + Ng-Lightning + Lightning Design System = Great AppsAngular2 + Ng-Lightning + Lightning Design System = Great Apps
Angular2 + Ng-Lightning + Lightning Design System = Great Apps
 
Salesforce Lightning Tips & Tricks
Salesforce Lightning Tips & Tricks Salesforce Lightning Tips & Tricks
Salesforce Lightning Tips & Tricks
 
Ragavan Rajan_Angular Material_Certificate
Ragavan Rajan_Angular Material_CertificateRagavan Rajan_Angular Material_Certificate
Ragavan Rajan_Angular Material_Certificate
 
Angular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConfAngular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConf
 
An Introduction Into Using Angular’s Material Design
An Introduction Into Using Angular’s Material DesignAn Introduction Into Using Angular’s Material Design
An Introduction Into Using Angular’s Material Design
 
The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017
 
Lightning Components Workshop
Lightning Components WorkshopLightning Components Workshop
Lightning Components Workshop
 
Secure Salesforce: Lightning Components Best Practices
Secure Salesforce: Lightning Components Best PracticesSecure Salesforce: Lightning Components Best Practices
Secure Salesforce: Lightning Components Best Practices
 
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the StreamsCascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
 

Similar to Building a Lightning App with Angular Material Design

Aura Framework Overview
Aura Framework OverviewAura Framework Overview
Aura Framework Overview
rajdeep
 
Lightning Components Explained
Lightning Components ExplainedLightning Components Explained
Lightning Components Explained
Atul Gupta(8X)
 
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormationTear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
James Andrew Vaughn
 
Lightning web components - Introduction, component Lifecycle, Events, decorat...
Lightning web components - Introduction, component Lifecycle, Events, decorat...Lightning web components - Introduction, component Lifecycle, Events, decorat...
Lightning web components - Introduction, component Lifecycle, Events, decorat...
Nidhi Sharma
 
Lightning web components
Lightning web components Lightning web components
Lightning web components
Cloud Analogy
 
Introduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setupIntroduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setup
Ansley Rodrigues
 
Salesforce Spring 23 Webinar
Salesforce Spring 23 WebinarSalesforce Spring 23 Webinar
Salesforce Spring 23 Webinar
brightgenss
 
Logic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIsLogic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIs
Sriram Hariharan
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014
Uri Cohen
 
Tutorials building connectors
Tutorials building connectorsTutorials building connectors
Tutorials building connectors
dekhoslides
 
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio FranziniaOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
aOS Community
 
Lightning connect london'15
Lightning connect london'15Lightning connect london'15
Lightning connect london'15
agarciaodeian
 
Application Architecture Summit - Monitoring the Dynamic Cloud
Application Architecture Summit - Monitoring the Dynamic Cloud Application Architecture Summit - Monitoring the Dynamic Cloud
Application Architecture Summit - Monitoring the Dynamic Cloud
New Relic
 
Azure DevOps Tasks.pptx
 Azure DevOps Tasks.pptx Azure DevOps Tasks.pptx
Azure DevOps Tasks.pptx
PrasanthOneness
 
Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1
Subhransu Behera
 
Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1
Salesforce Developers
 
Ember - introduction
Ember - introductionEmber - introduction
Ember - introduction
Harikrishnan C
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
Van Staub, MBA
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLift
Amazon Web Services
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
Thomas Daly
 

Similar to Building a Lightning App with Angular Material Design (20)

Aura Framework Overview
Aura Framework OverviewAura Framework Overview
Aura Framework Overview
 
Lightning Components Explained
Lightning Components ExplainedLightning Components Explained
Lightning Components Explained
 
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormationTear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
 
Lightning web components - Introduction, component Lifecycle, Events, decorat...
Lightning web components - Introduction, component Lifecycle, Events, decorat...Lightning web components - Introduction, component Lifecycle, Events, decorat...
Lightning web components - Introduction, component Lifecycle, Events, decorat...
 
Lightning web components
Lightning web components Lightning web components
Lightning web components
 
Introduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setupIntroduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setup
 
Salesforce Spring 23 Webinar
Salesforce Spring 23 WebinarSalesforce Spring 23 Webinar
Salesforce Spring 23 Webinar
 
Logic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIsLogic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIs
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014
 
Tutorials building connectors
Tutorials building connectorsTutorials building connectors
Tutorials building connectors
 
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio FranziniaOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
 
Lightning connect london'15
Lightning connect london'15Lightning connect london'15
Lightning connect london'15
 
Application Architecture Summit - Monitoring the Dynamic Cloud
Application Architecture Summit - Monitoring the Dynamic Cloud Application Architecture Summit - Monitoring the Dynamic Cloud
Application Architecture Summit - Monitoring the Dynamic Cloud
 
Azure DevOps Tasks.pptx
 Azure DevOps Tasks.pptx Azure DevOps Tasks.pptx
Azure DevOps Tasks.pptx
 
Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1
 
Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1
 
Ember - introduction
Ember - introductionEmber - introduction
Ember - introduction
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLift
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 

More from Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Salesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
Salesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
Salesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
Salesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
Salesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
Salesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
Salesforce Developers
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
Salesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
Salesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
Salesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
Salesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
Salesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
Salesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
Salesforce Developers
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
Salesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
Salesforce Developers
 

More from Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Recently uploaded

MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
Mydbops
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
manji sharman06
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Ukraine
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
Sunil Jagani
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
ScyllaDB
 

Recently uploaded (20)

MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
 

Building a Lightning App with Angular Material Design

  • 1. Building a Lightning Component with Angular Material Design ​ Patricia Cifra ​ Senior Software Engineer ​ pncifra@spanning.com ​ @pncifra ​ 
  • 2. ​ Lightning Component •  What is a Lightning Component •  Basics of creating a Lightning Component •  Anatomy of a Lightning Component •  Tools ​ Material Design •  What is Material Design? •  Where is it used? •  Sample patterns •  Using it in a Lightning App/Component Overview
  • 3. •  Component Framework •  Set of tools for developers and business analysts •  Build Apps •  Integrate Data •  Automate Business Processes What is Lightning?
  • 4. •  Lightning Connect: access data from external sources •  Lightning Component: UI framework for developing web apps for mobile or desktop devices •  Lightning App Builder: build apps without coding •  Lightning Process Builder: workflow tool Overview of Lightning Tools
  • 5. ​ Enable Lightning for your Org. •  Click Develop à Lightning Components and select “Enable Lightning Components” and “Enable Debug Mode” ​ Option 1: Create a new Lightning Component via Sublime plugin ​ Option 2: Create a new component from Developer Console in Salesforce ​ View Lightning Components •  Click Develop à Lightning Components Setting Up Lightning
  • 6. ​ Component or Application •  File contains the declarative markup for the component or app Controller •  Contains the JavaScript controller methods to handle events fired and components CSS •  CSS styles scoped to the component ​ Helper •  Contains JavaScript methods that can be called from anywhere in the component’s bundle. (very helpful!) Lightning Files
  • 7. •  Lightning Components do not allow you to load JavaScript libraries from a source outside of your Salesforce domain. •  Upload your resources as a static resource •  Perform this in the setup view of the Salesforce organization •  Create a zip archive of those resources •  Create a package in your organization •  Verify you can access your resource file Third Party Dependencies
  • 8. •  Resource isn’t loaded by the time the application renders •  New release Spring 15: <ltng: require /> tag allows you to load scripts. •  RequireJS to load dependencies for Lightning Components •  Add a Lightning Component dependency to your component that will load RequireJS then fire a Lightning event that will trigger a controller function in your code that calls a helper function where you specify third party dependencies Loading Dependencies - RequireJS
  • 9. •  aura:id – The id tag enables you to assign a unique id to elements in your Lightning component. •  aura:attribute – The attribute tag is how you can define Salesforce data to be stored for a component. It has been very useful to use the Lightning infrastructure to call an apex controller that will populate an aura attribute. Then firing a Lightning event enables you to continue processing the data in your application with the third party library handlers. •  aura:handler – This tag wires a handler function in your Lightning controller to Lightning events. Lightning/Aura Attributes
  • 10. ​ Environment •  3D World: material environment is 3D Space •  All Objects have x,y, z dimensions •  Light and Shadow •  Shadows cast by two light sources, indicate height, space and positioning Material Properties •  Physical properties •  Transforming properties Elevation and Shadows •  Shadows and Object relationships Material Design
  • 11. Material Design in the Wild
  • 12. Depth – Placement and positioning Material Design
  • 13. Depth – Use shadows Material Design
  • 15. •  Create custom ToDo Objects •  Create Apex class to access custom objects •  Create Lightning event to notify when custom objects have been loaded •  Create and load static resources •  Create Lightning App •  Controller •  Helper •  CSS •  Component Putting it all together – ToDo List App Example
  • 16. ​ Sublime Lightning Plugin •  https://github.com/dcarroll/sublime-lightning Package Control for Sublime •  https://packagecontrol.io/installation ForceCli: work with force.com data from command line •  https://force-cli.herokuapp.com/ Fix MacPath plugin: Fixes path settings for Sublime •  In Package Control: Install Plugin: search for “FixMacPath” Developer Tools
  • 17. ​ Lightning Apps/Components •  Controller – JavaScript controller methods •  Component – Declarative markup •  Helper – JavaScript methods available throughout component bundle •  Events - App or component level events that you can register and attach handlers for, pass parameters. Material Design https://www.google.com/design/spec/material-design/introduction.html https://material.angularjs.org/latest/#/ Recap
  • 19. Share Your Feedback, and Win a GoPro! 3 Earn a GoPro prize entry for each completed survey Tap the bell to take a survey2Enroll in a session1