Salesforce Opens Up Lightning Platform to World’s 7 Million+ Javascript Developers

In a move that will open its Platform to the more than 7 million worldwide JavaScript developers, Salesforce today announced its Lightning Web Components Framework; a technology that makes it possible for developers to use the Javascript programming language to customize browser-based web applications built on top of Salesforce’s core capabilities in the same way they might use Javascript to customize the browser side of any other web app.

Javascript is the only programming language that’s natively understood by all modern web browsers. Supporting both experienced developers and those with far less coding experience through the idea of “clicks or code”, Lightning is a part of the Salesforce development platform that the company's customers use to tailor their user experiences beyond what's found in the standard Salesforce User Interface. (Disclosure: MuleSoft was acquired by Salesforce earlier this year and MuleSoft is the parent company to ProgrammableWeb)

According to Salesforce vice president of developer relations Jacob Lehrbaum, the move is a gamechanger for Salesforce customers that want to take advantage of the growing pool of Javascript developers. Prior to the availability of Lightning Web Components, developers looking to create a User Experience (beyond what Lightning has to offer out of the box) had to create their client side web components in a language called Aura. Salesforce’s technology then managed the abstraction layer between Aura and the browser’s native Javascript programming environment. But now, with Lightning Web Components, those same components can not only be built directly in Javascript, they get a performance boost by eliminating the abstraction overhead associated with Aura. 

As a result, organizations can more easily tap into Javascript developers already among their ranks in order to customize new Salesforce experiences, or recruit from the growing worldwide Javascript talent pool.

Architecturally speaking, the way to think about this is that Salesforce's Lightning development environment comes preloaded with a Salesforce Javascript SDK that gives developers direct access to Salesforce functionality as well as any custom server-side business logic developed with Apex by the organization or by third parties (and made available to Salesforce customers through AppExchange). Apex is a Java-like programming language for developing server-side business logic that interacts with Salesforce’s core business capability.

The move is similar to the one pioneered by Twilio when the company announced Twilio functions; a Node.js (server-side Javascript) coding environment that’s pre-loaded with Twilio’s Javascript SDK. In Twilio’s case, developers that use Twilio Functions gain immediate access via Javascript to all of Twilio’s underlying capability. However, whereas Twilio Functions did not allow for Javascript “imports” of third party SDKs, libraries and other frameworks, Salesforce’s Lightning Web Components does. This flexibility is a major selling point to developers that prefer to use their favorite Javascript tooling when developing client-side apps.

According to Lehrbaum, the idea was to make developers as productive as possible. Further evidence to that point is how Lightning Web Components comes with all kinds of pre-built user interface accoutrement as well as stock cascading styles for use with CSS.

“We’ll also have a trail on Trailhead for how to build with this” said Lehrbaum. “The trail will include a sample app called Recipes that will consist of very granular code samples that show you how to do specific things like using events with data." Trailhead is an encyclopedic self-directed online teaching environment where Salesforce users can go to learn anything about the Salesforce platform as well as other relevant topics. For example, ProgrammableWeb is working on a introductory trail to APIs that will launch in January or February of 2019.

In the same way that Javascript is now an alternative to Aura for building client side logic, one other natural opportunity is for Salesforce to also make Javascript (Node.js) an alternative language to Apex for customizing server-side business logic. Presumably, given the company’s acquisition of Heroku in 2010, Node.js is already in Salesforce’s DNA (in addition to PHP, Python, Ruby, Go, and other languages) and could drive even more developer productivity within organizations. When asked though, Lehrbaum said that the company has nothing like that to announce at the time.

Lightning Web Components are available on a pre-release basis starting today and will move into general availability (GA) with the Spring 2019 Release of in February.  According to Salesforce, availability is subject to certain restrictions based on the edition of Salesforce that an organization is subscribed to. The Lightning Platform itself is available to all editions (Enterprise, Unlimited, Performance, Developer, Essentials and Professional) at no additional cost. However, the ability to develop Lightning Web Components and use them is only available to the Enterprise, Unlimited, Performance, and Developer Editions. But all editions can take advantage of Lightning Web Components that they procure through AppExchange from third party developers. 

Be sure to read the next Customer Relationship Management article: Daily API RoundUp: Space Launch Now, ETNA, AcousticBrainz, Trail Run Project