In the latest Spring ’19 release, Salesforce has introduced the new Lightning Web Components (LWC) which is a new programming model for building Lightning components. This will make life easy for JavaScript developers to code on the Lightning Platform as Lightning Web Components are custom HTML elements built using HTML and modern JavaScript. By using this with other low-code tools, organizations can develop & deliver high-performing web experiences. This new programming model can seamlessly work and interoperate with the original Aura programming model in order to offer the highest performance. In a nutshell, the new Lightning Web Components can take the Salesforce development and modern JavaScript development to a whole new level.
Why Lightning Web Components are the future?
JavaScript has been one of the core technologies which is being widely used. As per an IDC report, there are 7.04 million developers worldwide using JavaScript. By introducing LWC, Salesforce aimed to empower companies to optimize their existing technical skill sets rather than seeking other platform specialists. Any JavaScript developer can work on Lightning Platform without much hassle using skills they are familiar with such as standards-based component authoring format, compiler, and rendering engine. LWC is highly developer friendly.
- Lightning Web Components uses the modern web language and can use the most advanced JavaScript features like classes, modules, and imports. LWC was introduced for enhanced productivity.
- With LWC, most of the code is natively executed in the browser instead of JavaScript abstractions. This leads to a faster component performance and better user experience.
- As we already mentioned, LWC can work together with Aura Components. Once created, this can be leveraged by admins and other business users in a similar manner to build and customize apps with clicks, and not codes.
Why Salesforce introduced LWC?
The web stack today is shifting extremely fast. It is swiftly moving towards standardization. Salesforce’s core stack to build lightning components really needed an upgradation. The standardization of the new web core stack is highly intuitive and opens a door to new lightweight frameworks that leverage custom elements, templates, shadow DOM, decorators, modules, and other several other new language constructs available in ECMAScript 7 and beyond.
Their primary task is to offer a layer of specialized Salesforce services on the top of the core stack which is now ideal for intuitive app development. This includes;
Base Lightning Components, which is a set of over 70 UI components all built as custom elements.
Lightning Data Service, which offers declarative access to Salesforce data and metadata, data caching, and data synchronization.
User Interface API, the underlying service that makes Base Lightning Components and the Lightning Data Service metadata aware, leading to substantial productivity gains.
This also connects the Web Components programming model with the Salesforce metadata and services thus providing an unmatched level of performance and productivity.
And of course, the benefits that LWC’s offer are substantial.
- Common component model
- Common programming model
- Transferable skills and easier-to-find / easier-to-ramp-up developers
- Interoperable components
- Better performance because core features are implemented natively in web engines instead of in JavaScript in framework abstractions
Aura Components – Are they going Away?
You might be thinking what went wrong with Aura components? Is it going away? The answer is No, the original Aura component is not going anywhere. Aura components which are based on the Aura framework can work with the latest Lightning Web Components on the same page. Basically, developers now have two options to develop lightning components. First, using the traditional Aura components, and Second, using the new Lightning Web Components.
Though you can still continue creating lightning components using Aura components, over the time you can consider migrating to Lightning Web Components, starting with the components that would benefit the most from the performance benefits of Lightning Web Components.
Aura components and Lightning web components can coexist and interoperate, and they share the same high-level services:
- Aura components and Lightning web components can coexist on the same page
- Aura components can include Lightning web components
- Aura components and Lightning web components share the same base Lightning components. Base Lightning components were already implemented as Lightning web components.
- Aura components and Lightning web components share the same underlying services (Lightning Data Service, User Interface API, etc.).
Summary
By combining LWC with other Lightning Platform capabilities, that includes pro-code tools like Salesforce DX, low-code solutions like Lightning App Builder and Lightning Flow, and enterprise services like Salesforce Einstein and Salesforce Io, organizations can build high-end customer experiences, optimize CRM functionalities, create intuitive apps, and much more. The new Lightning Web Components needs expertise for an easy movement between environments. CEPTES, with the blend of Lightning Web Components and Salesforce metadata, can offer you an unprecedented level of productivity, performance, and support!
We are always excited to talk about new Salesforce tools and technologies. Please share your thoughts!
Source: Salesforce