This is a high level summary of what is covered in the Lightning Framework section of the Complete Salesforce Programming Course to help you make an informed decision. The course includes a lot more than this.
- The video Introduces what Lightning Framework is and what is covered in this section.
Lightning is the collection of tools and technologies behind a significant upgrade to the Salesforce platform. Lightning includes a set of modern user interfaces optimized for speed. This includes the Lightning Experience, Salesforce1 Mobile app and template-based communities.
- Salesforce provides 2 free Accounts, one is lifetime free developer account and another is 30 days Trial of Production Account. This video covers how to sign up for the Lifetime Free Developer Account and not the 30 Days Trial. The Lifetime free Account can be created at
- This video explains how to create your own custom domain in Salesforce. For security purposes, Lightning components now require you to define a custom Salesforce domain name for your organization. https://<myDomain>.lightning.force.com.
- Once we sign up for custom domain, we need to test the domain as well. This video explains how lightning Framework is event driven and what is Aura Framework.
- Before the Domain can be used by everyone, it needs to be deployed. This Video explains how to deploy the Domain and how to use Developer Console to create Lightning Components.
- This Video Explains how you can use HTML and CSS to style your lightning Components and how to reference the Components in your main Lightning App. Within the developer console itself you can directly create a CSS file and automatically link to the Lightning Component.
- This video explains how you can upload an external stylesheet to static resource and reference that directly within your component.
- This video explains what attributes are. Component attributes are like member variables on a class in Apex. They are typed fields that are set on a specific instance of a component, and can be referenced from within the component’s markup using an expression syntax. Attributes enable you to make components more dynamic. Use the <aura:attribute> tag to add an attribute to the component or app.
- This video explains how you can define an Attribute in your Application instead of defining it in the Component and then referencing the Component in your Application.
- This video explains what Component Composition is. Composing fine-grained components in a larger component enables you to build more interesting components and applications.
Let’s see how we can fit components together. We will first create a few simple components: c:Lc and c:LC2. Then, we’ll create a wrapper component, c:wrappercomp, that contains the simple components.
- This video talks about If Else conditional Statements. Conditionally instantiates and renders either the body or the components in the else attribute.
aura:if evaluates the isTrue expression on the server and instantiates components in either its body or else attribute. Only one branch is created and rendered. Switching condition unrenders and destroys the current branch and generates the other.
- Value providers are a way to access data. Value providers encapsulate related values together, similar to how an object encapsulates properties and methods. The value providers for a component are v (view) and c (controller).
- Use out-of-the-box components for Salesforce1, Lightning Experience, or for your Lightning apps. These components belong to different namespaces, including:
Aura : Provides components that are part of the framework’s building blocks.
Force : Provides components for field- and record-specific implementations.
forceChatter : Provides components for the Chatter feed.
forceCommunity : Provides components for Communities.
Lightning : Provides components with Lightning Design System styling. In instances where there are matching ui and lightning namespace components, we recommend that you use the lightning namespace component. The lightning namespace components are optimized for common use cases.
ui : Provides an older implementation of user interface components that don’t match the look and feel of Lightning Experience and Salesforce1. Components in this namespace support multiple styling mechanism, and are usually more complex.
- The framework provides common user interface components in the ui All of these components extend either aura:component or a child component of aura:component. aura:component is an abstract component that provides a default rendering implementation. User interface components such as ui:input and ui:output provide easy handling of common user interface events like keyboard and mouse interactions. Each component can be styled and extended accordingly.
- This Video explains how we can dynamically update our ui Components by using events like keyup.
There are two types of events in the framework:
Component events are handled by the component itself or a component that instantiates or contains the component.
Application events are handled by all components that are listening to the event. These events are essentially a traditional publish-subscribe model.
- In this video we talk about creating a server-side controller in Apex and use the @AuraEnabled annotation to enable client and server-side access to the controller method.
Only methods that you have explicitly annotated with @AuraEnabled are exposed.
In addition to using the @AuraEnabled annotation, your Apex controller must follow these requirements.
Methods must be static and marked public or global. Non-static methods are not supported.
If a method returns an object, instance methods that retrieve the value of the object’s instance field must be public.
- In this video we talk about calling a server-side controller action from a client-side controller. In the client-side controller, you set a callback, which is called after the server-side action is completed. A server-side action can return any object containing serializable JSON data.
Let’s say that you want to trigger a server-call from a component. The following component contains a button that’s wired to a client-side controller handleClick action.
- In this video we see a hands on example of using Server Side Controller by pulling data from Opportunity object and displaying it on the user screen.
- This is a continuation of previous video. In this video we create a Client side controller to invoke Server side controller and pass the returned values to components.
- In this video we start building a Contact Management App on Lightning Framework. We also see how we can upload the bootstrap CSS file and upload it to static resource to reference in our Application. We also create the contactController Apex Class to be used as a server side controller. The Class is used to pull data from contact and return the list of Contacts.
- In this video we design our User Interface by making use of standard HTML and CSS classes provided in the Bootstrap Stylesheet.
- In this video we build our component which will be used to call the client side controller function and handle data.
- In this video we will be creating another method which will pull contact details based on the Id. A component is also created to handle the event (user input) , when user clicks on a contact.
- In this video we see how we can create a Client side controller to handle the functionality of binding the user event and then calling the new Apex Controller method which we created in earlier video. This will help us to implement the functionality that when a user clicks on any contact, its details are displayed separately.
- In this video we add the fields to our component to be displayed when use clicks on the contact. Whatever fields we have queried in the controller method can only be displayed on the screen.
This is just about the few videos on creating custom components and application using Lightning framework, there is lot more than this in the course. Click here for an 80% discount specially for our website visitors.