Computer Programming

Salesforce Lightning – Updated

Updated version – post Dreamforce 15.

For the past month or two I really started to understand what Lightning actually is. Lightning is the new UI layer of the Salesforce platform. It is comprised of:

  • Lightning Experience 
  • Lightning App Builder
  • Lightning Components
  • Lightning App Exchange
  • Lightning Design Systems


The framework uses JavaScript on the client side, Apex on the server side and it uses JSON to exchange data between the two. Essentially you are writing handlers that respond to interface events as they occur. These can be component events and application events. You write the handlers in JavaScript controller actions.
The first thing I discovered was that the Lightning Desktop and SF on mobile are essentially going to become a unified UX.

Lightning Components

Lightning components give you a client-server framework that accelerates development, as well as app performance. Components are the self-contained and reusable units of an app rendered to produce HTML DOM elements within the browser. These components facilitate parallel design, improving overall development efficiency. They can contain other components, HTML, CSS, JavaScript, or any other Web-enabled code.

Components – Admins:

You now have drag-and-drop control to build out interfaces for your users. It’s as easy as going to the appexchange, looking for what type of component you need and installing it into your Salesforce instance. When you go to edit the page the component will be there along with the standard Salesforce components and and other components you have created or downloaded. If created with the Lightning Design System, the component will be responsive in that it will adjust its spacing/what data to be shown dependent on screen size or what device it is on.

Components – developers:

You are now have the choice to build page-centric apps with VF or app-centric event drive n apps with Lightning Components. When building components use the new Lightning Design System classes within the component to keep the UI consistent with the rest of the page. You can also choose to embedd Lightning Components within other component so that they only show when a condition is met. Lastly, you can build entire Lightning applications using multiple lightning components and lightning events. Each component has a handler which essentially is listening for events. These events can be application wide or at the component level. Essentially you are wiring a JS front end to an existing APEX controller. You have the public class and can then build a Lightning component that is built on top of the server-side logic. You embed multiple of these components into the same application.

App Builder- Admins:

Salesforce Lightning App Builder has been released on the platform, I am going to start building with these components in the developer console. Yesterday I started building the responsive UIs for apps.

This new component driven framework is analogous to different components to a car. There are only around 50 components on the app exchange right now but I can see it developing into an even larger market then the existing app exchange.


One of this could happen would be through a new montezation model built on micropayments. The components in the exchange could charge on a per use basis and charge a digital micropayment instead of a monthly subscription. Components could compete and charge different amounts in order to be added and used within a users Lightninng application. Ultimately the user could have multiple Lightning Apps doing the same process but based upon the use case, the user could choose which component to use. This type of micropayment model would drive innovation and create an ecosystem where developers can serve different customers based upon the effectiveness of the component. Maybe someone just needs to get A–>B for a quote in the morning but later on in the afternoon has a complex use case with some integrated approvals and needs to use the XComponent.


 Creating Components

A components encapsulates a modular and potentially reusable section of UI, and can range in granularity from a single line of text to an entire application.

To create a component, go to the Developer Console within Click create now Lightning Component.

There are a number of resources that come in a component bundle. These are:

  • The Component itself
  • CSS Styles – Styles for the component.
  • Controllers – The Client-side controller methods to handle events in the component.
  • Documentation – Description and sample code to example the component.
  • Renderer – Client-side renderer to override default rendering for a component.
  • Helper – JavaScript functions that can be called from any JavaScript code in a component’s bundle.

I had two sessions at Dreamforce describing how to build these components but the highlight of it all was to see our Apttus Lightning components featured in Marc and Parkers keynote. I really look forward to building out more of these components across the entire footprint. 

For more informations go to, go to trailhead and complete the modules or just run it locally using node.js / Heroku and start developing the future of the platform!

1 reply on “Salesforce Lightning – Updated”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s