Book Image

Learning Salesforce Lightning Application Development

By : Mohit Shrivatsava
Book Image

Learning Salesforce Lightning Application Development

By: Mohit Shrivatsava

Overview of this book

Built on the Salesforce App Cloud, the new Salesforce Lightning Experience combines three major components: Lightning Design System, Lightning App Builder, and Lightning Components, to provide an enhanced user experience. This book will enable you to quickly create modern, enterprise apps with Lightning Component Framework. You will start by building simple Lightning Components and understanding the Lightning Components architecture. The chapters cover the basics of Lightning Component Framework semantics and syntax, the security features provided by Locker Service, and use of third-party libraries inside Lightning Components. The later chapters focus on debugging, performance tuning, testing using Lightning Testing Services, and how to publish Lightning Components on Salesforce AppExchange.
Table of Contents (22 chapters)
Title Page
PacktPub.com
Foreword
Contributors
Preface
Index

Lightning Data Service


If we have multiple custom components on a page with its own Apex controller, we can easily repeat SOQL queries.

 

Let's take a look at a scenario wherein multiple components have their own SOQL query, and there is no data sharing between components, as illustrated in the following diagram:

Lightning Data Service provides the following advantages: 

  • Introduces the sharing of data via a common cache implementation.
  • Avoids the need to write Apex, and also takes care of CRUD/FLS and DML security settings configured by the administrator.

The following diagram shows how the data flow is simplified with Lightning Data Service, with the ability to cache and share the data:

Loading Salesforce record context data using force:recordData 

The force:recordData component allows us to load the record from the Salesforce object, using recordIdrecordId on the standard record page can be obtained by implementing the force:hasRecordId interface, shown as follows:

<aura:component implements...