Salesforce1 Lightning is the fastest way to build enterprise apps. Introduced in October 2014, Lightning is the newest release of the Salesforce1 Platform.
Lightning is one monolithic app built on a component framework that can be leveraged to build enterprise apps very rapidly. The Salesforce1 mobile app was entirely rebuilt using Lightning components.
Some features of the Salesforce1 mobile app include:
- Responsive UI across devices
- Component-based apps
- Highly extensible and customizable
- Available everywhere (on smartphones, tablets, within a desktop client aka web browser)
Salesforce1 Lightning comprises of:
- Lightning Connect
- Lightning Process Builder
- Lightning Components
- Lightning App Builder
Lightning Connect
According to a research conducted by Salesforce, about 48% of CIO’s say that Integration (getting to the data, displaying the data, acting on the data they have) is their #1 challenge while building applications. Some integration challenges include:
- One-off file formats (sharing data within an org. in spreadsheets or flat file formats)
- Data replication and figuring out the single source of truth when data moves around the org
- Requires complex and costly software
- Expensive to build and maintain
Lightning Connect helps to overcome most of the above challenges. Lightning Connect features include:
- Fast Point and click integration
- Refer external data in real time within your Salesforce org. No more ETL required
- Open OData standards based vendor support
- Innovative in the Cloud: Connected data remote objects function like native Salesforce Objects
Sample screenshots
External Data Source within a Salesforce org
External Object within the external data source
Lightning Process Builder
Process builder allows us to make sense of integrated data within our Salesforce org by leveraging a point and click methodology which replaces the need to write custom apex code to build business logic.
Business users can visually create these flows and choose when the process will start etc. Process Builder features include:
- Powerful: Nest flows for more complicated yet easy to maintain processes
- Easy: Do more with clicks, not code
- Extensible: Every process instantly becomes a RESTful end-point
Process Builder complements Workflows and Visual Workflow for SFA (SalesForce Automation). Process Builder is built on the flow engine that powers Visual Workflow.
Sample screenshots
Process built to track late orders. The process is always based off an SObject (like an apex trigger) – in this example the process is built on an Account object
Set filter criteria (like you do in Workflow Rules). As soon as filter criteria are met, the process will execute.
Posting to Chatter is a new action within the Process Builder. In the example, as soon as an Account record is saved, the process will fire and update the Chatter Group (Order Handling) with a feed for a late order.
The nice thing about Process Builder is that it easily connects with other customizations that you build in your org.
Examples include:
- You can invoke an apex trigger or an apex class from the Process Builder
- You can invoke approval processes from the Process Builder
- You can invoke headless flows (trigger ready flows) from the Process Builder
- You can send email alerts, create a record, post to chatter, update records using the Process Builder
Lightning Components
The Component framework for Lightning is based on an open source framework called “Aura”. In other words, Lightning is a technology that runs on the Salesforce platform based on the Aura framework. Leading platform companies are investing in component frameworks, viz. Google’s Polymer, Facebook’s React, Twitter’s Flight, Mozilla’s Brick and Salesforce’s Lightning.
The Lightning Component Framework consists of three types of components:
- Standard Components – Built by Salesforce (viz. Left nav, Tasks, Publisher bar, Feed Items)
- Custom Components – Built by Developers (viz. Sliders, Multi-view charts, Pass/Fail)
- AppExchange Components – Built by Partners (viz. Custom charts, Data entry tools, Custom data layout, Dynamic apps)
Lightning Components handle user interactions by:
- Listening for events (viz. Data updated, Screen tapped etc.)
- Configuring attributes (Set color, Set object etc.)
- Firing events (Record saved, List scrolled, Color changed etc.)
Components are bundles of reusable resources – resources comprise of html definitions, css files, JavaScript helper files, controllers, event handlers etc. These bundles can be shared across projects or via component exchange. This reuse of components across the spectrum improves developer productivity. Finally, components are a mix of client side and server side code.
Lightning App Builder
With the Lightning App Builder, both developers and business users can build beautiful custom user interfaces for their Force.com applications that are designed to work perfectly across different form factors. Lightning App Builder enable you to:
- Visually create apps with drag-and-drop components
- Create powerful, responsive UIs for Salesforce1 Apps
- Use custom or off-the-shelf Lightning Components to build enterprise apps