Lightning Web Components(LWC) is a new programming model for building Lightning components and to make life of Developer Easy. Technology is advancing very quickly, So to cope up with the advances Salesforce has come up with a New Programming Model to provide unparalleled performance and to leverage browser capabilities.

Basically Javascript is a Language and consists of various frameworks. But today frameworks have grown so vast that the framework itself is considered as language. To avoid this and to bring a common standard, organisations have come together and provided a Common Web Component Standards. So every framework needs to abide by these Web Component Standards.

Now there are two different models to develop Lightning Components namely Aura Programming model and Lightning Web Components(LWC) Model.

LWC are Custom HTML Elements built using HTML and Javascript as per Web Component Standards.

LWC can interoperate with Aura Programming Model but Aura Programming Model cannot interoperate with LWC for a common reason that LWC are HTML Elements and on the other hand Aura Model goes through various overhead conversions and then rendered as HTML Components by the Platform.

Ultimately both the model would render output in HTML but since LWC are HTML Elements the overhead conversion time is saved which eventually leads to improved performance and better utilisation of browser capabilities.

LWC components consist of minimal code with better performance and Security. Most of the code consist of standard HTML and Javascript and other custom code consist  and represent Aura.

Since LWC it is built on code that is native to browser, it is lightweight.

Some of the limitations of LWC is it runs on almost all Web Browsers excluding a few of them which are not supported by Salesforce. The list of Supported browsers could be found on Salesforce Website.

As seen in the image above we can see how the Web Standards Stack have been improved.

So now whatever framework comes would need to be built on top of the Web Standards Stack. LWC adheres with the latest Web Standards thus improving the overall performance and Security and with most recent version of Web Standards.

Development of LWC needs to be done through setting up Development Environment in Visual Studio Code(As recommended by Salesforce). We would require 2 extensions to be dowloaded within Visual Studio which are Salesforce Extension and Lightning Web Components Extension.

Lightning Components can be build from Developer Console within the Salesforce Org. LWC may be developed within the Salesforce Org down the line. But salesforce is also promoting development using Salesforce DX which also make it doubtful whether development of LWC would be integrated within Salesforce Org.

Salesforce DX is again a type of IDE used for Development with various powerful features and which also provides CI/CD(Continuous Integration/Continuous Delivery/Deployment).

Salesforce Extensions can easily be downloaded in Visual Studio Code which makes it easier for Development and Collaboration Purpose. It also has GIT Integration within the IDE which helps in Version Control of Codebase.

To get some basic understanding about LWC there is a trail mix in Trailhead.

https://trailhead.salesforce.com/en/users/strailhead/trailmixes/lightning-web-components

Also Sample Gallery in Trailhead consist some basic examples of LWC.

https://trailhead.salesforce.com/sample-gallery

Lightning Component Reference can be found here

https://developer.salesforce.com/docs/component-library/overview/components