synebo talk #1 salesforce lightning

Post on 20-Mar-2017

131 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related