Salesforce Lightning is a new technology that could change Salesforce development. It introduces components, a single page application framework, and the Lightning Design System to replace Visualforce and provide a more modern user interface. While many standard Salesforce features work with Lightning, there are also limitations, such as some functionality only available in Visualforce. Developers are advised to get Lightning-ready by starting to use its components and tools, as new customers and features will focus on Lightning.
2. Salesforce Lightning
- Fundamentally new, potentially powerful (but a bit raw)
technology, which is able to change Salesforce development.
What is proposed:
3. Plan Why do we need
Lightning?
Components.
What works.
What doesn’t
work.
So what do we
do?
4. Why do we need
Lightning?
Give us back our favourite Salesforce Classic!
5. our pain solution
Classic UI
Visualforce: stateful,
backend-rendered MVC
Низкая модульность
Modern UI
(e.g. Material, ...)
SPA:
stateless API
+ JS app (Aura)
Компонентный подход
11. Component Example
<aura:component controller=”SyneboTalkComponentContoller" implements="force:hasRecordId,flexipage:availableForAllPageTypes">
<aura:attribute name="recordId" type="Id" />
<aura:handler name="init" value="{!this}" action="{!c.doInit}" />
<aura:handler event="force:refreshView" action="{!c.doInit}" />
<center> <!-- Feel free to use plain HTML in components -->
<aura:if isTrue="{!10 > 1}">
<ui:spinner aura:id="spinner"/>
Hello Synebo!
<aura:set attribute="else">
<ui:button aura:id="testButton"
buttonTitle="Click Me!"
class="button"
label="Click on this wonderful button!"
press="{!c.onTestButtonClick}"
disabled="{!v.isTestButtonDisabled == true}">
</ui:button>
</aura:set>
</aura:if>
</center>
</aura:component>
12. Lightning Application:
● Special component of the up level.
● Almost like a component, but <aura:application>
● Available under /<namespace>/<appName>.app
● Isolated scope: doesn’t cooperate with components beyond an
app.
● Supports templates.
13. Where does components allocated
● Code-defined Lightning Apps
● Configuration-defined lightning apps:
○ Custom App Page (Tab)
○ Custom Home Page
○ Custom Record Page
● Visualforce Pages
● Lightning Quick Actions
● Lightning Community Pages (Napili)
● Utility Bar
● Lightning Console
14. What does Lightning (Aura) cosists of?
● Custom interfaces;
● Custom events;
● Interface tokens.
15. So what does eventually
work?
Fumctional. Development tools.
16. Functional
● Layouts, apps, tabs – almost “from box”
● Visualforce / Custom Actions
● Majority of standard objects
● Majority of standard functional
● Lightning-only functional:
○ New Deduplication
○ Many-to-many Accounts to Contacts
○ Lead Score (Salesforce Einstein AI)
○ Kanban Board
○ Lightning Community Dashboards
● Visualforce Pages (with restrictions)
Majority of things, which work in Classic works (or will work) in Lightning. BUT
NOT vice versa.
17. Инструменты разработки
● Developer Console
● Force.com IDE
● MavensMate
● Salesforce Lightning Inspector Chrome Extension
● .. console.log()
Coming soon:
● Lightning API
● Built-in support of web-frameworks (Angular, …)
19. Functional
● What’s Not Available in Lightning Experience you may find here
[https://releasenotes.docs.salesforce.com/en-us/winter16/release
-notes/lex_gaps_limitations.htm]
● Some functional in Visualforce
○ For example, navigation with help of PageReference
● Some functional of settings
○ For example, redefinition of standard actions (“New”, “Edit”, ...) with help of
components.
■ You still can redefine them with Visualforce pages.
■ You may add Lightning Actions.
21. So what do we do?
● Used to be Developer Console
● There was not debugger before
● There was not Metadata API
● We didn’t have all those fascinating methods in a standard
library
You say difficult? We are used to this :)
22. Salesforce Lightning
● New customers choose Lightning
● Numerous AppExchange downloads of Lightning
● All new features are available in Lightning
● Salesforce developer itself introduces lightning as well
– Fundamentally new, potentially powerful (but a bit raw) technology,
which is able to change Salesforce development.
.