
In this Lecture We will set up and get ready for creating the Lightning Components
Note : You can skip this Lecture, if you already have a "Developer Edition".
visit : "developer.salesforce.com/signup" and subscribe a life-time free Developer Edition.
In this Lecture, we will understand enabling the Lightning Experience
In this Lecture, we will understand,
The very main objective of the Lightning Components is to develop Force.com Apps for "Lightning Experience" and "Salesforce1 Mobile".
When it comes to testing, we can easily test the "Lightning Experience" in our PC. But coming to the "Salesforce1", we actually need a mobile device with Salesforce1 App installed. As a developer, we need to test it in the mobile device. It consumes unnecessarily lot of time with the mobile device for "refreshing and testing", "refreshing and testing".
The other way is to install any of our favorite android EMULATORS on our PC, installing "Salesforce1 Mobile App" in the Emulator. Again it is "Time and Hardware Resource" consumption process, which can be an embarassing for a developer like me.
So, the best option I personally practice and strongly recommend is, installing "Salesforce1 Simulator" chrome app offered by kylpo.com, which is very developer friendly, easy and fast to launch, refresh and test, login and logout.
In this Lecture, we will learn how to install the "Saleforce1 Simulator Plugin" and also, we will learn
Note: Please install both of them and keep them ready. We will start using them after the development of the lightning components
In this lecture, we will learn to deploy the Custom Domain to the Users.
Go to Setup ==> Administer Setup ==> Domain Management ==> My Domain ==> Click on "Deploy to Users".
In this Lecture, we will see, to create our first Lightning Component.
I have also briefly explained about the INTERFACEs.
In the Dev Console ==> File ==> New ==> Lightning Component.
I have used the external image from my site:
http://www.salesforce-online-training.com/images/twinklestar.gif
You can download the source code from the downloadable files here.
In this Lecture, we will create the Lightning Application.
In Dev Console. File ==> New ==> Lightning Appliation.
I have used the image from my site:
http://www.salesforce-online-training.com/wp-content/uploads/2013/11/sales-force-online-favicon.jpg
You can also download the source code for this lecture from the downloadable resources.
In this Lecture, we will enhance the App and Component.
html in App and Component.
Component RE-usability.
In this Lecture, we will learn, what the attributes and the expressions are, the TYPES can be used,
Practical demo of the concept.
You can download the code resources in the last part.
Use the component <aura:attribute> to define the attributes.
The types can be primitive like string, integer, boolean, collections. And, at the advance level,"action".
use expression syntax {!expression} to access the attributes on the same component. You can 'SET' the attribute values on the instance of the component
Explore how attributes and expressions drive Salesforce Lightning components, setting default and instance values, using descriptor namespaces, and leveraging getter and setter in client-side JavaScript controllers.
In this Lecture, we will have a overview of the AUTO-WIRED resources in the Component Bundle.
In this Lecture, we will create a new component to work out on each Resource.
click on each RESOURCE in the right bar ie resource bundle to observe the names and extensions of the resources.
"STYLE" resource in the Component Bundle
In this Lecture, we will learn how to define the custom styles and customize the default styles.
In this Lecture, we will learn how to document our components. How to see the documentation of the components.
<aura:documentation> </aura:documentation> are the outer components.
You can provide description, examples of the components.
In this Lecture, we will learn to give custom icon resource for the component and observed the same in the Lightning App Builder (to understand how the Admins design and configure)
We have seen how we can give custom icon resource in SVG resource.
In this Lecture, we will understand how
we can reLABEL the component to be visible in Lightning App Builder or Community Builder.
In this Lecture, we will understand how
we can allow the Admins to configure the ATTRIBUTES at DESIGN time.
Use <design:attribute > component in the DESIGN resource to allow the "COMPONENT ATTRIBUTES" for Lightning App Builder.
CLIENT-SIDE CONTROLLER is the important resource in the Bundle. Whatever the events occured via events on the components with user interactions, to handle those events, we write the handlers/methods in this controller.
In this Lecture, we will understand the very important info about the controller.
In the demo,
we observe the flow from the Markup to the Controller to the Helper.
we observe how to pass the String Parameters to the Helper.
We have taken an example of calculating First Name and the Last Name by providing the static text.
In this Lecture, we will do a mini project.
On the VIEW, we will have 2 attributes to capture the user's first name and the last name.
1 more attribute for assigning the result.
On clicking the button, client-side controller function gets invoked and executes the logic.
we also observe, how to debug, to the little extent.
In this Lecture, we will enhance our project with
styles in STYLE resource
external CSS with Static Resources - Global Value Provider
In this Lecture, we will understand how to access the Zipped Resources from the Zipped Archive Static Resource.
I have demonstrated you 2 styles of using the Static Resources. You can follow iwhich is convenient for you.
You can download the resources that I have used in the demo, from, the downloadable resources.
In this Lecture, we will learn how to use the Custom Labels in the Salesforce Lightning Components.
In the demo, I have shown you how to create the custom labels in the salesforce org quickly for your ref.
You can create of your choice and use them using; $Label.<nameSpace>.<labelName>. For Example:
<ui:inputText label="$Resource.c.label_in_hebrew" value="{!v.first_name}" />
Learn to bind a first name variable to a lightning component label, manage placeholders, and dynamically add or remove classes via local IDs during submit and UI preview.
In this Lecture, we will understand how we do the composition of the components.
In this Lecture, we will understand the What are Nested Components and how to use them.
In this Lecture, we will observe how to use the nested components for the iteration.
THIS is the RIGHT tutorial for you if the below statements match you.
"I don't want TooOOO much of BORING theory and PPTs.
I want "TO-THE-POINT" explanation.
I want MORE hands-on." but, remember I do REPEAT and STRESS the important points as I want to dump directly to your brain easily.
*********************************************************************************************************************************************
What will I get in this Course?
Apart from the Salesforce Lightning Components Development Training, Each module is not only LECTUREd but also DEONSTRATEd with a easily understandable case study.
And, At the end of the Course:
you will be able to understand what the salesforce lightning components framework is.
you will be able to understand what a LIGHTNING COMPONENT is.
you will be able to distinguish between Lighnting App Component and Lightning Component Component.
you will be able to Create custom, reusable Lightning Components and Applications.
you will be able to understand the "Component Resource Bundle".
you will be able to distinguish between Controller Resource and Helper Resource
you will be able to use HTML, CSS in the Salesforce Lightning Components
you will be able to use “Static Resources” in the Salesforce Lightning Components
you will be able to understand composition and DE-COMPOSITION of the Salesforce Lightning Components
you will be able to create NESTED COMPONENTS.
you will be able to understand A--T--T--R--I--B--U—T--E--S
you will be able to understand the "VALUE PROVIDERS" -- view, controller, Label
you will be able to use the EXPRESSIONS in the Salesforce Lightning Components
you will be able to work with UI components and Events
you will be able to understand how to surface the components i.e. Adding components to the App, Lightning Experience, Salesforce1, VF Page etc
since the Lightning Components Framework is “EVENT-DRIVEN” Framework, you will very importantly understand how to handle the events with CLIENT-SIDE Controllers.
As we spend more time on the Events, you will properly understand what and when to use and how to handle APPLICATION Events and COMPONENT Events with LIVE demo and examples.
you will be able to handle the events with client-side controllers
you will be to use Apex in the Components, prepare server-side logic ie Apex Methods for Salesforce Lightning with "@AuraEnabled" annotation
you will be able to install and debug with "Salesforce Lightning Inspector Chrome Extension"
*********************************************************************************************************************************************
SPAs….. SPAs….. SPAs…..
SPAs….. SP Apps….. Single Page Apps……
Most of Web Apps & Mobile Apps are Single Page Apps. And, We have famous UI frameworks for building SPAs like AngularJS, KnockOut, BackBone, Mercury etc.
What about Salesforce? That is why we have the “LIGHTNING EXPERIENCE” UI in the salesforce. (The old UI which we have been using is “classic experience”.).
Then, What is this Lightning Component Framework?
The Lightning Component framework is a UI framework for developing dynamic web apps for mobile and desktop devices. It’s a modern framework for building single-page applications engineered for growth.
The framework supports partitioned multi-tier component development that bridges the client and server. It uses JavaScript on the client side and Apex on the server side.
When there are famous JS UI Frameworks such as AngularJS, KnockOut, BackBone, Mercury etc, Why should I choose “Lighnting Component Framework” ?
Because..
The benefits include an out-of-the-box set of components, event-driven architecture, and a framework optimized for performance.
Out-of-the-Box Component Set
Comes with an out-of-the-box set of components to kick start building apps. You don't have to spend your time optimizing your apps for different devices as the components take care of that for you.
Rich component ecosystem
Create business-ready components and make them available in Salesforce1, Lightning Experience, and Communities. Salesforce1 users access your components via the navigation menu. Customize Lightning Experience or Communities using drag-and-drop components on a Lightning Page in the Lightning App Builder or using Community Builder. Additional components are available for your org in the AppExchange. Similarly, you can publish your components and share them with other users.
Performance
Uses a stateful client and stateless server architecture that relies on JavaScript on the client side to manage UI component metadata and application data. The client calls the server only when absolutely necessary; for example to get more metadata or data. The server only sends data that is needed by the user to maximize efficiency. The framework uses JSON to exchange data between the server and the client. It intelligently utilizes your server, browser, devices, and network so you can focus on the logic and interactions of your apps.
Event-driven architecture
Uses an event-driven architecture for better decoupling between components. Any component can subscribe to an application event, or to a component event they can see.
Faster development
Empowers teams to work faster with out-of-the-box components that function seamlessly with desktop and mobile devices. Building an app with components facilitates parallel design, improving overall development efficiency.
Components are encapsulated and their internals stay private, while their public shape is visible to consumers of the component. This strong separation gives component authors freedom to change the internal implementation details and insulates component consumers from those changes.
Device-aware and cross browser compatibility
Apps use responsive design and provide an enjoyable user experience. The Lightning Component framework supports the latest in browser technology such as HTML5, CSS3, and touch events.