Introduction of Salesforce1 Lightning and General Lightning Questions

Q: What is Lightning?
A: Lightning is the collection of tools and technologies behind a significant upgrade to the Salesforce1 Platform.


Lightning includes:

Lightning Component Framework – Components and extensions that allow you to build reusable components, customize the Salesforce1 Mobile App, and build standalone apps.
Lightning App Builder – A new UI tool that lets you build apps lightning fast, using components provided by Salesforce and platform developers.
Lightning Connect – An integration tool that makes it easier for your app to consume data from any external source that conforms to the OData spec.
Lightning Process Builder – A UI tool for visualizing and creating automated business processes.
Lightning Schema Builder – A UI tool for viewing and creating objects, fields, and relationships.

General Lightning Questions

Q: Is Lightning an MVC framework?
A: No, it’s a component-based framework.

Q: Why am I not seeing Lightning Components in my Org?
A: It’s being rolled as we speak. Currently new Orgs and few others have it.

Q: When will Lightning Components be GA?
A: We’re not commenting publicly about our release timeline.

Q: What’s the current release status of Lightning Components framework and Lightning App Builder?
A: Lightning Components framework is in Beta. Lightning App Builder is in Pilot.

Q: How do I use Lightning Components with the Salesforce1 Mobile App?
A: Either as Tabs or as Lightning Extensions.

Q: What are Lightning Extensions?
A: They’re a mechanism for using custom-built components to replace existing components in the Salesforce1 Mobile App. This functionality is currently in Pilot.

Q: If Salesforce1 uses Lightning Components, will those Lightning Components (for example, the calendar component, input fields, etc.) be exposed as “standard components” for developers to use in the future with standard Salesforce styling?
A: We’re not commenting publicly about our release plan.

Q: Which parts of Lightning Components are server-side and which are client-side?
A: Lightning Components can use JavaScript on the client side and Apex on the server side.

Q. Can I make one component inherit styles/CSS from a parent component, or must I always define it in the component?
A. Yes, you can inherit styles.

Q: What Components of Salesforce1 are the next extension points coming up besides Tabs and Fields?
A: We’re not commenting publicly about our release plan.

Visualforce and Lightning
Q: A tab with a Lightning Component only displays in the Salesforce1 UI. Can I make a Lightning Component that shows up in both the mobile and the desktop UIs?
A: Currently you can only use Lightning Components in the Salesforce1 Mobile App or a standalone app.

Q: Visualforce already has components. How are Lightning Component different and why would I want to use them?
A: Visualforce components are page-centric and most of the work is done on the server. Lightning is designed from the component up, rather than having the concept of a page as its fundamental unit. Lightning Components are client-side centric, which makes them more dynamic and mobile friendly.

Q: What happens to my existing Visualforce Pages?
A: They’ll continue to be supported in the current UI.

Q: Does Lightning work with Visualforce?
A: Not at this time.

Q: Are there plans to make it work with Visualforce?
A: We’re not commenting publicly about our release plan.

Q: Will Lightning Components be replacing Visualforce?
A: No

Q: After Lightning Components are GA, when would it still be appropriate to use Visualforce?
A: Visualforce provides the facility for delivering template-driven web pages and email messages. In addition, developers wishing to simply utilize a basic container and maintain more control over the lifecycle of the request may choose Visualforce pages. Finally, organizations that can’t use Apex code can’t use Lightning Components, but they can use Visualforce.

Namespace Questions
Q: What is Aura? Why do I see the aura: namespace in the code?
A: Aura is the open source technology that powers Lightning Components. The aura: namespace contains all of the basic building blocks for defining components and applications.

Q: Will I always need a namespace to develop Lightning Components?
A: For the beta release, all components are namespaced. This will not be a requirement in the future. We are in the process of adding support for the default/current namespace similar to the c: namespace in Visualforce today.

Q: Should I change my development process to start using namespaces and managed packages, so that I can get a jump on developing Lightning Components?
A: We don’t recommend changing your development process to use namespaces and managed packages if you aren’t already using them. Instead, you should wait until Lightning Components are GA.

Q: If I have to use a namespace, does this mean I can only develop Lightning Components in a Developer Edition?
A: Yes, you can currently only use Developer Edition to develop Lightning Components, but you can deploy them to any organization that supports Apex.

Q: I already have a Developer Edition I use for a package I uploaded to the AppExchange. Should I use this namespaced org to create my Lightning Components or get a new one?
A: If Lightning Components are useful for your current app, you may want to use them in your existing org, but only if your customers are comfortable using functionality that is still Beta.

General Coding Questions
Q: Where can a component be displayed?
A: After you create a component, you will want to display it somewhere. There are 3 possibilities.
A standalone Lightning App (.app resource) that gets its own URL.
Inside the Salesforce1 Mobile App as a tab. (Note that the Salesforce1 Mobile App itself is a standalone Lightning app.)
As a Lightning Extension, where it replaces an existing Salesforce1 Mobile App’s own components with itself. NOTE: Lightning Extensions are pilot.

Q: Do I always create an app bundle first?
A: Not necessarily, you can start with a Component bundle.

Q: How much Javascript do I need to know to use Lightning Components?
A: You need at least intermediate-level JavaScript knowledge.

Q: Are Lightning Components intended only for mobile?
A: Components have been built to be mobile first, but with responsive design in mind. So you can use them for both mobile and desktop (as a standalone app).

Q: How do I deploy components to my production org?
A: You must develop Lightning Components in a namespaced Developer Edition org but you can deploy them to any organization that supports Apex using managed packages. NOTE: We don’t recommend changing your development process to use namespaces and managed packages if you aren’t already using them. Instead, you should wait until Lightning Components are GA before you deploy them to your production org.

Q: How do I include external JavaScript libraries in my components?
A: You can use a RequireJS component or Loader component ( to load external JS or CSS files.

Q: Can I integrate Lightning components with another framework, such as Angular?
A: Yes. We have a number of ISV\’s working at the intersection of Lightning and Angular/KendoUi/etc.

Q: How is Lightning aware of what record you are on if you embed it in Salesforce1? (i.e. how do you get the ID of the record you are on like in a standard controller)?
A: Your component just needs to implement the force:recordTab interface and the record and recordId will be automatically injected when your component is wired into record home.

Q: Are there any CSS (styles) provided by as part of the supported Lightning Components?
A: No. When you build a custom component, you need to create your own CSS.

Q: But what if I use the same CSS classname, as used by the Salesforce1 components, to reuse CSS?
A: We don’t recommend that approach, as there is no guarantee those names or their values won’t change unexpectedly.

Q: When can those styles change? Is there a way I can keep them from changing?
A: While more likely to change in a major release, style names and values can change any time salesforce releases. The Lightning Component Framework provides a .THIS (generic) class name to help encapsulate your components from being affected by changes. The .THIS will automatically be replaced by a combination of the namespace and component name keeping your Component from being affected.

What is the difference between Aura and Lightning frameworks?


Leave a Comment

Your email address will not be published. Required fields are marked *

Select Language »