SlideShare a Scribd company logo
Building Lightning Apps
Kitchener, Canada Developer Group
Speaker
Date
Venue/Link
Daniel Peter
August 25th, 2018 @ 10:00 AM EST
https://zoom.us/j/391873868
Meeting Sponsor
Who Am I?
Sudipta Deb
● Technical Architect with Appirio Inc., a Wipro Company
● 2.5X Trailhead Ranger
● 7x Salesforce Certified
● Blogging at www.sudipta-deb.in
● Co-Organizer of Kitchener, Canada Developer Group
● Follow me @sudipta_1984
Our Speaker
Daniel Peter
● Salesforce MVP
● 24x Salesforce Certified
● Bay Area Salesforce Developer Group Leader
● Independent Consultant
Agenda
● Advice from my experience developing Lightning apps
● Demo
● Q&A
My Domain!
Turn it on, all the way on...
Think hard about containers
● Lightning Component
● Stand alone Lightning app
● Lightning Component tab, within Lightning Experience
● Lightning Component, inside of an existing record page
● Lightning out in Visualforce
● Utility Bar
Think hard about containers
● Design so it can be used for one or more of these.
Maintain the core code in one place.
● Consider developing in a Lightning app, even if that
isn’t the final container
● Not all features work in all containers.
● Classic? Stand alone app, switch over, lightning out
Layouts (know both methods!)
<lightning:layout>
<lightning:layoutItem padding="around-small">
<div class="custom-box">1</div>
</lightning:layoutItem>
<lightning:layoutItem padding="around-small">
<div class="custom-box">2</div>
</lightning:layoutItem>
</lightning:layout>
<div class="slds-grid">
<div class="slds-col">
<span>1</span>
</div>
<div class="slds-col">
<span>2</span>
</div>
</div>
SLDS goodness
padding:
<div class="slds-p-right_x-small"/>
alignment:
<div class="slds-align_absolute-center"/>
text alignment:
<div class="slds-text-align_right"/>
floats:
<div class="slds-float_right"/>
Interfaces
flexipage:availableForAllPageTypes
lightning pages, record pages, utility bar
flexipage:availableForRecordHome
record pages
Give it an SVG icon for app builder
force:appHostable
lightning tab in lightning experience or standalone app
force:lightningQuickAction, force:lightningQuickActionWithoutHeader
forceCommunity:availableForAllPageTypes
Community Builder
force:hasRecordId
context of a record, you get v.recordId for free
Binding, State
How data “flows” or is referenced between the components.
<c:child childAttr="{!v.parentAttr}" /> (bound)
<c:child childAttr="{#v.parentAttr}" /> (unbound)
Inheritance
super:
<aura:component extensible="true" controller="someController">
{!v.body}
</aura:component>
sub:
<aura:component extends="c:super">
</aura:component
controller: helper.someMethod
helper: this.someOtherMethod
Einstein Analytics in Lightning
<wave:waveDashboard/>
<wave:sdk />
var evt = $A.get('e.wave:update');
evt.setParams({
value: filter,
id: developerName,
type: "dashboard"
});
evt.fire();
<aura:handler event="wave:selectionChanged" action="{!c.handleSelectionChanged}"/>
Resources
Component Library
https://developer.salesforce.com/docs/component-library/overview/components
Lightning Components Developer Guide
https://developer.salesforce.com/docs/atlas.en-
us.lightning.meta/lightning/component_library.htm
Lightning Design System Reference
https://www.lightningdesignsystem.com
Q&A
Ad

More Related Content

What's hot (16)

Manar alyani 2003
Manar alyani 2003Manar alyani 2003
Manar alyani 2003
Manar Alyani
 
MuleSoft London Community September 2020 - Project Vita
MuleSoft London Community September 2020 - Project VitaMuleSoft London Community September 2020 - Project Vita
MuleSoft London Community September 2020 - Project Vita
Pace Integration
 
The Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOpsThe Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOps
DevOps Indonesia
 
Project : DuckPad
Project : DuckPadProject : DuckPad
Project : DuckPad
Cyber-Duck
 
Agile product management
Agile product managementAgile product management
Agile product management
Alex Apollonsky
 
Betty Blocks On Stage 2018: The Roadmap
Betty Blocks On Stage 2018: The RoadmapBetty Blocks On Stage 2018: The Roadmap
Betty Blocks On Stage 2018: The Roadmap
Betty Blocks
 
Betty Blocks Short Presentation
Betty Blocks Short PresentationBetty Blocks Short Presentation
Betty Blocks Short Presentation
Steven Treur
 
Basics of Android MVP
Basics of Android MVP Basics of Android MVP
Basics of Android MVP
Dinkar Kumar
 
Scaling up your R&D group
Scaling up your R&D groupScaling up your R&D group
Scaling up your R&D group
Avi Wortzel
 
Xcode eXtreme Programming - #pragmamark 2014, Milan
Xcode eXtreme Programming - #pragmamark 2014, MilanXcode eXtreme Programming - #pragmamark 2014, Milan
Xcode eXtreme Programming - #pragmamark 2014, Milan
Giulio Roggero
 
Start Here: How to Prepare for Your Drupal 8 Journey
Start Here: How to Prepare for Your Drupal 8 JourneyStart Here: How to Prepare for Your Drupal 8 Journey
Start Here: How to Prepare for Your Drupal 8 Journey
Acquia
 
Revolutionize Your Organization with SharePoint 2013 #iccspc
Revolutionize Your Organization with SharePoint 2013 #iccspcRevolutionize Your Organization with SharePoint 2013 #iccspc
Revolutionize Your Organization with SharePoint 2013 #iccspc
Dux Raymond Sy
 
Gram Games | GDG DevFest 15 "Killing Game Ideas at Hyperspeed"
Gram Games | GDG DevFest 15 "Killing Game Ideas at Hyperspeed"Gram Games | GDG DevFest 15 "Killing Game Ideas at Hyperspeed"
Gram Games | GDG DevFest 15 "Killing Game Ideas at Hyperspeed"
Gram Games
 
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
Phil Leggetter
 
QuickBooks Connect 2016 - Marketing your app: learn from your developer peers
QuickBooks Connect 2016 - Marketing your app: learn from your developer peersQuickBooks Connect 2016 - Marketing your app: learn from your developer peers
QuickBooks Connect 2016 - Marketing your app: learn from your developer peers
Intuit Developer
 
What to Expect in Drupal 8
What to Expect in Drupal 8What to Expect in Drupal 8
What to Expect in Drupal 8
Mediacurrent
 
MuleSoft London Community September 2020 - Project Vita
MuleSoft London Community September 2020 - Project VitaMuleSoft London Community September 2020 - Project Vita
MuleSoft London Community September 2020 - Project Vita
Pace Integration
 
The Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOpsThe Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOps
DevOps Indonesia
 
Project : DuckPad
Project : DuckPadProject : DuckPad
Project : DuckPad
Cyber-Duck
 
Agile product management
Agile product managementAgile product management
Agile product management
Alex Apollonsky
 
Betty Blocks On Stage 2018: The Roadmap
Betty Blocks On Stage 2018: The RoadmapBetty Blocks On Stage 2018: The Roadmap
Betty Blocks On Stage 2018: The Roadmap
Betty Blocks
 
Betty Blocks Short Presentation
Betty Blocks Short PresentationBetty Blocks Short Presentation
Betty Blocks Short Presentation
Steven Treur
 
Basics of Android MVP
Basics of Android MVP Basics of Android MVP
Basics of Android MVP
Dinkar Kumar
 
Scaling up your R&D group
Scaling up your R&D groupScaling up your R&D group
Scaling up your R&D group
Avi Wortzel
 
Xcode eXtreme Programming - #pragmamark 2014, Milan
Xcode eXtreme Programming - #pragmamark 2014, MilanXcode eXtreme Programming - #pragmamark 2014, Milan
Xcode eXtreme Programming - #pragmamark 2014, Milan
Giulio Roggero
 
Start Here: How to Prepare for Your Drupal 8 Journey
Start Here: How to Prepare for Your Drupal 8 JourneyStart Here: How to Prepare for Your Drupal 8 Journey
Start Here: How to Prepare for Your Drupal 8 Journey
Acquia
 
Revolutionize Your Organization with SharePoint 2013 #iccspc
Revolutionize Your Organization with SharePoint 2013 #iccspcRevolutionize Your Organization with SharePoint 2013 #iccspc
Revolutionize Your Organization with SharePoint 2013 #iccspc
Dux Raymond Sy
 
Gram Games | GDG DevFest 15 "Killing Game Ideas at Hyperspeed"
Gram Games | GDG DevFest 15 "Killing Game Ideas at Hyperspeed"Gram Games | GDG DevFest 15 "Killing Game Ideas at Hyperspeed"
Gram Games | GDG DevFest 15 "Killing Game Ideas at Hyperspeed"
Gram Games
 
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
Phil Leggetter
 
QuickBooks Connect 2016 - Marketing your app: learn from your developer peers
QuickBooks Connect 2016 - Marketing your app: learn from your developer peersQuickBooks Connect 2016 - Marketing your app: learn from your developer peers
QuickBooks Connect 2016 - Marketing your app: learn from your developer peers
Intuit Developer
 
What to Expect in Drupal 8
What to Expect in Drupal 8What to Expect in Drupal 8
What to Expect in Drupal 8
Mediacurrent
 

Similar to Building lightning apps by Daniel Peter (20)

How to boost your workflow, or git rebase for designers
How to boost your workflow, or git rebase for designersHow to boost your workflow, or git rebase for designers
How to boost your workflow, or git rebase for designers
Anton Parkhomenko
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
ddrschiw
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
oradoe
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and Mockito
C4Media
 
Simplifying AI integration on Apache Spark
Simplifying AI integration on Apache SparkSimplifying AI integration on Apache Spark
Simplifying AI integration on Apache Spark
Databricks
 
Azure Notebooks - Jupyter for the Cloud
Azure Notebooks - Jupyter for the CloudAzure Notebooks - Jupyter for the Cloud
Azure Notebooks - Jupyter for the Cloud
Cameron Vetter
 
SPS Toronto 2018 - Your first PowerApps in 30 minutes
SPS Toronto 2018 - Your first PowerApps in 30 minutesSPS Toronto 2018 - Your first PowerApps in 30 minutes
SPS Toronto 2018 - Your first PowerApps in 30 minutes
Nicolas Georgeault
 
Gdsc IIIT Surat Orientation 2022.pdf
Gdsc IIIT Surat Orientation 2022.pdfGdsc IIIT Surat Orientation 2022.pdf
Gdsc IIIT Surat Orientation 2022.pdf
SparshJhariya2
 
GV Design Sprints for Engineers
GV Design Sprints for EngineersGV Design Sprints for Engineers
GV Design Sprints for Engineers
Peter Collins
 
Hardware Prototyping for Software Developers
Hardware Prototyping for Software DevelopersHardware Prototyping for Software Developers
Hardware Prototyping for Software Developers
Kinoma
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
Matthew Reynolds
 
MuleSoft Milano Meetup #7 Florence Consulting
MuleSoft Milano Meetup #7  Florence Consulting MuleSoft Milano Meetup #7  Florence Consulting
MuleSoft Milano Meetup #7 Florence Consulting
Florence Consulting
 
COMP 4026 Lecture3 Prototyping and Evaluation
COMP 4026 Lecture3 Prototyping and EvaluationCOMP 4026 Lecture3 Prototyping and Evaluation
COMP 4026 Lecture3 Prototyping and Evaluation
Mark Billinghurst
 
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
DianApps Technologies
 
JavaDeveloper-ChandrasekharThammanaCV
JavaDeveloper-ChandrasekharThammanaCVJavaDeveloper-ChandrasekharThammanaCV
JavaDeveloper-ChandrasekharThammanaCV
chandrasekhar Thammana
 
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than EverJava Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Stefan Schmidt
 
Turning Your Idea into A Business
Turning Your Idea into A BusinessTurning Your Idea into A Business
Turning Your Idea into A Business
Naho Inuyama
 
2024.04 - AI in Code Generation - April User Group Meeting
2024.04 - AI in Code Generation - April User Group Meeting2024.04 - AI in Code Generation - April User Group Meeting
2024.04 - AI in Code Generation - April User Group Meeting
petercaitens1
 
AI in Code Generation - March User Group
AI in Code Generation - March User GroupAI in Code Generation - March User Group
AI in Code Generation - March User Group
Peter Caitens
 
Mobile development with Flutter
Mobile development with FlutterMobile development with Flutter
Mobile development with Flutter
Awok
 
How to boost your workflow, or git rebase for designers
How to boost your workflow, or git rebase for designersHow to boost your workflow, or git rebase for designers
How to boost your workflow, or git rebase for designers
Anton Parkhomenko
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
ddrschiw
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
oradoe
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and Mockito
C4Media
 
Simplifying AI integration on Apache Spark
Simplifying AI integration on Apache SparkSimplifying AI integration on Apache Spark
Simplifying AI integration on Apache Spark
Databricks
 
Azure Notebooks - Jupyter for the Cloud
Azure Notebooks - Jupyter for the CloudAzure Notebooks - Jupyter for the Cloud
Azure Notebooks - Jupyter for the Cloud
Cameron Vetter
 
SPS Toronto 2018 - Your first PowerApps in 30 minutes
SPS Toronto 2018 - Your first PowerApps in 30 minutesSPS Toronto 2018 - Your first PowerApps in 30 minutes
SPS Toronto 2018 - Your first PowerApps in 30 minutes
Nicolas Georgeault
 
Gdsc IIIT Surat Orientation 2022.pdf
Gdsc IIIT Surat Orientation 2022.pdfGdsc IIIT Surat Orientation 2022.pdf
Gdsc IIIT Surat Orientation 2022.pdf
SparshJhariya2
 
GV Design Sprints for Engineers
GV Design Sprints for EngineersGV Design Sprints for Engineers
GV Design Sprints for Engineers
Peter Collins
 
Hardware Prototyping for Software Developers
Hardware Prototyping for Software DevelopersHardware Prototyping for Software Developers
Hardware Prototyping for Software Developers
Kinoma
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
Matthew Reynolds
 
MuleSoft Milano Meetup #7 Florence Consulting
MuleSoft Milano Meetup #7  Florence Consulting MuleSoft Milano Meetup #7  Florence Consulting
MuleSoft Milano Meetup #7 Florence Consulting
Florence Consulting
 
COMP 4026 Lecture3 Prototyping and Evaluation
COMP 4026 Lecture3 Prototyping and EvaluationCOMP 4026 Lecture3 Prototyping and Evaluation
COMP 4026 Lecture3 Prototyping and Evaluation
Mark Billinghurst
 
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
6722_AS_ Top 8 Flutter app development tools to consider in 2024.pdf
DianApps Technologies
 
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than EverJava Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Stefan Schmidt
 
Turning Your Idea into A Business
Turning Your Idea into A BusinessTurning Your Idea into A Business
Turning Your Idea into A Business
Naho Inuyama
 
2024.04 - AI in Code Generation - April User Group Meeting
2024.04 - AI in Code Generation - April User Group Meeting2024.04 - AI in Code Generation - April User Group Meeting
2024.04 - AI in Code Generation - April User Group Meeting
petercaitens1
 
AI in Code Generation - March User Group
AI in Code Generation - March User GroupAI in Code Generation - March User Group
AI in Code Generation - March User Group
Peter Caitens
 
Mobile development with Flutter
Mobile development with FlutterMobile development with Flutter
Mobile development with Flutter
Awok
 
Ad

More from Sudipta Deb ☁ (16)

Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...
Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...
Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...
Sudipta Deb ☁
 
Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"
Sudipta Deb ☁
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
Sudipta Deb ☁
 
Learn how Source Tracking can keep metadata changes in sync between your loca...
Learn how Source Tracking can keep metadata changes in sync between your loca...Learn how Source Tracking can keep metadata changes in sync between your loca...
Learn how Source Tracking can keep metadata changes in sync between your loca...
Sudipta Deb ☁
 
Orchestrate all of your salesforce automation with the trigger actions framework
Orchestrate all of your salesforce automation with the trigger actions frameworkOrchestrate all of your salesforce automation with the trigger actions framework
Orchestrate all of your salesforce automation with the trigger actions framework
Sudipta Deb ☁
 
Let's Learn About Heroku and How to Integrate with Salesforce
Let's Learn About Heroku and How to Integrate with SalesforceLet's Learn About Heroku and How to Integrate with Salesforce
Let's Learn About Heroku and How to Integrate with Salesforce
Sudipta Deb ☁
 
Using Styling Hooks to Customize Your LWC
Using Styling Hooks to Customize Your LWCUsing Styling Hooks to Customize Your LWC
Using Styling Hooks to Customize Your LWC
Sudipta Deb ☁
 
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Shadow DOM, CSS and Styling Hooks in LWC  what you need to knowShadow DOM, CSS and Styling Hooks in LWC  what you need to know
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Sudipta Deb ☁
 
Algorithms design and analysis, part 1
Algorithms  design and analysis, part 1Algorithms  design and analysis, part 1
Algorithms design and analysis, part 1
Sudipta Deb ☁
 
Functional programming principles in scala
Functional programming principles in scalaFunctional programming principles in scala
Functional programming principles in scala
Sudipta Deb ☁
 
Principles of reactive programming
Principles of reactive programmingPrinciples of reactive programming
Principles of reactive programming
Sudipta Deb ☁
 
Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020
Sudipta Deb ☁
 
Dreamforce Global Gathering
Dreamforce Global GatheringDreamforce Global Gathering
Dreamforce Global Gathering
Sudipta Deb ☁
 
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Sudipta Deb ☁
 
Introduction to lightning web component
Introduction to lightning web component Introduction to lightning web component
Introduction to lightning web component
Sudipta Deb ☁
 
Kitchener CA Developer Group Presents Everything you need to know about Einst...
Kitchener CA Developer Group Presents Everything you need to know about Einst...Kitchener CA Developer Group Presents Everything you need to know about Einst...
Kitchener CA Developer Group Presents Everything you need to know about Einst...
Sudipta Deb ☁
 
Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...
Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...
Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...
Sudipta Deb ☁
 
Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"
Sudipta Deb ☁
 
Learn how Source Tracking can keep metadata changes in sync between your loca...
Learn how Source Tracking can keep metadata changes in sync between your loca...Learn how Source Tracking can keep metadata changes in sync between your loca...
Learn how Source Tracking can keep metadata changes in sync between your loca...
Sudipta Deb ☁
 
Orchestrate all of your salesforce automation with the trigger actions framework
Orchestrate all of your salesforce automation with the trigger actions frameworkOrchestrate all of your salesforce automation with the trigger actions framework
Orchestrate all of your salesforce automation with the trigger actions framework
Sudipta Deb ☁
 
Let's Learn About Heroku and How to Integrate with Salesforce
Let's Learn About Heroku and How to Integrate with SalesforceLet's Learn About Heroku and How to Integrate with Salesforce
Let's Learn About Heroku and How to Integrate with Salesforce
Sudipta Deb ☁
 
Using Styling Hooks to Customize Your LWC
Using Styling Hooks to Customize Your LWCUsing Styling Hooks to Customize Your LWC
Using Styling Hooks to Customize Your LWC
Sudipta Deb ☁
 
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Shadow DOM, CSS and Styling Hooks in LWC  what you need to knowShadow DOM, CSS and Styling Hooks in LWC  what you need to know
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Sudipta Deb ☁
 
Algorithms design and analysis, part 1
Algorithms  design and analysis, part 1Algorithms  design and analysis, part 1
Algorithms design and analysis, part 1
Sudipta Deb ☁
 
Functional programming principles in scala
Functional programming principles in scalaFunctional programming principles in scala
Functional programming principles in scala
Sudipta Deb ☁
 
Principles of reactive programming
Principles of reactive programmingPrinciples of reactive programming
Principles of reactive programming
Sudipta Deb ☁
 
Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020
Sudipta Deb ☁
 
Dreamforce Global Gathering
Dreamforce Global GatheringDreamforce Global Gathering
Dreamforce Global Gathering
Sudipta Deb ☁
 
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Sudipta Deb ☁
 
Introduction to lightning web component
Introduction to lightning web component Introduction to lightning web component
Introduction to lightning web component
Sudipta Deb ☁
 
Kitchener CA Developer Group Presents Everything you need to know about Einst...
Kitchener CA Developer Group Presents Everything you need to know about Einst...Kitchener CA Developer Group Presents Everything you need to know about Einst...
Kitchener CA Developer Group Presents Everything you need to know about Einst...
Sudipta Deb ☁
 
Ad

Recently uploaded (20)

Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptx
milanasargsyan5
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptx
milanasargsyan5
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 

Building lightning apps by Daniel Peter

  • 1. Building Lightning Apps Kitchener, Canada Developer Group Speaker Date Venue/Link Daniel Peter August 25th, 2018 @ 10:00 AM EST https://zoom.us/j/391873868
  • 3. Who Am I? Sudipta Deb ● Technical Architect with Appirio Inc., a Wipro Company ● 2.5X Trailhead Ranger ● 7x Salesforce Certified ● Blogging at www.sudipta-deb.in ● Co-Organizer of Kitchener, Canada Developer Group ● Follow me @sudipta_1984
  • 4. Our Speaker Daniel Peter ● Salesforce MVP ● 24x Salesforce Certified ● Bay Area Salesforce Developer Group Leader ● Independent Consultant
  • 5. Agenda ● Advice from my experience developing Lightning apps ● Demo ● Q&A
  • 6. My Domain! Turn it on, all the way on...
  • 7. Think hard about containers ● Lightning Component ● Stand alone Lightning app ● Lightning Component tab, within Lightning Experience ● Lightning Component, inside of an existing record page ● Lightning out in Visualforce ● Utility Bar
  • 8. Think hard about containers ● Design so it can be used for one or more of these. Maintain the core code in one place. ● Consider developing in a Lightning app, even if that isn’t the final container ● Not all features work in all containers. ● Classic? Stand alone app, switch over, lightning out
  • 9. Layouts (know both methods!) <lightning:layout> <lightning:layoutItem padding="around-small"> <div class="custom-box">1</div> </lightning:layoutItem> <lightning:layoutItem padding="around-small"> <div class="custom-box">2</div> </lightning:layoutItem> </lightning:layout> <div class="slds-grid"> <div class="slds-col"> <span>1</span> </div> <div class="slds-col"> <span>2</span> </div> </div>
  • 10. SLDS goodness padding: <div class="slds-p-right_x-small"/> alignment: <div class="slds-align_absolute-center"/> text alignment: <div class="slds-text-align_right"/> floats: <div class="slds-float_right"/>
  • 11. Interfaces flexipage:availableForAllPageTypes lightning pages, record pages, utility bar flexipage:availableForRecordHome record pages Give it an SVG icon for app builder force:appHostable lightning tab in lightning experience or standalone app force:lightningQuickAction, force:lightningQuickActionWithoutHeader forceCommunity:availableForAllPageTypes Community Builder force:hasRecordId context of a record, you get v.recordId for free
  • 12. Binding, State How data “flows” or is referenced between the components. <c:child childAttr="{!v.parentAttr}" /> (bound) <c:child childAttr="{#v.parentAttr}" /> (unbound)
  • 13. Inheritance super: <aura:component extensible="true" controller="someController"> {!v.body} </aura:component> sub: <aura:component extends="c:super"> </aura:component controller: helper.someMethod helper: this.someOtherMethod
  • 14. Einstein Analytics in Lightning <wave:waveDashboard/> <wave:sdk /> var evt = $A.get('e.wave:update'); evt.setParams({ value: filter, id: developerName, type: "dashboard" }); evt.fire(); <aura:handler event="wave:selectionChanged" action="{!c.handleSelectionChanged}"/>
  • 15. Resources Component Library https://developer.salesforce.com/docs/component-library/overview/components Lightning Components Developer Guide https://developer.salesforce.com/docs/atlas.en- us.lightning.meta/lightning/component_library.htm Lightning Design System Reference https://www.lightningdesignsystem.com
  • 16. Q&A

Editor's Notes

  • #2: You can put your image here