I presented to the the San Diego Salesforce Developer Group a couple of weeks ago during Lightning Developer Week using a deck supplied by Salesforce. The slide on Lightning Components (below) really didn’t resonate with me and got me thinking. When viewed in comparison to other frameworks, Salesforce Lightning reminds me of that Sesame Street song, “One to these Things is not like the other…”. While Salesforce Lightning is an entire component framework and platform for developing enterprise applications, most of the other component frameworks concern themselves mainly with the “view” portion of the application. Let’s see from a high level how they compare.
Polymer is a framework for building components and SPAs on top of Web Components technologies. Polymer components look very similar to Angular Directives and in the long run I’m not sure how Polymer and Angular are going to live together at Google? Apparently Angular will implement a lot of the same functionality in 2.0. Harshit Pandey has a number of great posts on how to build applications on Salesforce using Polymer. IMHO, Polymer is probably the closest in comparison to Lightning.
Brick is a collection of UI components designed for easy and quick building of web application UIs. Brick is not a framework. It is only concerned with building webapp interfaces using the Web Components standard.
Lighting components encapsulate functionality, markup and CSS into reusable, functional units that can be assembled into larger components or complete applications. Plus, with a simple appHostable tag you can expose your component in Salesforce1 and instantly become a mobile application!
The power of the component framework is in its ease of customization. Developers can combine multiple components into larger ones or even applications and build upon one another with Java-like inheritance. Simply include the extends tag and your component has all of the functionality of its super component.
In addition to creating entirely new applications, with the Lightning Extensions Pilot, you can write components that override standard Salesforce functionality. Soon you’ll no longer have to create a custom Visualforce Page simply to make a single field on the page layout act differently. Lightning Components will allow you to define your own functionality for parts of the standard Salesforce interface.
However, Salesforce isn’t resting on its laurels with Lightning. Currently in Pilot, the Lightning App Builder allows non-developers to drag and drop Lightning Components to assemble enterprise application. This enables both coders and non-coders to become enterprise application developers.
Processing close to 3 Billion transactions a day, Salesforce knows how to build enterprise applications. The Lightning Component framework is enterprise application development.