Sergey Nivens - Fotolia

Building modern apps with Salesforce Lightning Experience

The Salesforce platform aims to promote app development that is fast, user-friendly and modern -- and that, ultimately, creates business-differentiating experiences for users.

Salesforce Lightning Experience, the framework underlying the Salesforce platform, aims to bring a modern app design ethic to development, making apps easy to build and engaging for users.

With an estimated 90,000 users of Salesforce Lightning, the application language behind the Salesforce platform, the goal is to create a development framework that requires fewer clicks, that builds applications with a mobile-first approach and creates apps that are engaging for users, without requiring a lot of code. The mantra of Lightning is modern app design for developers and admins, without requiring coding expertise.

Christophe Coenraets, principal developer evangelist, SalesforceChristophe Coenraets

"An app needs to look good and deliver a good user experience," said Christophe Coenraets, Salesforce's principal developer evangelist, at the "Modern App Development on the App Cloud" session at the Salesforce World Tour in Boston last week. "Very few people used to hear about user experience. Now, it's where all the focus is. All the other stuff is just assumed to work."

Salesforce developers gathered to learn about how to build applications using Salesforce Lightning Experience and the Lightning Design System. Coenraets walked the audience through several of the capabilities of Salesforce Lighting Experience -- from creating compelling graphical displays to programming applications to activate Internet of Things-connected devices. With Lightning, Salesforce admins and developers can build custom features into existing applications, as well as build applications on top of the platform. As an example, in January, Salesforce built the SteelBrick CPQ application on top of Sales Cloud. The apps can share data and enable a single, consistent user experience, rather than a fragmented one.

Building the modern app experience

Salesforce Lightning Experience enables developers and admins to build apps quickly using prebuilt templates and components that circumvent a good deal of the startup work required in building apps. By enlisting these prebuilt Lightning Components, developers needn't get mired in the minutiae of coding. Instead, they can focus on creating apps that are business differentiators.

Today, a lot of the focus in application development is put on engaging user experiences.
Christopher Coenraetsprincipal developer evangelist, Salesforce

"You can focus on what is unique about your app," Coenraets said. "Today, a lot of the focus in application development is put on engaging user experiences," he said.

In a demo, he walked developers through the process of building a real estate application. First, he created a basic real estate application, with real estate listings. The list view is built on a prebuilt template, with prebuilt styles. "Everything is done declaratively, with clicks, not code," he said. In turn, Lightning Experience is built on the Design System, which creates a consistency and set of best practices for how pages and items are built.

"It's also the user interactions," Coenraets said. So, Lightning Experience also dictates how actions take place and creates consistent experiences as you navigate between pages, for example. "Let's all agree on how to transition from one screen to another," Coenraets said as an example. "It's more than static components. It's also how these components act and move. This is what we use internally to build the Lightning Experience. So, you have access to the same style sheets."

Building a custom application: Real estate

Coenraets also used App Builder to compose new screens by enlisting pre-built components. Developers can also create custom components. In the session, Coenraets created a custom component with a map. The component is live, so it can be dragged and dropped, and will change items on the screen automatically, without refreshing the screen. If a broker wants to upload pictures of a property he visits, he can select multiple photos, and drag and drop them to relate them to a single home listing. These capabilities are enabled through the Custom Components feature of Lightning.

"You don't need to be a developer to use App Builder," Coenraets said. "You just compose screens. Developers can use it, too. But you can also write completely custom experiences."

You can also create a custom component, with a scroll bar that relates to search that can select a price range or a region. When you look at the page and the header, it looks consistent with other Lightning Design elements. "It looks native, because it is native," he said. "I used the same styles, the exact same CSS [programming language]."

Coenraets also talked about the encapsulated CSS to prevent defining a style that has unintended consequences on other styles. "It's fully encapsulated, so it will never go outside that component. It won't impact other things."

Building for flexibility and the future

The reality is that coding with Salesforce Lightning Experience will require user adjustment. But Salesforce is trying to build for various languages and to acknowledge that users may take time to transition from Visualforce -- another framework on which Salesforce is built -- to the newer Lightning. Coenraets also discussed the fact that Lightning may not suffice where apps need to handle spikes in load, as with some seasonally driven businesses, such as retail. In that case, he said, you may need to turn to Heroku -- another highly scalable platform as a service development framework.

According to Coenraets, moving between frameworks shouldn't create an undue burden for users. It should be more seamless. "We understand that sometimes you have apps that run somewhere else. But the user shouldn't be exposed to a big disconnect."

Coenraets also talked about the ability to build apps for the mobile phone and for new capabilities, such as the Internet of Things, or IoT. In a quick demo, he created code on the fly that enables a real estate agent to adjust the temperature of a home or the lighting using a mobile app. With just a couple of clicks on an iPhone, a broker can communicate with the IoT-enabled lights or thermostat.

"To build applications like this, you need a platform that is API-first," he said, referring to Salesforce's foundation on Lightning.

Next Steps

Salesforce Lightning upgrade released

Lightning upgrade may not benefit everyone

A Salesforce server switch guide

Dig Deeper on Salesforce CRM