SlideShare a Scribd company logo
1 of 52
Download to read offline
New Delhi Salesforce Developer User
Group
Lightning Components: Explained
LEARN . SHARE . CELEBRATE . SALESFORCE
Welcome Awesome Developers !!
• This is our 2nd New Delhi Salesforce DG Meetup
• 4th Session of #SalesforceSaturday
• 1st Offline #SalesforceSaturday Session
Thank you Nagarro and Salesforce Team
• Nagarro is a custom software development and business
consulting company that provides business consulting and
technology services to its clients.
• It is headquartered in San Jose, California and has its
primary development center in Gurgaon, in the National
Capital Region of India.
• Since 2011, Nagarro is a subsidiary of Allgeier,[1] a Frankfurt
listed (FWB: AEI) leading German IT company.
What is Salesforce Saturday?
• First started by Stephanie Herrera in Austin, Texas.
• Every other Saturday we will meet either online or offline to
discuss, learn about Salesforce, prepare for Salesforce
Certifications.
• Helping each other learning new stuff.
• Volunteer based program where anyone can share any
kind of expertise they might have in Salesforce.
What is Salesforce Saturday?
Stephanie Herrera
• Salesforce MVP
• Founder of #SalesforceSaturday Austin, Texas
• She was recently interviewed on the
#ButtonClickAdmin Podcast.
Listen to the Podcast here:
https://admin.salesforce.com/always-learning-
stephanie-herrera
Follow her on Twitter:
@steph_herrera_
Who the hell am I?
Atul Gupta
• Organizer of New Delhi Salesforce DUG
• Organizer of #SalesforceSaturday,
Delhi Chapter
• Active on Salesforce Success Community
• Blogging at www.cloudvandana.com
• Independent Salesforce Consultant/Developer
• Find me on Twitter @atul31Gupta
Who the hell am I?
Atul Gupta
Success Community
https://success.salesforce.com/profile?u=005300000089vZeAAI
Twitter
http://twitter.com/atul31gupta
LinkedIn
https://in.linkedin.com/in/atul31gupta
Facebook Page
https://www.facebook.com/atul31gupta
Blog
www.cloudvandana.com
Who wants to get Certified?
Let’s form Study Groups
Email me:
To: gupta.atul31@gmail.com
Subject: <Certification Name>
Body:
Full Name
Current Experience and Company
Phone Number
• I will create groups for you guys to collaborate and share notes.
Who wants to get Certified?
Any suggestions where these groups can be created?
1. Success Collaboration Community itself
2. LinkedIn
3. Separate Chatter org
Who wants to get Certified?
We need volunteers for these groups
You will be Mentor of respective groups
App Builder : Atul Gupta(@atul31gupta)
Admin : Atul Gupta
Advanced Admin :
Developer I : Saurabh Gulati(@ssg_1984)
Developer II : Atul Gupta
What is Salesforce Lightning?
It is not Lightening
It is not Lighting
It is definitely Lightning
What is Salesforce Lightning?
Lightning includes
• Lightning Components Framework which is helps you
develop component based apps which are compatible
with Salesforce1 and Lightning Experience.
• Lightning App Builder allows you to build apps visually
without any code.
What is Lightning Component Framework?
• Lightning Components Framework is a UI framework for
developing dynamic apps that run both on Mobile and
Desktop.
• It enables us in creating Single Page Applications.
• It uses Javascript on Client side and Apex on Server side.
• Derived from Open Source Aura Framework
Benefits of Lightning Component
Framework?
• Out of the Box components Set.
• Build once and use everywhere Desktop, Salesforce1,
Lightning Experience, Communities.
• Faster Development. Create components and then easily
assemble them to create your apps.
• Stateful client and stateless server. Makes the application
fast and highly optimized.
Lightning Components vs MVC
• Lightning Components are somewhat similar to Visualforce
Components.
• You can use components in other components and these
components can interact with each other via Events.
• MVC
• Model = Objects
• View = Visualforce
• Controller = Apex Code
Lightning Components vs MVC
Lightning Apps/Components
• Model = Objects
• View = Lightning Components
Client side controller
Helper
CSS Styles
• Controller = Apex Code
• Lightning Components are case-sensitive
Lightning Component Bundle
A component bundle contains a component or an app and
all its related resources.
• Lightning Components or Apps e.g. sample.cmp or sample.app
• (the only required component in the bundle)
• Client side controller e.g. sampleController.js
• Helper e.g. sampleHelper.js
• CSS Styles e.g. sample.css
• and more
• All related resources are named automatically. You just
need to give the App/Component a name.
Lightning Component Bundle
Components
• They represent a reusable section of the UI, and can
range in granularity from a single line of text to an entire
app.
• Framework consists of a set of prebuilt components.
• You can just assemble the components and create an
App.
Events
• Event driven Programming where any component can subscribe
to an Application level or component event they can see.
• Events are either fired by the user interacting with the UI like
Browser Events, onclick, press, etc or by javascript controllers to
communicate with other components
• There are 2 types of Events:
• Component events are handled by the component itself or a
component that instantiates or contains the component.
• Application events are handled by all components that are
listening to the event.
Events
Developer Console
What you need to develop a Lightning
App?
• A wall to bang your head in
• Aspirin
• A Beer
• Someone to take out your frustration on
What you need to develop a Lightning App?
• A Salesforce Org
• Define a custom Salesforce Domain Name
https://help.salesforce.com/HTViewHelpDoc?id=domain_name_o
verview.htm
• Register a NameSpace Prefix(only required for
Managed Packages)
• We need to rely on CSS frameworks like Bootstrap
and Lightning Design System to provide a consistent
look and feel to our App/Component.
Expense Tracker Application
The expense tracker app performs three distinct tasks:
• load the expense data and counters on app
initialization
• take in user input to create a new record and
update the view
• handle user interactions by communicating relevant
component data via events
Let’s create our Lightning App
• We need an object to work with.
• Please install Expenses App Package in your org.
https://login.salesforce.com/packaging/installPackage.apexp?p
0=04t90000000Rmdg
• Create a couple of records for the Expenses Object.
• Install Lightning Design System 1.00
https://login.salesforce.com/packaging/installPackage.apexp?p0
=04t61000000kZwH
Let’s create our Lightning App
Let’s create our Lightning App
• We will be creating an app called “Expense Tracker”.
• The code we will be using is all there in the Lightning
Components Developer Guide’s quick start section.
https://developer.salesforce.com/docs/atlas.en-
us.lightning.meta/lightning/qs_intro.htm
Let’s create our Lightning App
• Open Developer Console
• Go to File => New => Lightning Application
• Enter “expenseTracker” in the Name. Give a Description and
click “Submit”
• Copy and paste the Code from Step 1
Make sure to change the version of resource included
from /slds090/ to /slds100/
• Save your changes and click Preview in the sidebar to preview
your app
Congrats !! You have created your first Lightning App
Let’s create our Lightning App
Or Navigate to
https://<myDomain>.lightning.force.com/<namespace>/expense
Tracker.app
<myDomain> is the name of your custom Salesforce domain
Let’s create the Component
• Go to File => New => Lightning Component
• Enter “form” in the Name field. Give a suitable description and
you are click “Submit”.
• Copy and paste the code in Step 2
Make sure to change the version of resource included.
• You need a Lightning App to see Lightning Component on
Desktop.
• Implements=“appHostable”
The appHostable interface makes the component available as a
custom tab and hence available in Salesforce1 App.
Let’s include Component to App
• Update expenseTracker App with code from Step 2
i.e. include <c:form> in the App.
• Add css to the Style resource of the App
• Save changes and click “Update Preview”
• We just added the form Lightning component to the Lightning
App
Lightning Component Code
• ltng:require
To reference a JavaScript library that you’ve uploaded as a static
resource, use a <ltng:require> tag in your .cmp or .app markup.
• aura:attribute
Describes an attribute available on an app, interface,
component, or event.
Component attributes are like member variables on a class
in Apex
Lightning Component Code
• ui:inputText
Represents an input field suitable for entering a single line of free-form text.
A ui:inputText component represents a text input field, which is rendered as an
HTML input tag of type text. To render the output from a ui:inputText
component, use the ui:outputText component.
This is a basic set up of a text field.
• ui:inputNumber
An input field for entering a number, taking advantage of client input
assistance and validation when available.
A ui:inputNumber component represents a number input field, which is
rendered as an HTML input tag of type text. This example shows a number field,
which displays a value of 10.
Lightning Component Code
• ui:inputDateTime
An input field for entering a date and time.
A ui:inputDateTime component represents a date and time input field, which is
rendered as an HTML input tag of type text. The value is displayed in the default
format specified by the language locale of the browser.
• ui:inputCheckbox
Represents a checkbox. Its behavior can be configured using events such as
click and change.
A ui:inputCheckbox component represents a checkbox whose state is
controlled by the value and disabled attributes. It's rendered as an HTML input
tag of type checkbox. To render the output from a ui:inputCheckbox
component, use the ui:outputCheckbox component.
Lightning Component Code
• ui:button
Represents a button element.
A ui:button component represents a button element that executes an action
defined by a controller. Clicking the button triggers the client-side controller
method set for the press event. The button can be created in several ways.
• ui:outputNumber
Displays the number in the default or specified format. Supports up to 18 digits
before the decimal place.
A ui:outputNumber component represents a number output that is rendered as
an HTML span tag. This component can be used with ui:inputNumber, which
takes in a number input. ui:outputNumber retrieves the locale information and
displays the number in the given decimal format. To display a number, you can
use an attribute value and bind it to the ui:outputNumber component.
Lightning Component Code
• aura:iteration
Renders a view of a collection of items. Supports iterations containing
components that can be created exclusively on the client-side.
• aura:component
The root of the component hierarchy. Provides a default rendering
implementation.
Component Extension and Client side controller
• Create server side controller ExpenseController.
• Take the Code from Step 3
• Add the controller attribute that references the above class to
the form.cmp
• Add init handler to the load your data
• Add formcontroller client side controller to the bundle
Component Extension and Client side controller
A client-side controller handles events within a component and
can take in three parameters:
• the component to which the controller belongs
• the event that the action is handling
• the helper if it’s used.
• A helper is a resource for storing code that you want to reuse in
your component bundle,
• providing better code reusability and specialization
Add Helper to the Bundle
• Click on the Helper resource in the right hand sidebar in the
lightning component.
• Copy the helper code from Step 3
Handler and Events
• Carry on with the rest of the steps as per the Lightning
Components Developer Guide
Make sure to change the version of resource included
from /slds090/ to /slds100/
Application Lifecycle
User initiated Events
1. User clicks a button or interacts with a component, triggering a browser
event. For example, you want to save data from the server when the button is
clicked.
2. The button click invokes a client-side JavaScript controller, which provides
some custom logic before invoking a helper function.
3. The JavaScript controller invokes a helper function. Note that a helper
function improves code reuse but it’s optional for this example.
4. The helper function calls an Apex controller method and queues the action.
Application Lifecycle
5. The Apex method is invoked and data is returned.
6. A JavaScript callback function is invoked when the Apex method completes.
7. The JavaScript callback function evaluates logic and updates the
component’s UI.
8. User sees the updated component.
Application Lifecycle
Components/Application Initiated Events:
• Consider an attribute value on a component that changes
without a user action directly causing it,
• which then automatically fires a change event. When the
attribute value changes, the component that
• registers a change event handles this event by invoking a
JavaScript controller that contains custom logic,
• which could then proceed from step (3) onwards to retrieve
data from the server.
Rendering Lifecycle
The rendering lifecycle automatically handles rendering and
rerendering of components whenever the underlying data
changes.
Here is an outline of the rendering lifecycle.
1. A browser event triggers one or more Lightning events.
2. Each Lightning event triggers one or more actions that can
update data. The updated data can fire more events.
3. The rendering service tracks the stack of events that are
fired.
4. When all the data updates from the events are processed,
the framework rerenders all the components that own modified
data.
Tips to work with Lightning Components
1. Use separate names for client side and server side actions,
hard to debug bugs can occur
2. Action States
https://developer.salesforce.com/docs/atlas.en-
us.lightning.meta/lightning/controllers_server_actions_call.htm
3. Debug JavaScript Code
https://developer.salesforce.com/docs/atlas.en-
us.lightning.meta/lightning/aura_debug_mode.htm
4. Set validation errors
https://developer.salesforce.com/docs/atlas.en-
us.lightning.meta/lightning/js_validate_fields.htm
Tips to work with Lightning Components
5. Always try to use COMPONENT events rather than APPLICATION
events
Component events can only be handled by components above
them in the containment hierarchy so their usage is more localized
to the components that need to know about them
https://developer.salesforce.com/docs/atlas.en-
us.lightning.meta/lightning/qs_aotp_app_step6_events.htm
6. Any browser DOM element event starting with on, such as
onclick or onkeypress, can be wired to a controller action.
https://developer.salesforce.com/docs/atlas.en-
us.lightning.meta/lightning/js_client_side_controller.htm
Tips to work with Lightning Components
7. Put methods that you want to reuse in your component
bundle's helper.
Methods in Helper can be used by controllers, renderers in the
bundle
8. There are two very important guidelines for accessing the DOM
from a component or app.
You should never modify the DOM outside a renderer. However,
you can read from the DOM outside a renderer.
Use expressions, whenever possible, instead of trying to set a DOM
element directly.
What has not been covered?
1. Override rerendering
2. Creating Componets for Salesforce1 and Lightning
Experience
3. Application events
4. Styling Apps, Design Tokens
5. Component Documentation
6. Lightning Component Inspector
To Study about these topics and more…please refer
Lightning Components Developer Guide
Thank You
Thank you for attending the session.
Follow New Delhi SFDC DUG
Twitter
@newdelhisfdcdug
Meetup.com
http://www.meetup.com/New-Delhi-Salesforce-Platform-
Developer-User-Group
Success Community
http://sforce.co/1oc0lQA
Reach out to me !!
Email
gupta.atul31@gmail.com
Twitter
http://twitter.com/atul31gupta
LinkedIn
https://in.linkedin.com/in/atul31gupta
Facebook Page
https://www.facebook.com/atul31gupta
Blog
www.cloudvandana.com

More Related Content

What's hot

Salesforce.com API Series: Service Cloud Console Deep Dive
Salesforce.com API Series: Service Cloud Console Deep DiveSalesforce.com API Series: Service Cloud Console Deep Dive
Salesforce.com API Series: Service Cloud Console Deep DiveSalesforce Developers
 
Salesforce Super Slider Lightning Component ppt
Salesforce Super Slider Lightning Component pptSalesforce Super Slider Lightning Component ppt
Salesforce Super Slider Lightning Component pptWebkul Software Pvt. Ltd.
 
Salesforce Lightning component framework from 0 to app
Salesforce Lightning component framework from 0 to appSalesforce Lightning component framework from 0 to app
Salesforce Lightning component framework from 0 to appRoy Gilad
 
Dreamwares: Lightning Experience
Dreamwares: Lightning ExperienceDreamwares: Lightning Experience
Dreamwares: Lightning ExperienceAmit Ahuja
 
Lightning Components Introduction
Lightning Components IntroductionLightning Components Introduction
Lightning Components IntroductionDurgesh Dhoot
 
Salesforce Apex Hours:- Salesforce DX
Salesforce Apex Hours:- Salesforce DXSalesforce Apex Hours:- Salesforce DX
Salesforce Apex Hours:- Salesforce DXAmit Chaudhary
 
Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Salesforce Developers
 
PhillyForce 2018 - Salesforce Platform Keynote
PhillyForce 2018  - Salesforce Platform KeynotePhillyForce 2018  - Salesforce Platform Keynote
PhillyForce 2018 - Salesforce Platform Keynoteandyinthecloud
 
Lightning Out: Components for the Rest of the World
Lightning Out: Components for the Rest of the WorldLightning Out: Components for the Rest of the World
Lightning Out: Components for the Rest of the WorldSalesforce Developers
 
Summer '15 Release Preview: Platform Feature Highlights
Summer '15 Release Preview: Platform Feature Highlights Summer '15 Release Preview: Platform Feature Highlights
Summer '15 Release Preview: Platform Feature Highlights Salesforce Developers
 
ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017Salesforce Partners
 
Apex for Admins: Get Started with Apex in 30 Minutes! (part 1)
Apex for Admins: Get Started with Apex in 30 Minutes! (part 1)Apex for Admins: Get Started with Apex in 30 Minutes! (part 1)
Apex for Admins: Get Started with Apex in 30 Minutes! (part 1)Salesforce Developers
 
Roadmap Lightning Updates (November 3, 2016)
Roadmap Lightning Updates (November 3, 2016)Roadmap Lightning Updates (November 3, 2016)
Roadmap Lightning Updates (November 3, 2016)Salesforce Partners
 
Secure Salesforce: Common Secure Coding Mistakes
Secure Salesforce: Common Secure Coding MistakesSecure Salesforce: Common Secure Coding Mistakes
Secure Salesforce: Common Secure Coding MistakesSalesforce Developers
 
Salesforce Lightning Components and App Builder EMEA World Tour 2015
Salesforce Lightning Components and App Builder EMEA World Tour 2015Salesforce Lightning Components and App Builder EMEA World Tour 2015
Salesforce Lightning Components and App Builder EMEA World Tour 2015Peter Chittum
 
Dreamforce 2017 - Advanced Logging Patterns with Platform Events
Dreamforce 2017 - Advanced Logging Patterns with Platform EventsDreamforce 2017 - Advanced Logging Patterns with Platform Events
Dreamforce 2017 - Advanced Logging Patterns with Platform Eventsandyinthecloud
 
What is Salesforce lighting explained
What is Salesforce lighting explainedWhat is Salesforce lighting explained
What is Salesforce lighting explainedRoy Gilad
 
Building Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APIBuilding Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APISalesforce Developers
 

What's hot (20)

Lightning Experience for ISVs
Lightning Experience for ISVsLightning Experience for ISVs
Lightning Experience for ISVs
 
Salesforce.com API Series: Service Cloud Console Deep Dive
Salesforce.com API Series: Service Cloud Console Deep DiveSalesforce.com API Series: Service Cloud Console Deep Dive
Salesforce.com API Series: Service Cloud Console Deep Dive
 
Salesforce Super Slider Lightning Component ppt
Salesforce Super Slider Lightning Component pptSalesforce Super Slider Lightning Component ppt
Salesforce Super Slider Lightning Component ppt
 
Salesforce Lightning component framework from 0 to app
Salesforce Lightning component framework from 0 to appSalesforce Lightning component framework from 0 to app
Salesforce Lightning component framework from 0 to app
 
Dreamwares: Lightning Experience
Dreamwares: Lightning ExperienceDreamwares: Lightning Experience
Dreamwares: Lightning Experience
 
Lightning Components Introduction
Lightning Components IntroductionLightning Components Introduction
Lightning Components Introduction
 
Salesforce Apex Hours:- Salesforce DX
Salesforce Apex Hours:- Salesforce DXSalesforce Apex Hours:- Salesforce DX
Salesforce Apex Hours:- Salesforce DX
 
Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1
 
PhillyForce 2018 - Salesforce Platform Keynote
PhillyForce 2018  - Salesforce Platform KeynotePhillyForce 2018  - Salesforce Platform Keynote
PhillyForce 2018 - Salesforce Platform Keynote
 
Intro to Apex Programmers
Intro to Apex ProgrammersIntro to Apex Programmers
Intro to Apex Programmers
 
Lightning Out: Components for the Rest of the World
Lightning Out: Components for the Rest of the WorldLightning Out: Components for the Rest of the World
Lightning Out: Components for the Rest of the World
 
Summer '15 Release Preview: Platform Feature Highlights
Summer '15 Release Preview: Platform Feature Highlights Summer '15 Release Preview: Platform Feature Highlights
Summer '15 Release Preview: Platform Feature Highlights
 
ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017
 
Apex for Admins: Get Started with Apex in 30 Minutes! (part 1)
Apex for Admins: Get Started with Apex in 30 Minutes! (part 1)Apex for Admins: Get Started with Apex in 30 Minutes! (part 1)
Apex for Admins: Get Started with Apex in 30 Minutes! (part 1)
 
Roadmap Lightning Updates (November 3, 2016)
Roadmap Lightning Updates (November 3, 2016)Roadmap Lightning Updates (November 3, 2016)
Roadmap Lightning Updates (November 3, 2016)
 
Secure Salesforce: Common Secure Coding Mistakes
Secure Salesforce: Common Secure Coding MistakesSecure Salesforce: Common Secure Coding Mistakes
Secure Salesforce: Common Secure Coding Mistakes
 
Salesforce Lightning Components and App Builder EMEA World Tour 2015
Salesforce Lightning Components and App Builder EMEA World Tour 2015Salesforce Lightning Components and App Builder EMEA World Tour 2015
Salesforce Lightning Components and App Builder EMEA World Tour 2015
 
Dreamforce 2017 - Advanced Logging Patterns with Platform Events
Dreamforce 2017 - Advanced Logging Patterns with Platform EventsDreamforce 2017 - Advanced Logging Patterns with Platform Events
Dreamforce 2017 - Advanced Logging Patterns with Platform Events
 
What is Salesforce lighting explained
What is Salesforce lighting explainedWhat is Salesforce lighting explained
What is Salesforce lighting explained
 
Building Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APIBuilding Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime API
 

Viewers also liked

Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1Salesforce Developers
 
Introducing the Salesforce Lightning Design System
Introducing the Salesforce Lightning Design SystemIntroducing the Salesforce Lightning Design System
Introducing the Salesforce Lightning Design SystemSalesforce Developers
 
Introducing: The Lightning Experience
Introducing: The Lightning ExperienceIntroducing: The Lightning Experience
Introducing: The Lightning ExperienceDreamforce
 
Lightning Component - Components, Actions and Events
Lightning Component - Components, Actions and EventsLightning Component - Components, Actions and Events
Lightning Component - Components, Actions and EventsDurgesh Dhoot
 
Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2Salesforce Developers
 
Lighting componentワークブック(経費精算アプリ)
Lighting componentワークブック(経費精算アプリ)Lighting componentワークブック(経費精算アプリ)
Lighting componentワークブック(経費精算アプリ)Akihiro Iwaya
 
Salesforce Lightning Components
Salesforce Lightning ComponentsSalesforce Lightning Components
Salesforce Lightning ComponentsDavid Carnicer
 
Rits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce LightningRits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce LightningRight IT Services
 
An Organizational Story: Salesforce Lightning Design (Nalini Kotamraju at Ent...
An Organizational Story: Salesforce Lightning Design (Nalini Kotamraju at Ent...An Organizational Story: Salesforce Lightning Design (Nalini Kotamraju at Ent...
An Organizational Story: Salesforce Lightning Design (Nalini Kotamraju at Ent...Rosenfeld Media
 
Salesforce Ideas Implementation Best Practices
Salesforce Ideas Implementation Best PracticesSalesforce Ideas Implementation Best Practices
Salesforce Ideas Implementation Best PracticesJamie Grenney
 
Salesforce Lightning Components Workshop
Salesforce Lightning Components WorkshopSalesforce Lightning Components Workshop
Salesforce Lightning Components WorkshopChristophe Coenraets
 
Salesforce1 app getting started guide
Salesforce1 app getting started guideSalesforce1 app getting started guide
Salesforce1 app getting started guide1stevemarcy
 
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...Salesforce Developers
 
Salesforce Winter 15 Release Overview
Salesforce Winter 15 Release OverviewSalesforce Winter 15 Release Overview
Salesforce Winter 15 Release OverviewRoy Gilad
 
sf tools from community
sf tools from communitysf tools from community
sf tools from communityDurgesh Dhoot
 
Introduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce AdminsIntroduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce AdminsMatthew Morris
 
Salesforce Summer '14 release overview
Salesforce Summer '14 release overviewSalesforce Summer '14 release overview
Salesforce Summer '14 release overviewRoy Gilad
 
Df16 - Troubleshooting user access problems
Df16 - Troubleshooting user access problemsDf16 - Troubleshooting user access problems
Df16 - Troubleshooting user access problemsBuyan Thyagarajan
 

Viewers also liked (20)

Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1
 
Introducing the Salesforce Lightning Design System
Introducing the Salesforce Lightning Design SystemIntroducing the Salesforce Lightning Design System
Introducing the Salesforce Lightning Design System
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
 
Introducing: The Lightning Experience
Introducing: The Lightning ExperienceIntroducing: The Lightning Experience
Introducing: The Lightning Experience
 
Lightning Component - Components, Actions and Events
Lightning Component - Components, Actions and EventsLightning Component - Components, Actions and Events
Lightning Component - Components, Actions and Events
 
Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2
 
Discover Salesforce Lightning 1
Discover Salesforce Lightning 1Discover Salesforce Lightning 1
Discover Salesforce Lightning 1
 
Lighting componentワークブック(経費精算アプリ)
Lighting componentワークブック(経費精算アプリ)Lighting componentワークブック(経費精算アプリ)
Lighting componentワークブック(経費精算アプリ)
 
Salesforce Lightning Components
Salesforce Lightning ComponentsSalesforce Lightning Components
Salesforce Lightning Components
 
Rits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce LightningRits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce Lightning
 
An Organizational Story: Salesforce Lightning Design (Nalini Kotamraju at Ent...
An Organizational Story: Salesforce Lightning Design (Nalini Kotamraju at Ent...An Organizational Story: Salesforce Lightning Design (Nalini Kotamraju at Ent...
An Organizational Story: Salesforce Lightning Design (Nalini Kotamraju at Ent...
 
Salesforce Ideas Implementation Best Practices
Salesforce Ideas Implementation Best PracticesSalesforce Ideas Implementation Best Practices
Salesforce Ideas Implementation Best Practices
 
Salesforce Lightning Components Workshop
Salesforce Lightning Components WorkshopSalesforce Lightning Components Workshop
Salesforce Lightning Components Workshop
 
Salesforce1 app getting started guide
Salesforce1 app getting started guideSalesforce1 app getting started guide
Salesforce1 app getting started guide
 
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
 
Salesforce Winter 15 Release Overview
Salesforce Winter 15 Release OverviewSalesforce Winter 15 Release Overview
Salesforce Winter 15 Release Overview
 
sf tools from community
sf tools from communitysf tools from community
sf tools from community
 
Introduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce AdminsIntroduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce Admins
 
Salesforce Summer '14 release overview
Salesforce Summer '14 release overviewSalesforce Summer '14 release overview
Salesforce Summer '14 release overview
 
Df16 - Troubleshooting user access problems
Df16 - Troubleshooting user access problemsDf16 - Troubleshooting user access problems
Df16 - Troubleshooting user access problems
 

Similar to Lightning Components Explained

Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by CitytechRitwik Das
 
CCI 2019 - PowerApps for Enterprise Developers
CCI 2019 - PowerApps for Enterprise DevelopersCCI 2019 - PowerApps for Enterprise Developers
CCI 2019 - PowerApps for Enterprise Developerswalk2talk srl
 
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 FranziniaOS Community
 
Dreamforce 2017 - Up close and personal with Lightning Experience as Platform
Dreamforce 2017 - Up close and personal with Lightning Experience as PlatformDreamforce 2017 - Up close and personal with Lightning Experience as Platform
Dreamforce 2017 - Up close and personal with Lightning Experience as Platformandyinthecloud
 
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)Salesforce Partners
 
Web application development process
Web application development processWeb application development process
Web application development processJohn Smith
 
Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julyRichard Clark
 
Angular kickstart slideshare
Angular kickstart   slideshareAngular kickstart   slideshare
Angular kickstart slideshareSaleemMalik52
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comSalesforce Developers
 
Tips for Testing Your Flutter App - Best Practices and Tools.pdf
Tips for Testing Your Flutter App - Best Practices and Tools.pdfTips for Testing Your Flutter App - Best Practices and Tools.pdf
Tips for Testing Your Flutter App - Best Practices and Tools.pdfLisa Brown
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyAustraliaChapterIIBA
 
Building a Lightning App with Angular Material Design
Building a Lightning App with Angular Material DesignBuilding a Lightning App with Angular Material Design
Building a Lightning App with Angular Material DesignSalesforce Developers
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415pdufourSFDC
 
An introduction to microsoft power apps
An introduction to microsoft power appsAn introduction to microsoft power apps
An introduction to microsoft power appsMitul Rana
 
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 TestingSalesforce Developers
 
Cardiff University FTS presentation 2011 (MS Word plug in)
Cardiff University FTS presentation 2011 (MS Word plug in)Cardiff University FTS presentation 2011 (MS Word plug in)
Cardiff University FTS presentation 2011 (MS Word plug in)salsalamah
 
ISV Lightning Webinar Series - Part 2 (December 8, 2015)
ISV Lightning Webinar Series - Part 2 (December 8, 2015)ISV Lightning Webinar Series - Part 2 (December 8, 2015)
ISV Lightning Webinar Series - Part 2 (December 8, 2015)Salesforce Partners
 
solution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptxsolution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptxGoogleDeveloperStude22
 

Similar to Lightning Components Explained (20)

Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
 
CCI 2019 - PowerApps for Enterprise Developers
CCI 2019 - PowerApps for Enterprise DevelopersCCI 2019 - PowerApps for Enterprise Developers
CCI 2019 - PowerApps for Enterprise Developers
 
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
 
Dreamforce 2017 - Up close and personal with Lightning Experience as Platform
Dreamforce 2017 - Up close and personal with Lightning Experience as PlatformDreamforce 2017 - Up close and personal with Lightning Experience as Platform
Dreamforce 2017 - Up close and personal with Lightning Experience as Platform
 
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
 
Web application development process
Web application development processWeb application development process
Web application development process
 
Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd july
 
Angular kickstart slideshare
Angular kickstart   slideshareAngular kickstart   slideshare
Angular kickstart slideshare
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.com
 
Tips for Testing Your Flutter App - Best Practices and Tools.pdf
Tips for Testing Your Flutter App - Best Practices and Tools.pdfTips for Testing Your Flutter App - Best Practices and Tools.pdf
Tips for Testing Your Flutter App - Best Practices and Tools.pdf
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
 
Building a Lightning App with Angular Material Design
Building a Lightning App with Angular Material DesignBuilding a Lightning App with Angular Material Design
Building a Lightning App with Angular Material Design
 
Angular IO
Angular IOAngular IO
Angular IO
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415
 
An introduction to microsoft power apps
An introduction to microsoft power appsAn introduction to microsoft power apps
An introduction to microsoft power apps
 
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
 
Cardiff University FTS presentation 2011 (MS Word plug in)
Cardiff University FTS presentation 2011 (MS Word plug in)Cardiff University FTS presentation 2011 (MS Word plug in)
Cardiff University FTS presentation 2011 (MS Word plug in)
 
ISV Lightning Webinar Series - Part 2 (December 8, 2015)
ISV Lightning Webinar Series - Part 2 (December 8, 2015)ISV Lightning Webinar Series - Part 2 (December 8, 2015)
ISV Lightning Webinar Series - Part 2 (December 8, 2015)
 
solution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptxsolution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptx
 

More from Atul Gupta(8X)

Developer Week 2019 Delhi + Spring 19 Features
Developer Week 2019 Delhi + Spring 19 FeaturesDeveloper Week 2019 Delhi + Spring 19 Features
Developer Week 2019 Delhi + Spring 19 FeaturesAtul Gupta(8X)
 
Engagement Studio, Pardot at Developer Week 2019
Engagement Studio, Pardot at Developer Week 2019Engagement Studio, Pardot at Developer Week 2019
Engagement Studio, Pardot at Developer Week 2019Atul Gupta(8X)
 
Dreamforce 2018 Global Gathering
Dreamforce 2018 Global Gathering Dreamforce 2018 Global Gathering
Dreamforce 2018 Global Gathering Atul Gupta(8X)
 
Introduction to Salesforce UI API
Introduction to Salesforce UI APIIntroduction to Salesforce UI API
Introduction to Salesforce UI APIAtul Gupta(8X)
 
TrailheaDX Global Gathering: Agenda and Introduction
TrailheaDX Global Gathering: Agenda and IntroductionTrailheaDX Global Gathering: Agenda and Introduction
TrailheaDX Global Gathering: Agenda and IntroductionAtul Gupta(8X)
 
Building Next-Gen Communities With Lightning Series : Session#01 : Virtual #S...
Building Next-Gen Communities With Lightning Series : Session#01 : Virtual #S...Building Next-Gen Communities With Lightning Series : Session#01 : Virtual #S...
Building Next-Gen Communities With Lightning Series : Session#01 : Virtual #S...Atul Gupta(8X)
 
Virtual #SalesforceSaturday : Salesforce Connect with Cross Org Adaptor
Virtual #SalesforceSaturday : Salesforce Connect with Cross Org AdaptorVirtual #SalesforceSaturday : Salesforce Connect with Cross Org Adaptor
Virtual #SalesforceSaturday : Salesforce Connect with Cross Org AdaptorAtul Gupta(8X)
 
#SalesforceSaturday : Salesforce BIG Objects Explained
#SalesforceSaturday : Salesforce BIG Objects Explained#SalesforceSaturday : Salesforce BIG Objects Explained
#SalesforceSaturday : Salesforce BIG Objects ExplainedAtul Gupta(8X)
 
#SalesforceSaturday Spring18 Release Highlights by Manish Thaduri
#SalesforceSaturday Spring18 Release Highlights by Manish Thaduri#SalesforceSaturday Spring18 Release Highlights by Manish Thaduri
#SalesforceSaturday Spring18 Release Highlights by Manish ThaduriAtul Gupta(8X)
 
Success Story and Dreamforce Experience : Jaipur User Group DF17 Global Gathe...
Success Story and Dreamforce Experience : Jaipur User Group DF17 Global Gathe...Success Story and Dreamforce Experience : Jaipur User Group DF17 Global Gathe...
Success Story and Dreamforce Experience : Jaipur User Group DF17 Global Gathe...Atul Gupta(8X)
 
Test Classes in Salesforce
Test Classes in SalesforceTest Classes in Salesforce
Test Classes in SalesforceAtul Gupta(8X)
 
Dreamforce Global Gathering : New Delhi Salesforce DG & Gurgaon WIT
Dreamforce Global Gathering : New Delhi Salesforce DG & Gurgaon WITDreamforce Global Gathering : New Delhi Salesforce DG & Gurgaon WIT
Dreamforce Global Gathering : New Delhi Salesforce DG & Gurgaon WITAtul Gupta(8X)
 
Developer to Consultant : Transformation Tips #SalesforceSaturday
Developer to Consultant : Transformation Tips #SalesforceSaturdayDeveloper to Consultant : Transformation Tips #SalesforceSaturday
Developer to Consultant : Transformation Tips #SalesforceSaturdayAtul Gupta(8X)
 
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer GroupSpring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer GroupAtul Gupta(8X)
 
Meetup with kavindra : New Delhi Salesforce Developer Group
Meetup with kavindra : New Delhi Salesforce Developer GroupMeetup with kavindra : New Delhi Salesforce Developer Group
Meetup with kavindra : New Delhi Salesforce Developer GroupAtul Gupta(8X)
 
Marketing Cloud, SalesforceSaturday
Marketing Cloud, SalesforceSaturdayMarketing Cloud, SalesforceSaturday
Marketing Cloud, SalesforceSaturdayAtul Gupta(8X)
 
Live Agent Setup SalesforceSaturday
Live Agent Setup SalesforceSaturdayLive Agent Setup SalesforceSaturday
Live Agent Setup SalesforceSaturdayAtul Gupta(8X)
 
Data Loader Command Line Interface
Data Loader Command Line InterfaceData Loader Command Line Interface
Data Loader Command Line InterfaceAtul Gupta(8X)
 
How to list your app on AppExchange
How to list your app on AppExchangeHow to list your app on AppExchange
How to list your app on AppExchangeAtul Gupta(8X)
 
Force.com Migration Tool
Force.com Migration ToolForce.com Migration Tool
Force.com Migration ToolAtul Gupta(8X)
 

More from Atul Gupta(8X) (20)

Developer Week 2019 Delhi + Spring 19 Features
Developer Week 2019 Delhi + Spring 19 FeaturesDeveloper Week 2019 Delhi + Spring 19 Features
Developer Week 2019 Delhi + Spring 19 Features
 
Engagement Studio, Pardot at Developer Week 2019
Engagement Studio, Pardot at Developer Week 2019Engagement Studio, Pardot at Developer Week 2019
Engagement Studio, Pardot at Developer Week 2019
 
Dreamforce 2018 Global Gathering
Dreamforce 2018 Global Gathering Dreamforce 2018 Global Gathering
Dreamforce 2018 Global Gathering
 
Introduction to Salesforce UI API
Introduction to Salesforce UI APIIntroduction to Salesforce UI API
Introduction to Salesforce UI API
 
TrailheaDX Global Gathering: Agenda and Introduction
TrailheaDX Global Gathering: Agenda and IntroductionTrailheaDX Global Gathering: Agenda and Introduction
TrailheaDX Global Gathering: Agenda and Introduction
 
Building Next-Gen Communities With Lightning Series : Session#01 : Virtual #S...
Building Next-Gen Communities With Lightning Series : Session#01 : Virtual #S...Building Next-Gen Communities With Lightning Series : Session#01 : Virtual #S...
Building Next-Gen Communities With Lightning Series : Session#01 : Virtual #S...
 
Virtual #SalesforceSaturday : Salesforce Connect with Cross Org Adaptor
Virtual #SalesforceSaturday : Salesforce Connect with Cross Org AdaptorVirtual #SalesforceSaturday : Salesforce Connect with Cross Org Adaptor
Virtual #SalesforceSaturday : Salesforce Connect with Cross Org Adaptor
 
#SalesforceSaturday : Salesforce BIG Objects Explained
#SalesforceSaturday : Salesforce BIG Objects Explained#SalesforceSaturday : Salesforce BIG Objects Explained
#SalesforceSaturday : Salesforce BIG Objects Explained
 
#SalesforceSaturday Spring18 Release Highlights by Manish Thaduri
#SalesforceSaturday Spring18 Release Highlights by Manish Thaduri#SalesforceSaturday Spring18 Release Highlights by Manish Thaduri
#SalesforceSaturday Spring18 Release Highlights by Manish Thaduri
 
Success Story and Dreamforce Experience : Jaipur User Group DF17 Global Gathe...
Success Story and Dreamforce Experience : Jaipur User Group DF17 Global Gathe...Success Story and Dreamforce Experience : Jaipur User Group DF17 Global Gathe...
Success Story and Dreamforce Experience : Jaipur User Group DF17 Global Gathe...
 
Test Classes in Salesforce
Test Classes in SalesforceTest Classes in Salesforce
Test Classes in Salesforce
 
Dreamforce Global Gathering : New Delhi Salesforce DG & Gurgaon WIT
Dreamforce Global Gathering : New Delhi Salesforce DG & Gurgaon WITDreamforce Global Gathering : New Delhi Salesforce DG & Gurgaon WIT
Dreamforce Global Gathering : New Delhi Salesforce DG & Gurgaon WIT
 
Developer to Consultant : Transformation Tips #SalesforceSaturday
Developer to Consultant : Transformation Tips #SalesforceSaturdayDeveloper to Consultant : Transformation Tips #SalesforceSaturday
Developer to Consultant : Transformation Tips #SalesforceSaturday
 
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer GroupSpring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
Spring 17 Salesforce Viewing Party : New Delhi Salesforce Developer Group
 
Meetup with kavindra : New Delhi Salesforce Developer Group
Meetup with kavindra : New Delhi Salesforce Developer GroupMeetup with kavindra : New Delhi Salesforce Developer Group
Meetup with kavindra : New Delhi Salesforce Developer Group
 
Marketing Cloud, SalesforceSaturday
Marketing Cloud, SalesforceSaturdayMarketing Cloud, SalesforceSaturday
Marketing Cloud, SalesforceSaturday
 
Live Agent Setup SalesforceSaturday
Live Agent Setup SalesforceSaturdayLive Agent Setup SalesforceSaturday
Live Agent Setup SalesforceSaturday
 
Data Loader Command Line Interface
Data Loader Command Line InterfaceData Loader Command Line Interface
Data Loader Command Line Interface
 
How to list your app on AppExchange
How to list your app on AppExchangeHow to list your app on AppExchange
How to list your app on AppExchange
 
Force.com Migration Tool
Force.com Migration ToolForce.com Migration Tool
Force.com Migration Tool
 

Recently uploaded

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 

Recently uploaded (20)

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 

Lightning Components Explained

  • 1. New Delhi Salesforce Developer User Group Lightning Components: Explained LEARN . SHARE . CELEBRATE . SALESFORCE
  • 2. Welcome Awesome Developers !! • This is our 2nd New Delhi Salesforce DG Meetup • 4th Session of #SalesforceSaturday • 1st Offline #SalesforceSaturday Session
  • 3. Thank you Nagarro and Salesforce Team • Nagarro is a custom software development and business consulting company that provides business consulting and technology services to its clients. • It is headquartered in San Jose, California and has its primary development center in Gurgaon, in the National Capital Region of India. • Since 2011, Nagarro is a subsidiary of Allgeier,[1] a Frankfurt listed (FWB: AEI) leading German IT company.
  • 4. What is Salesforce Saturday? • First started by Stephanie Herrera in Austin, Texas. • Every other Saturday we will meet either online or offline to discuss, learn about Salesforce, prepare for Salesforce Certifications. • Helping each other learning new stuff. • Volunteer based program where anyone can share any kind of expertise they might have in Salesforce.
  • 5. What is Salesforce Saturday? Stephanie Herrera • Salesforce MVP • Founder of #SalesforceSaturday Austin, Texas • She was recently interviewed on the #ButtonClickAdmin Podcast. Listen to the Podcast here: https://admin.salesforce.com/always-learning- stephanie-herrera Follow her on Twitter: @steph_herrera_
  • 6. Who the hell am I? Atul Gupta • Organizer of New Delhi Salesforce DUG • Organizer of #SalesforceSaturday, Delhi Chapter • Active on Salesforce Success Community • Blogging at www.cloudvandana.com • Independent Salesforce Consultant/Developer • Find me on Twitter @atul31Gupta
  • 7. Who the hell am I? Atul Gupta Success Community https://success.salesforce.com/profile?u=005300000089vZeAAI Twitter http://twitter.com/atul31gupta LinkedIn https://in.linkedin.com/in/atul31gupta Facebook Page https://www.facebook.com/atul31gupta Blog www.cloudvandana.com
  • 8. Who wants to get Certified? Let’s form Study Groups Email me: To: gupta.atul31@gmail.com Subject: <Certification Name> Body: Full Name Current Experience and Company Phone Number • I will create groups for you guys to collaborate and share notes.
  • 9. Who wants to get Certified? Any suggestions where these groups can be created? 1. Success Collaboration Community itself 2. LinkedIn 3. Separate Chatter org
  • 10. Who wants to get Certified? We need volunteers for these groups You will be Mentor of respective groups App Builder : Atul Gupta(@atul31gupta) Admin : Atul Gupta Advanced Admin : Developer I : Saurabh Gulati(@ssg_1984) Developer II : Atul Gupta
  • 11. What is Salesforce Lightning? It is not Lightening It is not Lighting It is definitely Lightning
  • 12. What is Salesforce Lightning? Lightning includes • Lightning Components Framework which is helps you develop component based apps which are compatible with Salesforce1 and Lightning Experience. • Lightning App Builder allows you to build apps visually without any code.
  • 13. What is Lightning Component Framework? • Lightning Components Framework is a UI framework for developing dynamic apps that run both on Mobile and Desktop. • It enables us in creating Single Page Applications. • It uses Javascript on Client side and Apex on Server side. • Derived from Open Source Aura Framework
  • 14. Benefits of Lightning Component Framework? • Out of the Box components Set. • Build once and use everywhere Desktop, Salesforce1, Lightning Experience, Communities. • Faster Development. Create components and then easily assemble them to create your apps. • Stateful client and stateless server. Makes the application fast and highly optimized.
  • 15. Lightning Components vs MVC • Lightning Components are somewhat similar to Visualforce Components. • You can use components in other components and these components can interact with each other via Events. • MVC • Model = Objects • View = Visualforce • Controller = Apex Code
  • 16. Lightning Components vs MVC Lightning Apps/Components • Model = Objects • View = Lightning Components Client side controller Helper CSS Styles • Controller = Apex Code • Lightning Components are case-sensitive
  • 17. Lightning Component Bundle A component bundle contains a component or an app and all its related resources. • Lightning Components or Apps e.g. sample.cmp or sample.app • (the only required component in the bundle) • Client side controller e.g. sampleController.js • Helper e.g. sampleHelper.js • CSS Styles e.g. sample.css • and more • All related resources are named automatically. You just need to give the App/Component a name.
  • 19. Components • They represent a reusable section of the UI, and can range in granularity from a single line of text to an entire app. • Framework consists of a set of prebuilt components. • You can just assemble the components and create an App.
  • 20. Events • Event driven Programming where any component can subscribe to an Application level or component event they can see. • Events are either fired by the user interacting with the UI like Browser Events, onclick, press, etc or by javascript controllers to communicate with other components • There are 2 types of Events: • Component events are handled by the component itself or a component that instantiates or contains the component. • Application events are handled by all components that are listening to the event.
  • 23. What you need to develop a Lightning App? • A wall to bang your head in • Aspirin • A Beer • Someone to take out your frustration on
  • 24. What you need to develop a Lightning App? • A Salesforce Org • Define a custom Salesforce Domain Name https://help.salesforce.com/HTViewHelpDoc?id=domain_name_o verview.htm • Register a NameSpace Prefix(only required for Managed Packages) • We need to rely on CSS frameworks like Bootstrap and Lightning Design System to provide a consistent look and feel to our App/Component.
  • 25. Expense Tracker Application The expense tracker app performs three distinct tasks: • load the expense data and counters on app initialization • take in user input to create a new record and update the view • handle user interactions by communicating relevant component data via events
  • 26. Let’s create our Lightning App • We need an object to work with. • Please install Expenses App Package in your org. https://login.salesforce.com/packaging/installPackage.apexp?p 0=04t90000000Rmdg • Create a couple of records for the Expenses Object. • Install Lightning Design System 1.00 https://login.salesforce.com/packaging/installPackage.apexp?p0 =04t61000000kZwH
  • 27. Let’s create our Lightning App
  • 28. Let’s create our Lightning App • We will be creating an app called “Expense Tracker”. • The code we will be using is all there in the Lightning Components Developer Guide’s quick start section. https://developer.salesforce.com/docs/atlas.en- us.lightning.meta/lightning/qs_intro.htm
  • 29. Let’s create our Lightning App • Open Developer Console • Go to File => New => Lightning Application • Enter “expenseTracker” in the Name. Give a Description and click “Submit” • Copy and paste the Code from Step 1 Make sure to change the version of resource included from /slds090/ to /slds100/ • Save your changes and click Preview in the sidebar to preview your app Congrats !! You have created your first Lightning App
  • 30. Let’s create our Lightning App Or Navigate to https://<myDomain>.lightning.force.com/<namespace>/expense Tracker.app <myDomain> is the name of your custom Salesforce domain
  • 31. Let’s create the Component • Go to File => New => Lightning Component • Enter “form” in the Name field. Give a suitable description and you are click “Submit”. • Copy and paste the code in Step 2 Make sure to change the version of resource included. • You need a Lightning App to see Lightning Component on Desktop. • Implements=“appHostable” The appHostable interface makes the component available as a custom tab and hence available in Salesforce1 App.
  • 32. Let’s include Component to App • Update expenseTracker App with code from Step 2 i.e. include <c:form> in the App. • Add css to the Style resource of the App • Save changes and click “Update Preview” • We just added the form Lightning component to the Lightning App
  • 33. Lightning Component Code • ltng:require To reference a JavaScript library that you’ve uploaded as a static resource, use a <ltng:require> tag in your .cmp or .app markup. • aura:attribute Describes an attribute available on an app, interface, component, or event. Component attributes are like member variables on a class in Apex
  • 34. Lightning Component Code • ui:inputText Represents an input field suitable for entering a single line of free-form text. A ui:inputText component represents a text input field, which is rendered as an HTML input tag of type text. To render the output from a ui:inputText component, use the ui:outputText component. This is a basic set up of a text field. • ui:inputNumber An input field for entering a number, taking advantage of client input assistance and validation when available. A ui:inputNumber component represents a number input field, which is rendered as an HTML input tag of type text. This example shows a number field, which displays a value of 10.
  • 35. Lightning Component Code • ui:inputDateTime An input field for entering a date and time. A ui:inputDateTime component represents a date and time input field, which is rendered as an HTML input tag of type text. The value is displayed in the default format specified by the language locale of the browser. • ui:inputCheckbox Represents a checkbox. Its behavior can be configured using events such as click and change. A ui:inputCheckbox component represents a checkbox whose state is controlled by the value and disabled attributes. It's rendered as an HTML input tag of type checkbox. To render the output from a ui:inputCheckbox component, use the ui:outputCheckbox component.
  • 36. Lightning Component Code • ui:button Represents a button element. A ui:button component represents a button element that executes an action defined by a controller. Clicking the button triggers the client-side controller method set for the press event. The button can be created in several ways. • ui:outputNumber Displays the number in the default or specified format. Supports up to 18 digits before the decimal place. A ui:outputNumber component represents a number output that is rendered as an HTML span tag. This component can be used with ui:inputNumber, which takes in a number input. ui:outputNumber retrieves the locale information and displays the number in the given decimal format. To display a number, you can use an attribute value and bind it to the ui:outputNumber component.
  • 37. Lightning Component Code • aura:iteration Renders a view of a collection of items. Supports iterations containing components that can be created exclusively on the client-side. • aura:component The root of the component hierarchy. Provides a default rendering implementation.
  • 38. Component Extension and Client side controller • Create server side controller ExpenseController. • Take the Code from Step 3 • Add the controller attribute that references the above class to the form.cmp • Add init handler to the load your data • Add formcontroller client side controller to the bundle
  • 39. Component Extension and Client side controller A client-side controller handles events within a component and can take in three parameters: • the component to which the controller belongs • the event that the action is handling • the helper if it’s used. • A helper is a resource for storing code that you want to reuse in your component bundle, • providing better code reusability and specialization
  • 40. Add Helper to the Bundle • Click on the Helper resource in the right hand sidebar in the lightning component. • Copy the helper code from Step 3
  • 41. Handler and Events • Carry on with the rest of the steps as per the Lightning Components Developer Guide Make sure to change the version of resource included from /slds090/ to /slds100/
  • 42. Application Lifecycle User initiated Events 1. User clicks a button or interacts with a component, triggering a browser event. For example, you want to save data from the server when the button is clicked. 2. The button click invokes a client-side JavaScript controller, which provides some custom logic before invoking a helper function. 3. The JavaScript controller invokes a helper function. Note that a helper function improves code reuse but it’s optional for this example. 4. The helper function calls an Apex controller method and queues the action.
  • 43. Application Lifecycle 5. The Apex method is invoked and data is returned. 6. A JavaScript callback function is invoked when the Apex method completes. 7. The JavaScript callback function evaluates logic and updates the component’s UI. 8. User sees the updated component.
  • 44. Application Lifecycle Components/Application Initiated Events: • Consider an attribute value on a component that changes without a user action directly causing it, • which then automatically fires a change event. When the attribute value changes, the component that • registers a change event handles this event by invoking a JavaScript controller that contains custom logic, • which could then proceed from step (3) onwards to retrieve data from the server.
  • 45. Rendering Lifecycle The rendering lifecycle automatically handles rendering and rerendering of components whenever the underlying data changes. Here is an outline of the rendering lifecycle. 1. A browser event triggers one or more Lightning events. 2. Each Lightning event triggers one or more actions that can update data. The updated data can fire more events. 3. The rendering service tracks the stack of events that are fired. 4. When all the data updates from the events are processed, the framework rerenders all the components that own modified data.
  • 46. Tips to work with Lightning Components 1. Use separate names for client side and server side actions, hard to debug bugs can occur 2. Action States https://developer.salesforce.com/docs/atlas.en- us.lightning.meta/lightning/controllers_server_actions_call.htm 3. Debug JavaScript Code https://developer.salesforce.com/docs/atlas.en- us.lightning.meta/lightning/aura_debug_mode.htm 4. Set validation errors https://developer.salesforce.com/docs/atlas.en- us.lightning.meta/lightning/js_validate_fields.htm
  • 47. Tips to work with Lightning Components 5. Always try to use COMPONENT events rather than APPLICATION events Component events can only be handled by components above them in the containment hierarchy so their usage is more localized to the components that need to know about them https://developer.salesforce.com/docs/atlas.en- us.lightning.meta/lightning/qs_aotp_app_step6_events.htm 6. Any browser DOM element event starting with on, such as onclick or onkeypress, can be wired to a controller action. https://developer.salesforce.com/docs/atlas.en- us.lightning.meta/lightning/js_client_side_controller.htm
  • 48. Tips to work with Lightning Components 7. Put methods that you want to reuse in your component bundle's helper. Methods in Helper can be used by controllers, renderers in the bundle 8. There are two very important guidelines for accessing the DOM from a component or app. You should never modify the DOM outside a renderer. However, you can read from the DOM outside a renderer. Use expressions, whenever possible, instead of trying to set a DOM element directly.
  • 49. What has not been covered? 1. Override rerendering 2. Creating Componets for Salesforce1 and Lightning Experience 3. Application events 4. Styling Apps, Design Tokens 5. Component Documentation 6. Lightning Component Inspector To Study about these topics and more…please refer Lightning Components Developer Guide
  • 50. Thank You Thank you for attending the session.
  • 51. Follow New Delhi SFDC DUG Twitter @newdelhisfdcdug Meetup.com http://www.meetup.com/New-Delhi-Salesforce-Platform- Developer-User-Group Success Community http://sforce.co/1oc0lQA
  • 52. Reach out to me !! Email gupta.atul31@gmail.com Twitter http://twitter.com/atul31gupta LinkedIn https://in.linkedin.com/in/atul31gupta Facebook Page https://www.facebook.com/atul31gupta Blog www.cloudvandana.com