61

Apart from Wave, the biggest announcement from a developer perspective at Dreamforce 2014 is "Lightning" and it will be announced in the big keynote by Marc Benioff today. I've started to play around with it a bit and I'm really trying to understand the differences/ value propositions between Lightning and Aura. Apart from the Drag and Drop builder (which usually advanced developers are not a fan of)

  • Is it that Lightning offers a way to easily integrate Aura components into your code?
  • Is it just a rebranding/ jazzing up of Aura because the framework did not receive mass traction and make it easier to use in SF1?
  • Is it only be to used in SF1 or can it be used in the hybrid development approach as well?

I am sure there'd be more clarity around Lightning in future but just trying to get some early understanding.

1
  • Apparently I need to start focusing some time towards this sort of research...
    – dphil
    Commented Oct 14, 2014 at 14:55

3 Answers 3

58

First off: "Lightning" is a larger (marketing) effort to rebrand existing and new Salesforce1 platform services under one shiny new umbrella. "Salesforce1 Lightning" consists of the following pieces, among others:

  • Lightning Schema Builder (rebrand of Schema Builder)
  • Lightning Process Builder (rebrand of Visual Workflow)
  • Lightning Components (new - port of open source Aura Framework onto Salesforce1 platform)
  • Lightning App Builder (new - drag and drop assembly of Lightning Components into a page)
  • Lightning Connect (rebrand of "External Data Objects", which allows you to interact with external data sources that implement the OData spec as if they were regular Salesforce SObjects )

What you're asking about, though, is really Lightning Components (LC) and the Lightning App Builder (LAB).

As you've surmised, Lightning Components are essentially a rebranding of "Aura on the Platform" (AOTP), an initiative that's been going on within Salesforce for several years. Aura began as an internal initiative at Salesforce to build a scalable, component-based user interface framework, and earlier this year, Salesforce open-sourced the Aura Framework (available at http://documentation.auraframework.org/auradocs# and https://github.com/forcedotcom/aura). But as you mentioned, Salesforce1 is built using Aura Components, as are many newer components in various parts of the Salesforce UI (e.g. the Chatter Feed -- just Inspect Element on a page with the Chatter Feed or in the Service Cloud Console and you'll see Aura script libraries pulled in and attributes on elements).

Lightning Components are Aura Components --- if you go to create a new "Lightning Component", the actual markup you use is <aura:component>, and a lot of the core XML tags available from Aura, e.g. <aura:iteration>, <aura:if>, etc. are prefixed with aura and will remain that way.

Re #1) The goal of the Lightning App Builder, long term, yes, is to provide an admin-friendly way to construct apps by assembling and configuring Lightning Components.

Re #3) Lightning/Aura Components and Apps can currently be exposed in more places than just Salesforce1 --- and going forward (from what we've heard) more and more places where you can currently use Visualforce to "override" will be places you can use Lightning Components and Apps as well.

Lightning Applications are intended to be top-level, standalone entry points to distinct "apps". For example, Salesforce1 is a Lightning Application. Its Namespace Prefix is "one", and the App is called "one", thus it is available at /one/one.app , but Lightning Apps that you create can be accessed via the syntax /MY_NAMESPACE/MY_APP_NAME.app, e.g. in one of our orgs, our "Product Catalog" app is accessible via /sk_aura/ProductCatalogApp.app , and it looks something like this:

enter image description here

In general, Lightning Components are intended to be used to:

  • extend / override portions of Salesforce's mobile (and eventually desktop) UI
  • construct other Lightning Components

As of right now (Winter 15), Lightning Components can be used in the following specific ways:

  • Create Tabs within Desktop or Mobile Apps. To do this, a LC must implement the force:appHostable interface. Once an LC implements this interface, it can be chosen as the content of a "Lightning Component Tab", must like Visualforce Pages can be chosen as the content of Visualforce Tabs. Then, you can add Lightning Component Tabs, like any other Tabs, to custom/standard Apps / Consoles, as well as to Salesforce1 via the "Mobile Navigation" setup.

  • Override / extend portions of the Salesforce1 standard UI, via the "UI Plugins" framework. The UI Plugins framework exposes "Extension Points" where Lightning Components can be plugged-in to the standard UI. For instance, if your LC implements the force:recordTab interface, it can be added as an additional Tab / Slide within the SF1 record detail view by creating a new UiPlugin record from the Developer Console. It could look something like this:

enter image description here

6
  • "Lightning Connect" is the marketing term for External Objects - "An integration tool that makes it easier for your Force.com app to consume data from any external source that conforms to the OData spec" Source. In addition to OData sources you can also create Apex sources that use callouts. Commented Oct 21, 2014 at 1:48
  • Thanks @DanielBallinger I have updated my answer accordingly.
    – zachelrath
    Commented Oct 21, 2014 at 19:46
  • 1
    Related to your answer: Salesforce has a Lightning FAQ now. Commented Oct 23, 2014 at 2:59
  • @zachelrath are you sure Process Builder is just a rebranding of Visual flow ? or are these 2 separate ? Commented Oct 28, 2014 at 5:54
  • Process Builder is a separate (new) tool from Visual Workflow. However, when building a "process", a Visual Workflow is generated behind it and that can be used for deployment.
    – mpusto
    Commented Nov 4, 2014 at 16:57
10

To add to Zach's detailed answer, note that the UI Plugins are part of an upcoming set of product features currently referred to as Lightning Extensions. These are in pilot for Winter '15, and will likely remain so for at least one more release. If you're interested in joining the pilot, please contact your SE, TSE, etc. and ask that they nominate you. Stay tuned for more information on this great companion to Lightning Components.

Skip

4

This may help. http://www.salesforce.com/us/developer/docs/lightning/lightning.pdf

Throughout this developer guide, there are references to Aura components. For example, you’ll see the aura:component tag for a component in code samples. All along we’ve been talking about Lightning, so what is Aura, and what’s the difference? Lightning components are based on the open source Aura framework available at https://github.com/forcedotcom/aura. The Aura framework enables you to build apps completely independent of your data in Salesforce. Note that the open source Aura framework has features and components that are not currently available in the Lightning Component framework. We are working to surface more of these features and components for Salesforce developers.

3
  • Is this coming along in Winter 15 officially?
    – sfdcfox
    Commented Oct 14, 2014 at 22:58
  • @sfdcfox New Developer Edition orgs created this week are on Winter 15 and have Lightning enabled in them, and in existing orgs as well, Lightning Components (though in Beta) are available from Setup, you just have to enable them.
    – zachelrath
    Commented Oct 15, 2014 at 4:41
  • Just a warning about enabling--if you have existing Canvas apps, they will no longer work if you enable Lightning components. Hopefully this changes soon as I have integrations with Tableau which are set up as Canvas apps.
    – mpusto
    Commented Nov 4, 2014 at 17:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .