Download - synebo talk #1 Salesforce lightning
Introduction to Lightning#synebotalk #sfdc #lightning #synebo
February 24th, 2017
Salesforce Lightning
- Fundamentally new, potentially powerful (but a bit raw) technology, which is able to change Salesforce development.
What is proposed:
Plan Why do we need Lightning?Components.
What works.What doesn’t work.So what do we do?
Why do we need Lightning?Give us back our favourite Salesforce Classic!
our pain solution
Classic UI
Visualforce: stateful, backend-rendered MVC
Низкая модульность
Modern UI(e.g. Material, ...)
SPA:stateless API+ JS app (Aura)
Компонентный подход
Lightning New architecture, which solves problems
Lightning Design System
SPA Framework (Aura)
Lightning Components
Developmentmethods
Get Lightning-ready!
● Lightning-styled Visualforce (<slds/>)
● Lightning-styled web app (ng-lightning)
● Lightning Components
Components’ approachInterface. Reuse. “Matryoshka doll”.
Where does Lightning components work?One component – different platforms
Lightning Cloud
Sales Cloud,App Cloud, ...
Lightning Community
Napili Template
Salesforce1
Android / iOS
Lightning Out
Gmail, Chrome Extension, ...
AppExchange
How is Lightning Component designed?Interface.
Input parameters.
Controller.
Developments.
Inharitance.
Subsidiary components (standard and customized)
-- /aura/
-- -- /ComponentName/ (Component Bundle)
-- -- -- /ComponentName.cmp
-- -- -- /ComponentName.css
-- -- -- /ComponentName.design
-- -- -- /ComponentNameController.js
-- -- -- /ComponentNameHelper.js
-- -- -- /ComponentNameRenderer.js
-- -- -- /ComponentName.auradoc
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>
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.
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
What does Lightning (Aura) cosists of?
● Custom interfaces;● Custom events;● Interface tokens.
So what does eventually work?Fumctional. Development tools.
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.
Инструменты разработки
● Developer Console● Force.com IDE● MavensMate● Salesforce Lightning Inspector Chrome Extension● .. console.log()
Coming soon:
● Lightning API● Built-in support of web-frameworks (Angular, …)
What doesn’t work?Functional. Development tools.
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.
Existing issues
● Speed● Bugs. Too many bugs.● Tools: debugger.● Documentation and code samples.
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 :)
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.
.
“Lightning First”– is a foreground strategy for Synebo