Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Learning Salesforce Lightning Application Development
Learning Salesforce Lightning Application Development

Learning Salesforce Lightning Application Development: Build and test Lightning Components for Salesforce Lightning Experience using Salesforce DX

eBook
€15.99 €23.99
Paperback
€29.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Learning Salesforce Lightning Application Development

Introduction to the Lightning Component Framework

Salesforce Classic, also known as Aloha, has been around for a few years. Reimagining the user experience was essential to making the Salesforce application modern, efficient, and more user-friendly. Lightning Experience provides Salesforce users with a much better user experience than Aloha. It's more flexible and easy to customize the UI and the entire UI has been re-imagined to make sales and support representatives more efficient and productive.

At the heart of Lightning Experience are unified design systems across various Salesforce offerings. The Lightning Design System used by Salesforce for all its product offerings is an open source CSS framework and a set of design patterns. The Lightning Component framework is a Salesforce UI framework that is based on the concept of web components and glues the client and server together. The framework is built on the open source Aura framework. The Lightning Component framework uses HTML, CSS, and JavaScript on the frontend and connects to Salesforce objects and business logic on the server via a strongly typed object-oriented language (similar to Java) known as Apex. Lightning Components are the building blocks that power the Lightning Experience application. A Lightning Application page consists of one or more Lightning Components, which are arranged by Salesforce system administrators to provide end users with a 360-degree view of their Salesforce application data and enable them to be more efficient by providing easy mechanisms to take necessary actions on data.

If you have a background in either the old-school Salesforce way of building applications (using Visualforce for the frontend and Apex for the backend) or you are new to development on the platform, this book aims to cover both the depth and breadth of the Lightning Component framework. The end goal is to make you a fearless Salesforce Lightning developer.

The aim of this chapter is to answer why and how important it is to be familiar with the Lightning Component framework and start learning how to build Lightning Components and Lightning Applications.

In this chapter, we will be covering the following topics: 

  • Lightning Experience 
  • Lightning Component framework architecture
  • Setting up a Salesforce developer organization to enable the building of Lightning Components
  • The Lightning Design system 

Lightning Experience

Lightning Experience is new Salesforce user interface. As a developer, to explore Lightning Experience, all you need is a free Salesforce developer instance. You can sign up for a developer instance at https://developer.Salesforce.com/signup.

If you already have one of these instances, you can switch to Lightning Experience. To see how to switch to Lightning Experience from Classic, please check out the following screenshot:

This shows how one can switch to Lightning Experience From Classic Salesforce
In some instances, one would need to enable Lightning Experience. Once Lightning Experience is enabled, you will notice the Switch To Lightning Experience link.

Lightning Experience, like Salesforce Classic, consists of applications (Apps), Tabs, List views, and Detail Record View pages. Additionally, beyond all these, the Lightning UI provides the following additions:

  • App Builder for Salesforce administrators to drag and drop Lightning Components 
  • Lightning Utility Bar (located at the footer)
  • The ability to create Kanban views 
  • The ability to calendar custom objects

Let's examine each of these views with some screenshots and further explore the various ways a Salesforce administrator can customize them with Lightning Components.

Custom Lightning Components can also be installed by administrators from the Salesforce application store, known as AppExchange. To explore the components available on Salesforce AppExchange, visit https://appexchange.Salesforce.com/components.

Lightning Application

The App Launcher allows you to switch between different Salesforce applications.

The following screenshot shows the App Launcher. All of the applications are represented by cards:

App Launcher helps to switch between apps

The setup  link for Lightning Experience takes you to the standard Setup page for Salesforce administrators to execute admin-related tasks. The following screenshot shows the Setup menu:

This shows how one can navigate to Setup Screen from the Setup Menu

Once in the Setup menu, find App Manager from the search box. A new Lightning app can be created using the New Lightning App button, and if the application is Classic, you can upgrade it to a Lightning Application.

Creating a Lightning Application

To create a Lightning Application, follow the steps from the App Launcher:

  1. Click on the New Lightning App button.
  2. Follow the prompt and enter the name of the application (note that the developer name gets auto-populated once you click on the Developer Name field), description, and configure App Branding:
  1. Choose between a console app and a standard app. 
  1. Optionally, select Utility Bar items. Utility bars are used to carry quick functionalities that need to be accessed quickly, such as taking notes during sales calls, or quickly finding contact details when a service representative is on a call with a customer.
  2. Select the Navigation tab:
  1. Select the profiles that the application will have access to:
The process of upgrading a classic application to Lightning involves the same steps as highlighted in this section. Classic apps in Salesforce do not appear in Lightning Experience unless you upgrade them.

Creating tabs in Lightning Experience

The creation of a Lightning tab can be achieved by searching for Tabs in the Setup menu. The navigation path for the creation of a tab is Setup | User Interface | Tabs.

The following screenshot shows the tab creation screen:

Screenshot shows Custom Tab Creation Screen In Setup Menu
The creation of Custom Object Tabs, Web Tabs, and Visualforce Tabs is very similar to in Salesforce Classic, and they appear as navigation based on the profile and application assigned.

Lightning Component Tabs

A custom Lightning Component can be assigned as a Lightning Component tab. The component must implement a force:appHostable interface for it to appear as a Lightning Component tab.

Lightning Page Tabs

Lightning page tabs are created from a Lightning page using the App Builder.

From the Setup menu, navigate to User Interface | Lightning App Builder. The screenshot that follows shortly shows the navigation path for finding the Lightning App Builder.

There are three different types of Lightning pages, explained in the following table:

Lightning Page Type Description
App Page  Used to create an app's navigation for Lightning Experience and Salesforce 1 
Home Page  Used to customize the Home Page of Lightning Experience
Record Page  Used to customize the Record Page of Lightning Experience

 

The following screenshot shows the selection options when choosing the type of Lightning page:

A Lightning page comprises multiple Lightning Components. You can use a combination of standard Lightning Components, custom-built Lightning Components, and components installed from Salesforce AppExchange.

There are also multiple options to choose the type of layout for a Lightning page. The following screenshot shows the various options:

Lightning App Builder

Lightning App Builder allows administrators to drag and drop various standard and custom components to create a Lightning page.

The following screenshot shows the Lightning App Builder screen that administrators use to create a Lightning page:

Screenshot shows the Lightning App Builder Screen

Once a Lightning page is saved, the activation screen provides options to configure the profile for the page.

On the Record Page, the assignment configuration can be understood with the help of the following screenshot:

Clearly, one overrides the other. ORG DEFAULT is the top level, followed by APP DEFAULT, and then by APP, RECORD TYPE, AND PROFILE.

Lightning Utility Bar

In a Lightning Application, you can add Lightning Components to the horizontal footer. This can be very useful for adding productive tools such as a simple calculator, reports, recent items, a Computer Telephony Interface (CTI) softphone, and any other quick access tools that your sales or support representatives might find useful.

To make a Lightning Components available as a utility, the component must implement the flexipage:availableForAllPageTypes interface.

We will explore all of the interfaces later, as we learn how to build Lightning Components.

The following screenshot shows how you can edit a Lightning Application from the App Manager and add a Utility Bar to a Lightning Application:

The horizontal footer is where Components added to the Utility Bars are displayed. You can control the height and width of utility components, and their ability to load in the background.

The following screenshot shows a utility Component added to a sales application:

List views in the Lightning UI

List views in Lightning Components are similar to those in Salesforce Classic, but with some additional capabilities, such as creating a Kanban view, using quick charts to display data in graph format, inline editing, adding filters, sorting, and the ability to take mass actions.

In List views, currently, there is no way to overwrite an object List view with a custom Lightning Components.

The following screenshot shows functionalities present on the List view that can help end users to visualize data and perform actions on it:

 Screenshot shows the All Opportunities List View 

Note that the New Edit and View buttons can also be overridden with a custom Lightning Component. To override these standard buttons and views, the navigation path is Setup | Object Manager | <select object> | Button, Links, and Actions. The following screenshot shows how you can override the New button (a similar screen appears for other overrides):

Screenshot shows how you can override New button on Account with a Custom Lightning Component 
To override New, Edit, or View, the Lightning Component must implement the Lightning:actionOverride interface.

The ability to calendar data in the Date and Datetime fields

Lightning Experience provides end users with the ability to calendar any object. The following screenshot shows how you can use the Calendar tab to calendar data across objects. The user can follow the prompts and select Field for Start and Field Name to Display to create a calendar:

Global Actions

Global Actions are available on all pages. The following screenshot shows Global Actions:

You can also create a new custom global action by using a custom Lightning Component. The navigation path from set up manager page is Setup | Global Actions.

The following screenshot shows how you can add a custom Global Action using a Lightning Component:

For custom Global Actions to appear, the Salesforce administrator needs to add the action to Publisher Layouts. The navigation path for Publisher Layouts is Setup | Global Actions | Publisher Layouts.

Publisher actions

Publisher actions are available in Salesforce 1 and Lightning Experience, and these are object-specific and available on the Object Detail Lightning page.

To create a publisher action, you can use the Object Manager tab from the Setup menu. The navigation path is Setup | Object Manager | <select object>| Buttons, Links, and Actions.

The following screenshot shows how you can create a publisher action for an Account object using a custom Lightning Component:

The Publisher Action also needs to be configured based on the page layout. This can be achieved via Object Manager. The following screenshot shows how you can configure a custom publisher action:

The Screenshot shows Page Layout Editor In Lightning Experience

Lightning Component architecture

Before we start building Lightning Components, let's understand the architectural differences between how Lightning Components and Salesforce Classic Visualforce work.

In a traditional Classic Salesforce UI, every time a user clicks a link, an HTML page is loaded from the server. Even for small interactions, the whole web page or tab needs to be reloaded.

Lightning Experience is based on the concept of a Single-Page Application (SPA). In SPAs, once the page is loaded, for any other subsequent request of data from the server, an Ajax callout is made and the page is re-rendered with new data. The aim is to avoid the whole page refreshing.

The following diagram helps to visualize the difference between a single-page architecture and a traditional web page rendering mechanism:

The concept of web components

With web components, you can do almost anything that can be done with HTML, CSS, and JavaScript, and they can be a portable component that can be re-used easily.

Lightning Components are based on this idea, where each individual component consists of one or multiple components that use Apex, JavaScript, HTML, and CSS on top of Salesforce metadata to build a completely functional unit that can work on multiple Salesforce instances and multiple pages.

To understand how web components work, let's consider the following image. This shows how a page can have multiple components. It's also important to note that, since each of the components can consist of data from a third party, and if components from different namespaces can scrap data, it can diminish data security. Hence, Salesforce has a security mechanism known as Locker service to prevent data from being accessed.

It locks the DOM of the component and, hence, the JavaScript code from the component cannot access data from other components:

A Lightning page can have multiple components. They can be as small as a button component or can consist of components from different namespaces and different vendors. A component is a reusable unit and can be reused in Lightning Experience and Salesforce 1. To make these components interact with each other, the framework provides events. We will explore Lightning events in later chapters.

Lightning Component Bundle

A Lightning Component bundle consists of four primary sections (there are also Renderer, Design, and SVG sections apart from these four, which we will cover in upcoming chapters):

  • Lightning Component Markup file (.cmp) file: This is an XML component definition and consists of HTML markup.
  • CSS file (.css): This consists of CSS for the component.
  • JavaScript helper and controller (.js): This consists of JavaScript code. The helper file is used to keep all the reusable code for the component. 
  • Apex controller (.cls): This is not a part of the bundle, but every component that uses Salesforce data uses a server-side controller to fetch and post data to the Salesforce servers.

In the last section of this chapter, we will create a Lightning Component using the Salesforce Developer Console. In Chapter 3, Working with Lightning Component Building Blocks, we will dig deeper into each of these files and explore how to build a functional component for Lightning Experience.

Lightning Component lifecycle

A basic understanding of the sequence of steps that takes place when a Lightning Component communicates with a client and a server will help a great deal before we dive deep into how to build a Lightning Component.

The following diagram shows how a Lightning Component works between the client and server:

The key things to note from the previous diagram are as follows:

  • A user action instantiates the component and an init event is raised
  • The JavaScript controller function calls the helper function to perform any server-side action
  • The Apex controller method is invoked from the helper function, the data is returned, and JavaScript callback functions are invoked
  • The JavaScript client-side logic can be written to manipulate the DOM, set attributes, and refresh the view

MVC concepts in the Lightning Component framework

The Lightning Components framework follows the Model, View, Controller (MVC) paradigm. The component file provides the view layer, the JS controller and helper files provide the controller part, and the controller interacts with the Salesforce server via Apex. Apex connects to the Salesforce database, which acts as the Model.

The following diagram illustrates how the Lightning Component framework is based on the MVC paradigm:

Though the Lightning Component framework adopts the MVC paradigm, it is a true component-based framework first.

Setting up a Salesforce developer organization to enable the building of Lightning Components

Before we start building Lightning Components, there are some things that need to be done to your developer organization.

If you have not signed up for a Developer organization yet, you can get one for free at https://developer.Salesforce.com/signup
  1. Enabling My domain is a necessary step, and if you have not enabled it, then it's not possible to test your Lightning Component. To enable My domain, the navigation path is Setup | Company Settings | My Domain. Register for a domain name, walk through the wizard, and make sure you deploy the new domain to all users. The following screenshot shows the navigation path and also the end result once My Domain is enabled:
The preceding screen is for deploying My Domain to users
  1. Disabling caching for development purposes is very important. Lightning Experience performs caching to improve performance, and this may interfere with the testing of Lightning Components because your code changes might not immediately reflect upon page reload.
  2. The navigation path to disable caching is Setup| Security | Session Settings. The following screenshot shows the checkbox that needs to be unchecked:
This is how you can disable persistent cache in salesforce environment for Lightning Component development Purpose
For production, these settings need to be enabled to improve performance.

Creating a simple hello world Lightning Component

The aim of the section is to demonstrate how to build a simple Lightning Component via the Salesforce Developer Console. We will also explore how to create a simple application to test our component.

The simplest way to create a Lightning Component is to use the Salesforce Developer Console. In later chapters, we will get familiar with source-driven development and the use of an Integrated Development Editor (IDE). For now, let's use the Salesforce Developer Console:

  1. Open the Salesforce Developer Console:
  1. Use the File menu to create a new Lightning Component:
  1. Name the component. Let's name it HelloWorld for now.
  2. Enter the following code in the component markup and save it (command + S):
<aura:component > 
HelloWorld
</aura:component>
  1. Let's test this on the browser. To test this, we will need to create a Lightning Application. Go to the File menu, as we did in step 2, to create a Lightning Application. Let's name the application HelloWorldApp, enter the following code, and save it (command + S). Notice we have used the HelloWorld component in the aura:application tag to reference the component.
<aura:application >
<c:HelloWorld/>
</aura:application>
  1. Click on Preview in the application and make sure the browser renders HelloWorld. The following screenshot shows the preview and the application:
  1. You will see that there was a unique URL generated as Salesforce_domain/c/HelloWorldApp.appNotice that c is the default namespace. For a managed package application, your organization may have a namespace and then the namespace is used in the URL generated instead of c. Also, note that Salesforce_domain is the domain name of your Salesforce instance. The following screenshot shows how the component markup is rendered on the browser:

The Lightning Design system

A real-world application involves UI widgets such as lists, tables, cards, modal, and many more. For its Lightning Experience UI, Salesforce uses a common design pattern, which is an open source project known as the Lightning Design System. You can read more about the Lightning Design System, and the patterns and components provided from the official documentation located at https://www.Lightningdesignsystem.com.

Lightning Components can use the styles provided by the Lightning Design System. Let's modify our HelloWorld component to display HelloWorld in a card format, using the card components provided by the Salesforce Lightning Design System (SLDS).

Creating a simple card component using SLDS 

Let's open the Helloworld application we have built so far again and modify it to include the SLDS:

  1. To open the existing Lightning Component, in Developer Console, use File | Open Lightning Resource, search for the HelloWorld component, and select Open Selected.
  2. Copy the code that is in the SLDS card component from SLDS (https://www.Lightningdesignsystem.com/components/cards/).
  3. Paste the markup as it is on the HelloWorld component file. You will get an error, as shown in the following screenshot:
Error when you try using SVG tags in component markup
  1. The error is because of the SVG tag (we will see how to use SVG tags in later chapters). Let's remove the highlighted portion for now to allow the save operation. The complete code for the component is as follows:
<aura:component >
<article class="slds-card">
<div class="slds-card__header slds-grid">
<header class="slds-media slds-media_center slds-has-flexi-truncate">
<div class="slds-media__figure">
</div>
<div class="slds-media__body">
<h2>
<a href="JavaScript:void(0);" class="slds-card__header-link slds-truncate" title="[object Object]">
<span class="slds-text-heading_small">Card Header</span>
</a>
</h2>
</div>
</header>
<div class="slds-no-flex">
<button class="slds-button slds-button_neutral">New</button>
</div>
</div>
<div class="slds-card__body slds-card__body_inner">Card Body (custom goes in here)</div>
<footer class="slds-card__footer">Card Footer</footer>
</article>
</aura:component>
  1. Also, to make sure SLDS is imported into the shell application for testing, we will need to extend the application to use the force:slds base component. Let's modify our HelloworldApp as follows:
<aura:application extends="force:slds">
<c:HelloWorld />
</aura:application>

  1. Let's preview the application and see the SLDS card in the browser. The following screenshot shows the results rendered on the browser:
If you drag these components into the Lightning App Builder, the SLDS will be automatically imported by Salesforce, but for the application created using <aura:application> use extends="force:slds".

The preceding is a simple demonstration of how to use the Salesforce SLDS in Lightning Component Framework. The Lightning Component framework is pretty powerful and provides many components and patterns. As a designer, you can build a complete application using the component set provided. Through this book, as we move ahead, we will use the SLDS extensively to build the UI for our components.

Summary

Now that we are familiar with Lightning Experience, the Lightning Component framework architecture, and the Lightning Design System, we are ready to dive deep and explore the Lightning Component framework further.

Let's also address the question of why we should invest time in learning this framework. The primary reason for learning this framework is that to customize Lightning Experience or Lightning pages, we will need to build custom Lightning Components. Also, as we will see later, the Lightning Component framework can be used to build Salesforce communities. It can also be used to build chatter extensions, Salesforce extensions for Outlook, and extensions in other Salesforce products.

In the next chapter, we will explore how to use Salesforce DX and an IDE to set up our development workflow for source-driven development.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Build and Test Lightning Components that enhance application usability and adaptability
  • Apply Security Best Practices to your Custom Lightning Components
  • Design Lightning Components for Salesforce UIs such as Lightning Pages, Salesforce 1 Application, Communities, and more.

Description

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.

Who is this book for?

This book is for Salesforce developers or developers from other platforms who are familiar with HTML, CSS, and JavaScript and want to build and test Salesforce Lightning components. No knowledge of Salesforce Lightning is required.

What you will learn

  • Understand Lightning Components architecture
  • Learn Locker security best practices
  • Debug and Improve performance of your Lightning Components
  • Use third-party libraries along with Lightning Component Framework
  • Learn how to publish Lightning Components on AppExchange
  • Use Lightning Out to take your Lightning Components outside the Salesforce platform
Estimated delivery fee Deliver to Romania

Premium delivery 7 - 10 business days

€25.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jul 31, 2018
Length: 458 pages
Edition : 1st
Language : English
ISBN-13 : 9781787124677
Vendor :
Salesforce
Category :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Romania

Premium delivery 7 - 10 business days

€25.95
(Includes tracking information)

Product Details

Publication date : Jul 31, 2018
Length: 458 pages
Edition : 1st
Language : English
ISBN-13 : 9781787124677
Vendor :
Salesforce
Category :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 116.97
Force.com Enterprise Architecture
€49.99
Apex Design Patterns
€36.99
Learning Salesforce Lightning Application Development
€29.99
Total 116.97 Stars icon
Banner background image

Table of Contents

16 Chapters
Introduction to the Lightning Component Framework Chevron down icon Chevron up icon
Exploring Salesforce DX Chevron down icon Chevron up icon
Lightning Component Building Blocks Chevron down icon Chevron up icon
The Lightning JavaScript API Chevron down icon Chevron up icon
Events in the Lightning Component Framework Chevron down icon Chevron up icon
Lightning Data Service and Base Components Chevron down icon Chevron up icon
Using External JavaScript Libraries in Lightning Components Chevron down icon Chevron up icon
Debugging Lightning Components Chevron down icon Chevron up icon
Performance Tuning Your Lightning Component Chevron down icon Chevron up icon
Taking Lightning Components out of Salesforce Using Lightning Out Chevron down icon Chevron up icon
Lightning Flows Chevron down icon Chevron up icon
Making Components Available for Salesforce Mobile and Communities Chevron down icon Chevron up icon
Lightning Navigation and Lightning Console APIs Chevron down icon Chevron up icon
Unit Testing Lightning Components Chevron down icon Chevron up icon
Publishing Lightning Components on AppExchange Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.1
(13 Ratings)
5 star 53.8%
4 star 23.1%
3 star 7.7%
2 star 7.7%
1 star 7.7%
Filter icon Filter
Top Reviews

Filter reviews by




Iuliia Bondarenko Apr 05, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Practical examples, goes from essential to advanced topics.
Amazon Verified review Amazon
Aygun Suleyman Aug 27, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I am a certified admin and, full disclosure, am a Salesforce employee. I came across Mohith's book and it is just what I needed to discover new references to build custom lightning components. I mostly use clicks to create basic applications on Salesforce, but as I find myself needing to create more and more custom capabilities, this book is definitely a great supplement for both Trailhead and Salesforce Developer Documentation.
Amazon Verified review Amazon
Christopher Hopper Oct 27, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
If you're a Salesforce Developer who needs to build custom Lightning solutions, this book should be one of your go-to's to get a better base understanding of the Lightning architecture. Lightning is complex (imo), but within this book, Mohith Shrivastava breaks down the framework in a consumable way and covers most of the concepts available to you as a Developer such as the building blocks to form a Lightning bundle, as well as capabilities such as Lightning Flows, Lightning Data Service, Locker Service, and Lightning Out. Additional development concepts are also covered such as Debugging, Performance Tuning, Unit Testing as well as utilizing the SalesforceDX CLI (Command Line Interface) while providing code examples from Github. Highly recommended.
Amazon Verified review Amazon
Murali Pamidi Aug 17, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I love Mohith's teaching style. He cuts thru the marketing clutter, and explains concepts from a developer's viewpoint. The book provides solid foundation for end to end Lightning Component development and packed with many not so explored Lightning topics like - External JS library integrations and WebPack, Lightning Out, Console API, AppExchange publishing etc.I highly recommend this book to every Salesforce Developer.
Amazon Verified review Amazon
XXX Oct 13, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is the quintessential guide on Lightning and is a must read for admins, developers and architects. It’s become the resource that I reach for daily when I need an answer.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact [email protected] with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at [email protected] using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on [email protected] with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on [email protected] within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on [email protected] who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on [email protected] within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela